Refactor the log system

Current log design is too complicated.
Replace it with existing multi-process(threading)-safe logger modules (Such as loguru)

For such cases, current log system will not give the right logging line


Add support for go packages

I am not a c# developer but would love to see Golang support for this tool. Based this PR off an earlier PR , #369, to add support for additional package types.
An example of a go package available from clearly defined is testify so I believe the URL structure being used is correct.

@gingermusketeer, our team had a brief chat about this PR today. Apparently we already have support for go, assuming that you're on version 1.11 or newer (see https://github.com/microsoft/component-detection/blob/main/docs/detectors/go.md). Can you comment a bit on this change relative to those docs? Thanks!


Unable to create nodes in an autoscaling cluster

Hi there! I'm trying to figure out how to put together a proper Spark config in an auto-scaling cluster.
I'm trying something very simple:
import ray
import raydp

ray.init(address='auto')

spark = raydp.init_spark(
    'word_count',
     num_executors=16,
     executor_cores=5,
     executor_memory='1G'
)

I'm running this with an autoscaling config that starts with a single m4.16xlarge node (64 cores, 160GB RAM) and can auto-scale a few more worker nodes. However, I'm seeing the following error from the autoscaler:
Demands:
 {'memory': 20.0, 'CPU': 5.0}: 4+ pending tasks/actors
2021-03-12 23:24:25,447 WARNING resource_demand_scheduler.py:642 -- The autoscaler could
not find a node type to satisfy the request: [{'CPU': 5.0, 'memory': 20.0}, {'CPU': 5.0, 'memory': 20.0},
{'CPU': 5.0, 'memory': 20.0}, {'CPU': 5.0, 'memory': 20.0}]. If this request is related to placement
groups the resource request will resolve itself, otherwise please specify a node type with the
 necessary resource https://docs.ray.io/en/master/cluster/autoscaling.html#multiple-node-type-autoscaling.
2021-03-12 23:24:25,559 INFO autoscaler.py:305 --
======== Autoscaler status: 2021-03-12 23:24:25.559754 ========
Node status
---------------------------------------------------------------
Healthy:
 1 ray-legacy-head-node-type
Pending:
 (no pending nodes)
Recent failures:
 (no failures)

Resources
---------------------------------------------------------------

Usage:
 60.0/64.0 CPU
 11.72/163.184 GiB memory
 0.00/50.977 GiB object_store_memory

Demands:
 {'memory': 20.0, 'CPU': 5.0}: 4+ pending tasks/actors

I guess I have 2 questions about this:

How does the requested amount of RAM translate into Ray demands? I asked for 1GB, but that seems to have translated to 20GB
Any idea why the autoscaler can't fulfill the request? I've successfully used autoscaling on this cluster with Ray Tune.

Thanks for all the awesome work!

Hi @vmagdin

How does the requested amount of RAM translate into Ray demands? I asked for 1GB, but that seems to have translated to 20GB

Here, the 20 means 20 memory units, the memory unit is 50 MB in ray.

Any idea why the autoscaler can't fulfill the request? I've successfully used autoscaling on this cluster with Ray Tune.

The reason is ray can not auto-detect the memory resources if you do not specify in the yaml file. I have submitted the patch to ray upstream(https://github.com/ray-project/ray/pull/14567). There are two ways to work around this:

Specified the min_workers to your expected one.
Specified the memory in the resource. It should be 70% of the total available memory for the worker node.

Ok, thanks for the explanation!
I went with the 2nd option and specified memory:
available_node_types:
    cpu_16:
        node_config:
          InstanceType: m4.4xlarge
        resources: {"memory": 10_000_000_000}
        min_workers: 0
        max_workers: 16

And it looks like Ray is able to add machines of this type. However, there seems to be an error that's preventing jobs from actually running:
java.lang.IllegalArgumentException: A resource value should be an integer if it is greater than 1.0. Specified resource: memory = 190.72.
        at io.ray.api.options.BaseTaskOptions.<init>(BaseTaskOptions.java:29)
        at io.ray.api.options.ActorCreationOptions.<init>(ActorCreationOptions.java:27)
        at io.ray.api.options.ActorCreationOptions.<init>(ActorCreationOptions.java:9)
        at io.ray.api.options.ActorCreationOptions$Builder.build(ActorCreationOptions.java:161)
        at io.ray.api.call.BaseActorCreator.buildOptions(BaseActorCreator.java:121)
        at io.ray.api.call.ActorCreator.remote(ActorCreator.java:41)
        at org.apache.spark.raydp.AppMasterJavaUtils.createExecutorActor(AppMasterJavaUtils.java:54)
        at org.apache.spark.deploy.raydp.RayAppMaster$RayAppMasterEndpoint.org$apache$spark$deploy$raydp$RayAppMaster$RayAppMasterEndpoint$$requestNewExecutor(RayAppMaster.scala:190)
        at org.apache.spark.deploy.raydp.RayAppMaster$RayAppMasterEndpoint.$anonfun$schedule$1(RayAppMaster.scala:177)
        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:158)
        at org.apache.spark.deploy.raydp.RayAppMaster$RayAppMasterEndpoint.org$apache$spark$deploy$raydp$RayAppMaster$RayAppMasterEndpoint$$schedule(RayAppMaster.scala:176)
        at org.apache.spark.deploy.raydp.RayAppMaster$RayAppMasterEndpoint$$anonfun$receive$1.applyOrElse(RayAppMaster.scala:104)
        at org.apache.spark.rpc.netty.Inbox.$anonfun$process$1(Inbox.scala:115)
        at org.apache.spark.rpc.netty.Inbox.safelyCall(Inbox.scala:213)
        at org.apache.spark.rpc.netty.Inbox.process(Inbox.scala:100)
        at org.apache.spark.rpc.netty.MessageLoop.org$apache$spark$rpc$netty$MessageLoop$$receiveLoop(MessageLoop.scala:75)
        at org.apache.spark.rpc.netty.MessageLoop$$anon$1.run(MessageLoop.scala:41)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

This error came from calling the following code:
import ray
import raydp
import logging

ray.init(address='auto')

spark = raydp.init_spark(
    'word_count',
     num_executors=5,
     executor_cores=3,
     executor_memory=10_000_000_000,
     configs=configs
)

Hi @vmagdin, I am sorry for my mistake. I have reverted the problematic pr. The latest raydp-nightly should be OK now.

No worries, I pulled the latest from master and built it. It fixed the error I was seeing in the logs. However, I'm still not able to scale things out beyond the head node.
My request for a certain kind of Spark cluster now triggers the autoscaler. For example, the following config
spark = raydp.init_spark(
    'word_count',
     num_executors=16,
     executor_cores=5,
     executor_memory='5G'
)

Results in the following cluster state:
Node status
---------------------------------------------------------------
Healthy:
 1 cpu_64
 10 cpu_16  <---- 10 machines got autoscaled for the request
Pending:
 (no pending nodes)
Recent failures:
 (no failures)

Resources
---------------------------------------------------------------

Usage:
 80.0/224.0 CPU
 79.69/258.203 GiB memory
 0.00/180.078 GiB object_store_memory

Demands:
 (no resource demands)

However, in none of my Spark jobs do I ever see the num cores go above 64, which is how many are present in the head node of my Ray cluster. In all runs (of varying difficulty), I never see more than 12 executors and 60 cores. Meanwhile I requested 16 executors, but adding those extra 4 would result in the workload spilling over to other machines in the cluster (which are actually available as you can see in the output).
From the Spark UI:

From the spark-monitor output:

Any suggestions for how to trouble-shoot this?

Hi @vmagdin,

However, in none of my Spark jobs do I ever see the num cores go above 64, which is how many are present in the head node of my Ray cluster. In all runs (of varying difficulty), I never see more than 12 executors and 60 cores. Meanwhile I requested 16 executors, but adding those extra 4 would result in the workload spilling over to other machines in the cluster (which are actually available as you can see in the output).

Do you mean all executors are running on the head node when the num_executor is smaller than 12? And ray requests an extra node when the num_executor is 16?
It does not trigger auto-scaling when the head node resources could satisfy the request, eg: 12 * 5 < 64. So all the executors will run on the head node. It needs to start up a new node when the remaining resources can not satisfy the request. Here we have started up 12 executors and occupied 60 cores, the head node only has 4 cores remaining which can not satisfy the one executor request(5 cores, 5 GB memory). So the auto scaler will start up a new node from the available node types.

Do you mean all executors are running on the head node when the num_executor is smaller than 12? And ray requests an extra node when the num_executor is 16?

It seems to be the opposite. All the executors seem to be running on the head node even when num_executors > 12. In my example above, the following is happening:

I request 16 executors * 5 cores =80 CPUs
My head node has 64 cores, so the autoscaler spins up additional nodes
The correct CPU usage (80 cores) seems to be reflected in ray status -- 80.0/224.0 CPU
However, according to Spark UI, there are only 12 executors / 60 cores (which is the max that would fit on the head node).

OK, it seems like the ray spark actor has started up while the spark executor is not registered with the spark driver. Are there any logs that show the timeout exceptions?
What happens when you set the min_worker to 1 in this case?

I realized I was doing something silly .. I wasn't installing RayDP on worker nodes :)
I'm now seeing executors on worker nodes.


[cli] Upgrade to NativeWind v4

Mark recently released NativeWind v4, we should upgrade existing templates to use this version. v4 has a new way of configuring NativeWind so that will likely be the bulk of the work. I believe that the styles are still passed in the same way.
https://www.nativewind.dev/v4/overview

Would really be interested in this!

Any interest in implementing it? I can't imagine it would be difficult.

Any interest in implementing it? I can't imagine it would be difficult.

I will be happy to test it out but not in the position to implement it for the foreseeable future. Having my eye on this issue!

https://github.com/marklawlor/nativewind/issues/600

This is pending the next release of nativewind v4, per Mark Lawlor

Installation for Expo but not Expo Router: https://www.nativewind.dev/v4/getting-started/react-native
Installation for Expo Router: https://www.nativewind.dev/v4/getting-started/expo-router
I will be adding this as Nativewind v4 (experimental) in addition ot the standard Nativewind

Closing as this was just merged in via https://github.com/danstepanov/create-expo-stack/pull/193


Get-Help about_ActiveDirectory_ObjectModel is not useful advice

the output is
PS C:\depot\aws_prep1\buildsystem\atlasprda> Get-Help about_ActiveDirectory_ObjectModel
Name                              Category  Module                    Synopsis

Get-ADAuthenticationPolicy        Cmdlet    ActiveDirectory           Gets one or more Active Directory Domain Services authentication policies.
Get-ADAuthenticationPolicySilo    Cmdlet    ActiveDirectory           Gets one or more Active Directory Domain Services authentication policy silos.
Get-ADCentralAccessPolicy         Cmdlet    ActiveDirectory           Retrieves central access policies from Active Directory.
Get-ADCentralAccessRule           Cmdlet    ActiveDirectory           Retrieves central access rules from Active Directory.
Get-ADClaimTransformPolicy        Cmdlet    ActiveDirectory           Returns one or more Active Directory claim transform objects based on a specified filter.
Get-ADClaimType                   Cmdlet    ActiveDirectory           Returns a claim type from Active Directory.
Get-ADComputer                    Cmdlet    ActiveDirectory           Gets one or more Active Directory computers.
Get-ADDomainController            Cmdlet    ActiveDirectory           Gets one or more Active Directory domain controllers based on discoverable services criteria, search parameters or by providing a domain controller...
Get-ADFineGrainedPasswordPolicy   Cmdlet    ActiveDirectory           Gets one or more Active Directory fine grained password policies.
Get-ADGroup                       Cmdlet    ActiveDirectory           Gets one or more Active Directory groups.
Get-ADObject                      Cmdlet    ActiveDirectory           Gets one or more Active Directory objects.
Get-ADOptionalFeature             Cmdlet    ActiveDirectory           Gets one or more Active Directory optional features.
Get-ADOrganizationalUnit          Cmdlet    ActiveDirectory           Gets one or more Active Directory organizational units.
Get-ADReplicationConnection       Cmdlet    ActiveDirectory           Returns a specific Active Directory replication connection or a set of AD replication connection objects based on a specified filter.
Get-ADReplicationSite             Cmdlet    ActiveDirectory           Returns a specific Active Directory replication site or a set of replication site objects based on a specified filter.
Get-ADReplicationSiteLink         Cmdlet    ActiveDirectory           Returns a specific Active Directory site link or a set of site links based on a specified filter.
Get-ADReplicationSiteLinkBridge   Cmdlet    ActiveDirectory           Returns a specific Active Directory site link bridge or a set of site link bridge objects based on a specified filter.
Get-ADReplicationSubnet           Cmdlet    ActiveDirectory           Returns a specific Active Directory subnet or a set of AD subnets based on a specified filter.
Get-ADResourceProperty            Cmdlet    ActiveDirectory           Gets one or more resource properties.
Get-ADResourcePropertyList        Cmdlet    ActiveDirectory           Retrieves resource property lists from Active Directory.
Get-ADResourcePropertyValueType   Cmdlet    ActiveDirectory           Retrieves a resource property value type from Active Directory.
Get-ADServiceAccount              Cmdlet    ActiveDirectory           Gets one or more Active Directory managed service accounts or group managed service accounts.
Get-ADTrust                       Cmdlet    ActiveDirectory           Returns all trusted domain objects in the directory.
Get-ADUser                        Cmdlet    ActiveDirectory           Gets one or more Active Directory users.
it doesn't tell anything about how to use -Filter

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bb74884d-b4e3-3b14-8dcf-b5ab76654fcb
Version Independent ID: cffb3241-9c76-0e74-a661-27e414120b3c
Content: Get-ADObject (addsadministration)
Content Source: docset/windows/addsadministration/Get-ADObject.md
Product: w10
Technology: powershell-windows
GitHub Login: @andreabarr
Microsoft Alias: v-anbarr

This is a known issue with the updatable help pipeline that affects the Get-Help and Update-Help commands.
There are ongoing efforts to rework the publishing engine. Once matured, failures to update modules are also going to be addressed. Internal sources inform us, the independent collaborators that it is going to take a lot of work.
There have been multiple reports of the help commands not working so please refer to issue #2247 for tracking the progress of this situation.
Thank you.

This is a known issue with the updatable help pipeline that affects the Get-Help and Update-Help commands.
There are ongoing efforts to rework the publishing engine. Once matured, failures to update modules are also going to be addressed. Internal sources inform us, the independent collaborators that it is going to take a lot of work.
There have been multiple reports of the help commands not working so please refer to issue #2247 for tracking the progress of this situation.
Thank you.


README: Fix typo (missing space) on Rails.application.config.dartsass.build_options

In the README.md:
Rails.application.config.dartsass.build_options << "--no-charset" << "--quiet-deps"
Produces with a fresh app:
02:56:29 css.1  | Could not find an option named "no-source-map--no-charset--quiet-deps".
02:56:29 css.1  |
02:56:29 css.1  | Usage: sass <input.scss> [output.css]
02:56:29 css.1  |        sass <input.scss>:<output.css> <input/>:<output/> <dir/>

By default Rails.application.config.dartsass.build_options is:
--style=compressed --no-source-map
We have to add space before the first of each dashes.
Rails.application.config.dartsass.build_options << " --no-charset" << " --quiet-deps"

This README change was due to a yet to be release change on main branch which changed the default from a string "--style=compressed --no-source-map" to an array ["--style=compressed", "--no-source-map"].


Auto-positioning the drop within the bounds of another element

Any chance to include auto positioning (as described in #16) as an option?
I'm looking to improve our selection menu library to always keep the menu within the parent container. This doesn't seem possible if one of the 12 positions must be specified. On the other hand, with position: 'bottom left', the drop-theme-arrows theme somehow switches the position of the arrow between bottom-left and top-left.
How does it do that, and how would one make it switch to other positions, so that the menu stays within the bounds of the target's parent? (the target here is an invisible span created after the selection range)

Any chance to include auto positioning (as described in #16) as an option?

Absolutely, once the PR author updates the PR or gives us the okay to update it for him and have it merged.

How does it do that, and how would one make it switch to other positions, so that the menu stays within the bounds of the target's parent?

I would take a look at the constraints options in tether for the various options that are currently supported. Drop does have a constrainToWindow and constrainToScrollParent options, but you can use tetherOptions to get more granular in the constrains you want. Once the above mentioned PR is merged, we'll be able to incrementally constrain the tether elements as well so it does just flip completely from top/bottom or left/right.

@geekjuice: Does @markalfred's final patch to Tether that enables this auto-positioning consist only of these changes? Maybe that's simple enough to integrate in the new, non-Coffee-based Tether?

Any update on this? Auto-positioning would be great.

Wasn't the whole point of tether/drop that it stops dropdowns/toolips from going out of view? Just trying this library for the first time and am amazed that everythings going off the side of the screen. Maybe I've misunderstood the purpose of these libs?

@josephrocca By default, Tether just keeps the tethered element attached to its target, which means it is allowed to go out of view. To keep things from leaving boundaries, you need to add constraints. See http://tether.io/#constraints

Ah okay, thanks. But we are still waiting for the ability to keep the Drops within the bounds of the window (horisontally-speaking), right? I was unable to get it to do that and it seems like other people are having the same problem. Cheers


feat: Z-Score Calculator added

Issue Id you have worked upon -
#423
Briefly explain your program logic -
Z-Score is the normal score, for a given deviation in the data it is a formula based calculator.
Screenshots(Attach 2 screenshots of your own input and output) -

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

Congratulations 🎉 @real-varshney on your contribution.
Thanks for adding value to this repository. 😊
Let's celebrate this fest 😃 by providing more developers 👨💻👩💻 an opportunity to contribute. Help us make this repository reach far and more by sharing this to your friends and colleagues.
Your efforts can make difference.

Hey 👋, may you also encourage us by clicking the star icon on the repository main page. ⭐

Thank you @SarthakKeshari.


How can i add text in game over screen ?

Describe your problem here.
This is screenshots for the example i want (from QT mod).
First - Pressing the Reset Button

Second - Dying by a sawblade.

How can add death text like in the QT mod please ? i want to add it in Psych Engine 0.7.3 !
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No. i search how to recreate this script in the QT mod.

alright, i don't think shadow can help you there (someone else might because i don't know either)


feat: Update Settings Menu

Summary

Implemented a new settings menu using the Drawer component
ButtonGroup replaces the previous implementation which used the RadioGroup component

Test Plan

Mobile and Desktop Responsiveness
The underlying functions haven't changed, but check that the buttons do work as intended

Issues
Closes #805

Looks awesome, I love it.
While you're at it, can you move the settings out to a Zustand store? We want to be removing, not adding things to AppStore.
Also, if you're in the mood, you could make the settings persist with localstorage.

Will do :), ✨ Zustand ✨.Also, I believe the settings are stored in localstorage already!

Actually no, PR isn't done yet 🫠; i forgot to add in indicators for which setting is selected 😭

I think it would also be worth considering moving the Schedule Conflict feature into the Settings Menu. Because of how apparent it makes itself, it feels like a feature users could choose to enable / disable; Thoughts?
To be implemented in another PR*


Type generation and data access problems if you have two relation fields with the same name on two types

I have been playing around with Prisma2, and I noticed that when I have two types that have fields (specifically, relation fields) with the same name, the code generation breaks, and the data fetching errors during runtime. I have shown an example of this below:
model User {
    id String @default(uuid()) @id
    messages Message[]
}

model Chat {
    id String @default(uuid()) @id
    messages Message[]
    user User
}

model Message {
    id String @default(uuid()) @id
    chat Chat
    user User
}

Once we generate the client and use the following code, we get an error:
photon.chats.create({
    data: {
        user: {connect: {id: "test"}},
        messages: {create: [{user: {connect: {id: "test"}}}]},
    },
})

This is because the type of data.messages.create is MessageCreateWithoutUserInput | MessageCreateWithoutUserInput[] | null | undefined, but in reality it should be MessageCreateWithoutChatInput | ....
This is not just a code generation issue though. Even if I ignore the TypeScript errors, the query fails in runtime.
Note that for the time being, changing the name of the messages field to something else so that User.messages and Chat.messages would have unique names, e.g. changing User.messages to User.userMessages, is a workaround that works.

Closing due to inactivity


[security] Support a list of SSL ECs

Addresses #23235

This PR LGTM, but can we add e2e tests to confirm there are no gotchas or other changes needed for these curves?
I'm thinking we can add a couple of tests to test/cpp/end2end/ssl_credentials_test.cc. WDYT?

I had to create the end2end test in core. Because that's the only way we can currently force TLSv1.2 in SSL credential options. The test was following the h2_ssl_session_reuse_test but I removed the session cache.


Support moving elements around

We are experimenting with basic PDF editing features.
This issue tracks implementing support for moving around elements that were drawn or text that was written by the user.

This was done directly as part of #14976 and #14989.


Random SSL Error in Token v2

Using the v2 of the token, after instantiating the object using that token, it randomly displays the following error:
ERROR:
connection to server at "db.bit.io" (<IP_ADDRESS>), port 5432 failed: FATAL:  Unexpected Error
connection to server at "db.bit.io" (<IP_ADDRESS>), port 5432 failed: FATAL:  Must use SSL
DETAIL:  https://docs.bit.io/docs/connecting-via-ssl
HINT:  Add ?sslmode=require to your connection string
Is it a bit.io or python-bitdotio error? Can it be fixed?

Hi there, thanks for posting this issue and sorry to hear the connection isn't working for you. Unfortunately, I have been unable to reproduce this on my end but can look into this further if you are able to answer a few questions:

Are you still experiencing this issue when trying to connect?
Are you able to provide an example of the code you are using to make the connection (of course, with any credentials redacted)? We're also happy to investigate with you individually if you'd prefer to reach out at<EMAIL_ADDRESS>
In addition, python-bitdotio uses psycopg2 which connects with sslmode="prefer" by default, while bit.io now requires SSL. That is causing the confusing SSL error message — psycopg2 attempted to connect with SSL and failed due to a TBD Unexpected Error, which with sslmode="prefer" causes psycopg2 to retry the connection without SSL which then gets rejected, causing the trailing SSL error message. I'll get the sslmode updated to "require" so that the noisy SSL error messages go away.

Hi!
The indicated connection error appears randomly using the bit.io v2 token.
Maybe it's because you get an internal connection error over ssl and try without ssl.
The connection is made as follows, closing the connection when the instance ends.
self.connection_remote = bitdotio(self.cnx_remote).get_connection(self.SCHEMA)
self.cursor_remote = self.connection_remote.cursor(cursor_factory = RealDictCursor)

I will be happy to update the version as soon as they force sslmode to "required".
Keep me informed, thank you!

Thanks for the quick follow-up and connection example — I've bumped the package to v 2.0.0b with the sslmode = "required" change. As we both mention above, I don't think if will resolve the root connection issue you are experiencing, but it will remove the distracting SSL error messages.
I will also try out your connection pattern and update you with what I find.

I'm sorry for the delay in follow-up on the connection pattern. I just tested out the latest release of bitdotio using the RealDictCursor and was unable to reproduce the UnexpectedError.
One thing to double-check - is self.SCHEMA Database name shown when you retrieve credentials from bit.io? You likely have already seen that, but just in case, it has to have the form <username>/<db_name>.
We've made a number of updates to the package in the last week, but if you are still encountering this issue please reach out at<EMAIL_ADDRESS>where we can provide more individualized troubleshooting!

Closing this issue as stale, feel free to reopen @nekozgz if you're still having issues.

Closing this issue as stale. Feel free to comment and I'll reopen if you're still having an issue @nekozgz


fix: Install pip and pip-tools in upgrade script

Updated the upgrade target script to check the compatibility of upgraded pip and pip-tools versions. For reference, look at this https://github.com/openedx/edx-repo-health/pull/271 for new check added in edx-repo-health.

Hello! Can you check the failing tests? they might be related to the libraries update for docs.in

Usama Sadiq will carry this forward

I think I made this work by:
[testenv:docs]
setenv =
    PYTHONPATH = {toxinidir}
    SPHINXOPTS = -W
whitelist_externals =
    make
    rm
    twine
deps =
    -r{toxinidir}/requirements/doc.txt
commands =
    doc8 --ignore-path docs/_build README.rst docs
    rm -f docs/openedx_events.rst
    rm -f docs/modules.rst
    # -e allows for overriding setting from the environment so that SPHINXOPTS gets picked up.
    make -e -C docs clean
    make -e -C docs html
    python setup.py sdist bdist_wheel
    twine check --strict dist/*

Also adding twine to requirements/docs.in
I used this repo as reference

Hello there @UsamaSadiq! We're eager to push this PR forward with the changes suggested. Is there something we can do? Let me know!

Sure @mariajgrimaldi , I'll finalise the PR with suggested changes within next week and will let you know.

Hello there! I merged some changes that may fix your CI issue, so you might not need more changes.

@mariajgrimaldi I don't have access to update this PR and Jawayria has changed her team so I've created a new PR with all the suggested changes.
Please close this PR and review the above mentioned PR.

Got it! @UsamaSadiq, thanks for continuing this!


Remove dependencies on ContainerInfo

This is step one in moving to native pods. This attempts to centralize all of the dependencies on ContainerInfo in one place.  Note that this has the nice side effect that we fail early on invalid input: when constructing the container object, rather than in various places around the executor.
There's likely further refactoring that could be done here (eg: the abstraction is still somewhat leaky), but that can be taken on in step two.

@sargun - I made Container an interface, then implemented against that interface.  I'd appreciate it if you could take another look, since this is a pretty big change.

@rgulewich :+1:
Github added a re-review feature btw


Hide totals

Hide amounts when sending money face-2-face

Default is unlocked
Enable/Disable in any time in screen that shows balance (Main and Send) AND transaction according to the following logic
Hide all sent
The transaction that sent after the lock action, will be presented (only send)
Receiver - open question for @sasha-abramovich , for a while present all

Screens are here
zpl.io/VqWLnGl
zpl.io/bPxdmKL
zpl.io/2vOlWvr
zpl.io/am5eWz6
zpl.io/bLdOdZ6

What was decided about Receiver, we don't hide anything? @alexandrashelenkova

Decided not to hide transaction history at all, only balance

Decided with Sasha that secret mode won't affect utxo screen by now, links on screens are above

@alexandrashelenkova  this information isn't about the user's balance?

And this information isn't about the user's transaction history?

@Denis-Asipenko yes :)

checked


Update dependencies

Current dependencies on/for this PR:

main

PR #135   👈

This stack of pull requests is managed by Graphite.


After the latest release 0.25.0 we started observing failures with our pipeline.

2024-10-07T15:40:49Z	INFO	Secret scanning is enabled 2024-10-07T15:40:49Z	INFO	If your scanning is slow, please try '--scanners vuln' to disable secret scanning 2024-10-07T15:40:49Z	INFO	Please see also https://aquasecurity.github.io/trivy/v0.53/docs/scanner/secret#recommendation for faster secret detection 2024-10-07T15:40:53Z	INFO	Java DB Repository	repository=ghcr.io/aquasecurity/trivy-java-db:1 2024-10-07T15:40:53Z	INFO	Downloading the Java DB... 2024-10-07T15:40:55Z	FATAL	Fatal error	image scan error: scan error: scan failed: failed analysis: analyze error: pipeline error: failed to analyze layer (sha256:cca8ee1ed24984423ae68f68c[33](https://github.com/pvtrlabs/docker-image-pipeline/actions/runs/11219042869/job/31184118016#step:11:34)581fa2495d85e10ac3e57719e9092f56715ae): post analysis error: post analysis error: Unable to initialize the Java DB: Java DB update failed: DB download error: OCI repository error: 1 error occurred: 	* GET https://ghcr.io/v2/aquasecurity/trivy-java-db/manifests/1: TOOMANYREQUESTS: retry-after: 702.947µs, allowed: 44000/minute
Running trivy with options: trivy image  --format table --exit-code  0 --ignore-unfixed --vuln-type  os,library --severity  HIGH,CRITICAL --output  tofinalize/pvt-connect-ctower-app-vulnerabilities.txt  ***.dkr.ecr.us-east-2.amazonaws.com/pvt-connect-ctower-app:06ec613eb9b04b60627c48f2f7d20992fd55ef0c Global options:   2024-10-08T08:26:52Z	WARN	'--vuln-type' is deprecated. Use '--pkg-types' instead. 2024-10-08T08:26:52Z	INFO	[vulndb] Need to update DB 2024-10-08T08:26:52Z	INFO	[vulndb] Downloading vulnerability DB... 2024-10-08T08:26:52Z	INFO	[vulndb] Downloading artifact...	repo="ghcr.io/aquasecurity/trivy-db:2" 2024-10-08T08:26:52Z	ERROR	[vulndb] Failed to download artifact	repo="ghcr.io/aquasecurity/trivy-db:2" err="OCI repository error: 1 error occurred:\n\t* GET https://ghcr.io/v2/aquasecurity/trivy-db/manifests/2: TOOMANYREQUESTS: retry-after: 408.023µs, allowed: 44000/minute\n\n" 2024-10-08T08:26:52Z	FATAL	Fatal error	init error: DB error: failed to download vulnerability DB: OCI artifact error: failed to download vulnerability DB: failed to download artifact from any source

Please see https://github.com/aquasecurity/trivy-action/issues/389


[homework: doing, reading, watching] Linear, logistic regressions and embedding visualizations of Zulip data

Doing

[x] Clean Data Thinking Zulip chat data, located at https://github.com/onefact/datathinking.org-codespace/blob/main/data/datathinking.zulipchat.com/raw/messages-000001.json - put it in a polars dataframe and compute summary statistics of the dataset

[x] Analyze this Zulip chat data using logistic regression, linear regression, and embeddings with the tools we have learned in the lectures (don't forget to ask ChatGPT, Claude, Lex, GPT-4 for help as much as you need, and ask for help on the Data Thinking Zulip chat :)

[x] Create a visualization of logistic regression of the Data Thinking Zulip chat data

[x] Create a visualization of linear regression applied to the Data Thinking Zulip chat data

[x] Create a visualization of embeddings using the Data Thinking Zulip Chat data

[x] Make a copy of the Overleaf template: https://www.overleaf.com/read/ghpyzqwqwxpv (need to create an account and/or sign in if this is your first time using Overleaf). To make a copy, open the project after signing in using this link, and click on Menu, then Copy Project:

[x] In Overleaf, edit the template and figure out how to include a PDF figure in the report, alongside a brief description (a few sentences or paragraphs is fine!) of each of the analyses you performed, why you chose them, and the math equation for the linear regression, logistic regression, and embedding you used.

[x] Add the PDF of the report to this issue as a comment.

[x] Send a message on Zulip with a link to this comment, alongside the image representing your favorite visualization

Reviewing

[x] Review how Jaan got unstuck in the lecture recordings at https://panopto.ut.ee/Panopto/Pages/Sessions/List.aspx?folderID=43bb180c-79a6-4324-b055-afa400ecd1a0
[x] Review collaborative whiteboards from past classes: listed at https://www.datathinking.org/university-of-tartu
[x] Review Jupyter notebooks from past classes:

https://github.com/onefact/datathinking.org-codespace/blob/main/notebooks/230313-embeddings-volume-2.ipynb
https://github.com/onefact/datathinking.org-codespace/blob/main/notebooks/230316-embeddings-text-data-like-chat-logs-and-networks.ipynb
https://github.com/onefact/datathinking.org-codespace/tree/main/notebooks

Reading

[x] [inspiration for how to categorize discussion data in json format with chatgpt] https://genmon.github.io/braggoscope/about & https://news.ycombinator.com/item?id=35073603
[x] [help with helping you learn to be a prompt engineer] https://github.com/dair-ai/Prompt-Engineering-Guide
[x] [help with storytelling] https://themarkup.org/hello-world/2023/02/04/journalistic-lessons-for-the-algorithmic-age
[x] [help with debugging] https://wizardzines.com/images/debugging/toc-letter.pdf
[x] [design, visual communication] https://anthonyhobday.com/sideprojects/saferules/ & https://news.ycombinator.com/item?id=34684761
[x] [background on ChatGPT and Claude from an ex-OpenAI, Anthropic founder] read The Boy Whose Light Went Out by Jack Clark http://techpolicylab.uw.edu/wp-content/uploads/2022/04/Telling_Stories_Pages_4-4-22.pdf
[x] [history of OpenAI internal difficulties] https://www.technologyreview.com/2020/02/17/844721/ai-openai-moonshot-elon-musk-sam-altman-greg-brockman-messy-secretive-reality/
[x] [context for supply chain ban on GPU exports/imports] https://www.palladiummag.com/2021/10/11/the-triumph-and-terror-of-wang-huning/
[x] [starting to think about bias in what you read from chatgpt or elsewhere] https://catalogofbias.org/biases/
[x] [psychological tools for support in dealing with ChatGPT, especially if you decide to try jailbreaks] https://www.bellingcat.com/resources/2022/11/23/how-to-maintain-mental-hygiene-as-an-open-source-researcher/
[x] [how data is being used by open source intelligence researchers in war] https://www.cbsnews.com/news/bellingcat-russia-putin-ukraine-60-minutes-2022-08-21/
[x] [background on social media and recommendation algorithms] https://knightcolumbia.org/content/understanding-social-media-recommendation-algorithms

Watching
(message Jaan if you need a VPN or these links don't work)

[x] [context for popular media portrayals of chatgpt] South Park S26E04 - "Deep Learning" - https://southpark.cc.com/episodes/8byci4/south-park-deep-learning-season-26-ep-4
[x] [context for how the CEO of OpenAI talks about it] https://abcnews.go.com/Technology/video/openai-ceo-cto-risks-ai-reshape-society-97949497 article
[x] [an emotional history of the world; context for our data thinking practice of feel, ask, do, think -- and how the thoughts in people's heads can shape society] 1 episode of https://thoughtmaybe.com/cant-get-you-out-of-my-head/

datathinking_org_latex_report_Helena.pdf


⚠ Bofrost.at has degraded performance

In 379231f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1136 ms

Resolved: Bofrost.at performance has improved in dc2aa62 after 38 minutes.


Error: MissingPluginException(No implementation found for method createInstance on channel io.agora.rtm)

After doing all the setup of the example and adding my appId, the error appears: Error: MissingPluginException (No implementation found for method createInstance on channel io.agora.rtm)

seem like you should uninstall the app and reinstall it.

I have executed it in app and on the web and it is always the same error, it also happens to my work team when they try to execute the example code

I use the package null safety

it not support web.

my problem is the same on app!! Android and IOS :/

which example?


Fix hotkeys

Not sure why it broke, but SetControlFrame(0) enables left/right hotkeys again

This also includes the small UI that I showcased.

I broke this when I used SetControlFrame for debugging purposes


Project abandoned? Please move it.

Hello @miped,
what is the current status of this project? It seems you have open sourced it and not much has changed ever since. Would you consider moving the repo to github.com/SublimeText for others to continue working on it?

It's very quiet here.  Too quiet.  I get that projects like these take time, but I hate it when they just go dark without transitioning stewardship of the project to someone with the time and inclination to manage it; I'm speaking as someone that purchased this before it was open sourced.
Having said that, this is one of the better Git tools for SublimeText and I'm not seeing too many others that are in position to replace SublimeGit.  Now that it is open source and there's no response from the owner, maybe it's time to organize a fork.  It would be a shame to start from scratch when this package is perfectly serviceable.
Hopefully the owner will pop-up and resolve this in a manner workable for him and the rest of us.

True, I really like the implementation here over other Git plugins. I'd be happy to contribute to this.

@miped Is there anything you need help with?

First, i'd like to say that the reports of my death has been greatly exaggerated. I'm still around and alive and kicking.
I honestly forgot about the pull request. My bad. I'll take a look at it this weekend.
As for forking, i don't think that's necessary, and it's gonna be a bit of a chore getting it set up in the package control channels. I'm more than happy to add collaborators to this project.

Glad to see you back @miped.  I would love to help you out, but could only do so in a very limited fashion; I'm not a Python developer, which I imagine would be prerequisite, so I'd only be helpful in some auxiliary role.  I do think if there are willing people with the right skills to help you maintain things, you'd have a stronger project overall.  Anyway, just wanted to say glad to see the recent activity.  Cheers.

Hey @miped
Thank you for such a good project: I use it everyday and it's the most efficient way to control git from sublimetext in my opinion 😄 ! But the stack of PR and issues is slowly growing and without any activity on this repo, people will slowly but surely start to look at other alternatives 😞
How could we prevent that? Are you happy to move the project to https://github.com/SublimeText? If you prefer to keep everything here, @buildersbrewery and maybe some others seem to be able to help you.
Thanking you in advance for your actions on that.
Regards,
Vincent.

I get the feeling we are back to where we were in July/16.
This is still one of the better Git extensions (I'm using others right now, and would like to return to this one) and I'd hate to see it just dying.
I fully support seeing this project being moved to https://github.com/SublimeText and I've been watching since @Vincent-- 's post to see if there would be a response.  I think @miped did some really good work getting this project to this state, but has clearly demonstrated either he hasn't the time and/or interest in continuing to support the project.  I get it, I have projects like that, too, which I've just shelved... I even have some wishful thinking to get back to them someday, too... though it's unlikely.
If @miped isn't amenable to moving the project soon, I've cloned the repo and would be happy to get a fork going under https://github.com/SublimeText if possible.  This situation reminds me of the gitflow situation (https://github.com/nvie/gitflow) where the original gitflow was forked and reborn as gitflow-avh (https://github.com/petervanderdoes/gitflow-avh) and the fork is now the more commonly used version that is regularly maintained.

I opened this issue, to ask first before moving on. It's an easy chore to simply redirect users of this package via Package Control.
If you - @sbuttgereit - would be willing to take over, I'm all for it. Whatever works, right.
I suggested the @sublimetext github organization in the first place because that would distribute chores amongst a group of people who know what they are doing.

@buildersbrewery I'll take a look on the weekend or while I'm on a business trip I'm taking next week.  I like the idea of getting it to the @sublimetext github organization for precisely the reasons you state.  I'll post a note here once there's a more concrete direction next week;  I did look at how packagecontrol.io works and it's pretty straightforward.

I'm ok with moving the project, as long as i can retain commit rights to it. So just let me know what i need to do to make that happen.

@miped cool and sounds completely reasonable me.
I couldn't find much on who/how the @sublimetext GitHub org is managed, but they have an email address.  I'm dropping them a note to see what they say; I'll ask about the particulars.

Cool, thanks for taking the lead on this :-)

Hi all---
I sent an email to the address listed for the @sublimetext organization a week ago and received approximately... no exactly... zero response.  It's unclear whose github ID(s) is associated with the people managing it so unless someone else here can point me to specific individuals... I'm thinking that a plan "B" might be in order.
@miped assuming nothing changes on the @sublimetext front; would you be willing to add me as someone that can take on some management functions on this repository?  That's an imperfect solution for the specific technical judgements that need to be made (I don't specialize in any of the technologies that your package/sublime text uses), but helping facilitate a community process is something I would be very comfortable with.  Without building too much ceremony for something like this... if we have a basic set of ground rules, perhaps we can get a "call list" of some community PR reviewers with appropriate technical skill that, while not being responsible for being full maintainers, but can drop in and say yes/no a given PR is reasonable, we can get contributions in without it being a complete mess.  Naturally, if others with appropriate technical skills want to be maintainers proper... I wouldn't object... but otherwise I would mostly being sure that things get merged, that merged stuff gets updated for package control, etc.

That sounds like a plan 😄 Thanks for your time on that, @sbuttgereit 👍

@sbuttgereit I've added you as a collaborator

HI all--
At this point, unless there objection, I'm going to close this issue.  The plan as of now is to stay here and so I suggest giving the new arrangement a try and see how it goes.
Just a little expectation setting.  I'm more than happy to contribute time here, but just like many people taking on a role like this: it's not my day job, or even my side project, so I'll have some constraints.  I will devote some time each week, usually on the weekends for this, with some exceptions as conditions warrant (I won't log in on vacation for example 😄  ).  So, insofar as I can help, I have to be honest and say things will move slowly, but move regularly on a weekly cadence.  If that ever changes I'll also commit to let everyone know that I can't continue.
I expect to post more during the week and also respond to some of items that are outstanding.  @miped I'll reach out to you separately with some suggestions; not sure how much time you have, but definitely want to be sure I'm working with you.
Cheers!
SCB

👍


[#noissue] code cleanup

Codecov Report

Merging #3049 into master will increase coverage by 0.01%.
The diff coverage is 6.89%.

@@            Coverage Diff             @@
##           master    #3049      +/-   ##
==========================================
+ Coverage    38.8%   38.82%   +0.01%
==========================================
  Files        1933     1933
  Lines       64912    64914       +2
  Branches     9072     9072
==========================================
+ Hits        25192    25200       +8
- Misses      37141    37142       +1
+ Partials     2579     2572       -7

Impacted Files
Coverage Δ

...pclient/interceptor/ExecuteRequestInterceptor.java
0% <0%> (ø)
:arrow_up:

...nterceptor/StandardHostValveInvokeInterceptor.java
62.36% <0%> (ø)
:arrow_up:

...e/interceptor/AbstractServerHandleInterceptor.java
0% <0%> (ø)
:arrow_up:

...ket/message/PinpointWebSocketMessageConverter.java
75% <0%> (-1.93%)
:arrow_down:

.../interceptor/StatementExecuteQueryInterceptor.java
0% <0%> (ø)
:arrow_up:

...y/interceptor/AbstractServerHandleInterceptor.java
0% <0%> (ø)
:arrow_up:

...nterceptor/MethodInvocationHandlerInterceptor.java
0% <0%> (ø)
:arrow_up:

...interceptor/StatementExecuteUpdateInterceptor.java
0% <0%> (ø)
:arrow_up:

...esin/interceptor/ServletInvocationInterceptor.java
0% <0%> (ø)
:arrow_up:

...lugin/json_lib/interceptor/ParsingInterceptor.java
0% <0%> (ø)
:arrow_up:

... and 15 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 f3aa3ad...f9da6c9. Read the comment docs.


mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd

I'm getting this error while using the EGL rendering backend:
mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd
The error is rare (but still fatal for a long job) so not sure if I can provide a script to reproduce. I believe this might be a known issue though? Thanks so much!
The full traceback:
    result = self.run_episode()
  File "/acme/environment_loop.py", line 94, in run_episode
    timestep = self._environment.reset()
  File "/acme/wrappers/base.py", line 55, in reset
    return self._environment.reset()
  File "/acme/wrappers/single_precision.py", line 40, in reset
    return self._convert_timestep(self._environment.reset())
  File "/dm_control/composer/environment.py", line 339, in reset
    return self._reset_attempt()
  File "/dm_control/composer/environment.py", line 349, in _reset_attempt
    self._recompile_physics_and_update_observables()
  File "/dm_control/composer/environment.py", line 243, in _recompile_physics_and_update_observables
    self._observation_updater.reset(self._physics_proxy, self._random_state)
  File "/dm_control/composer/observation/updater.py", line 165, in reset
    enabled.observation_callable())
  File "/dm_control/composer/observation/observable/mjcf.py", line 266, in get_observation
    pixels = physics.render(
  File "/dm_control/mujoco/engine.py", line 216, in render
    camera = Camera(
  File "/dm_control/mujoco/engine.py", line 695, in __init__
    if self._physics.contexts.mujoco is not None:
  File "/dm_control/mujoco/engine.py", line 526, in contexts
    self._make_rendering_contexts()
  File "/dm_control/mujoco/engine.py", line 512, in _make_rendering_contexts
    mujoco_context = wrapper.MjrContext(self.model, render_context)
  File "/dm_control/mujoco/wrapper/core.py", line 606, in __init__
    ptr = ctx.call(mujoco.MjrContext, model.ptr, font_scale)
  File "/dm_control/_render/executor/render_executor.py", line 138, in call
    return func(*args, **kwargs)
mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd
(EnvironmentLoop pid=593400) Exception ignored in: <function MjrContext.__del__ at 0x149e24064280>
(EnvironmentLoop pid=593400) Traceback (most recent call last):
(EnvironmentLoop pid=593400)   File "/dm_control/mujoco/wrapper/core.py", line 636, in __del__
(EnvironmentLoop pid=593400)     self.free()
(EnvironmentLoop pid=593400)   File "/dm_control/mujoco/wrapper/core.py", line 624, in free
(EnvironmentLoop pid=593400)     ptr = self.ptr
(EnvironmentLoop pid=593400)   File "/dm_control/mujoco/wrapper/core.py", line 614, in ptr
(EnvironmentLoop pid=593400)     return self._ptr()
(EnvironmentLoop pid=593400) AttributeError: 'MjrContext' object has no attribute '_ptr'```

Can you please try adding EGL.eglReleaseThread() right after EGL.eglDestroyContext here ?

Alternatively, try setting the environment variable DISABLE_RENDER_THREAD_OFFLOADING=1, but please try one thing at a time so that we know which one(s) (if any) works.

Thanks so much @saran-t. Unfortunately none of these helped. The only other hint I have is that the error usually appears later in the job, roughly after some 100 million environment steps. And it seems to appear in all actors roughly at the same time in a given job. (It's an RL setup with parallel actors, very similar to the one in section 3.4 here, for example)

Hm, I'm tempted to blame this on EGL driver bug at this point...

Hi, are there any updates on this? I'm having the same problem and some of my processes crash after tens of millions of environment steps. Thanks in advance!

No updates on my end. I'm still having this problem..

@vaxenburg Are you using Docker? What GPUs are you using?

Thanks for responding @kevinzakka! I'm not using Docker, just a conda environment. I think the error occurs on every GPU I've tried so far: A100 SXM4, RTX 2080Ti, T4 PCIe.

OK good to know, am also seeing this on our cluster and it's killing all my jobs roughly every 1.4M steps.

A simple workaround, of course, is just to restart the crashed jobs from the latest checkpoint, but we want a real solution:)

I think it would be good to first try and reproduce this with a few lines of code. I've only run into this issue in my custom composer env. It would be good to see if it happens in one of the suite envs.

Is there a task in the suite that uses vision (i.e., requires rendering)?

Thanks for responding @kevinzakka! I'm not using Docker, just a conda environment. I think the error occurs on every GPU I've tried so far: A100 SXM4, RTX 2080Ti, T4 PCIe.

Are you using a specific Nvidia driver on all those experiments?

This one, on all machines:
| NVIDIA-SMI 525.60.13    Driver Version: 525.60.13    CUDA Version: 12.0     |

This one, on all machines: | NVIDIA-SMI 525.60.13 Driver Version: 525.60.13 CUDA Version: 12.0 |

I also ran into this problem consistently on all my machines, with different Nvidia cards but all of them have driver version 520.56.06

NVIDIA-SMI 520.56.06    Driver Version: 520.56.06    CUDA Version: 11.8

Update: I downgraded to CUDA 11.7 and the error went away.

I'm pretty sure I was getting this error also with CUDA 11.4 before (but not sure about the driver version.)

nvidia-smi -> NVIDIA-SMI 515.86.01    Driver Version: 515.86.01    CUDA Version: 11.7
I basically created a new environment, installed cuda with conda and the errors seems to have gone away.

FWIW, if my memory is correct, with this older CUDA 11.4, the error was occurring for me after some ~1.5M steps per actor. With the new CUDA 12.0 it seems to occur about 10x earlier, after ~0.15M steps. So maybe downgrading CUDA just postpones the error. Did you try running a job much longer, beyond the point where it was crashing with your previous CUDA version?

I did indeed witness that last week, but so far I've been running 5 to 10M jobs and nothing has been crashing. This is indeed weird and I can try changing the driver again to see if that triggers the issue.

It's interesting that the CUDA version seems to affect a rendering-related error. One thing we could try is run a fake job that only does rendering without using CUDA at all.

It looks like the error goes away if re-uploading the hfield data is removed. E.g. if this part is removed. Could it help with tracking down this error?

For whatever reason, this consistently reproduces the error for me:
from multiprocessing import Process

def foo():
    env = get_environment_with_camera_observable()

p = Process(target=foo)
p.start()

where get_environment_with_camera_observable is a function that returns your custom composer environment that has an MJCFCamera as one of the observables.

Oooh, consistent reproducibility!
@saran-t, @nimrod-gileadi, maybe with this we can finally diagnose this bug??

Here is a complete self-contained snippet that, for me, consistently errors with mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd
from multiprocessing import Process

from dm_control import composer
from dm_control.locomotion.walkers.cmu_humanoid import CMUHumanoid
from dm_control.locomotion.arenas import floors

class Task(composer.Task):

    def __init__(self):
        self._arena = floors.Floor()
        self._walker = CMUHumanoid(
            observable_options={'egocentric_camera': {'enabled': True}})
        spawn_site = self._arena.mjcf_model.worldbody.add('site')
        self._walker.create_root_joints(
            self._arena.attach(self._walker, spawn_site))
        spawn_site.remove()

    @property
    def root_entity(self):
        return self._arena

    def get_reward(self, physics):
        return 1.

_ = composer.Environment(task=Task())  # Won't error without this line?!?

def foo():
    env = composer.Environment(task=Task())

p = Process(target=foo)
p.start()  # Errors here.

Any updates on this issue? Running into this issue when using multiple parallel environments (~1000) in RL training. Any suggestions on how to fix the issue? Thanks!

Here is a complete self-contained snippet that, for me, consistently errors with mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd
from multiprocessing import Process

from dm_control import composer
from dm_control.locomotion.walkers.cmu_humanoid import CMUHumanoid
from dm_control.locomotion.arenas import floors

class Task(composer.Task):

    def __init__(self):
        self._arena = floors.Floor()
        self._walker = CMUHumanoid(
            observable_options={'egocentric_camera': {'enabled': True}})
        spawn_site = self._arena.mjcf_model.worldbody.add('site')
        self._walker.create_root_joints(
            self._arena.attach(self._walker, spawn_site))
        spawn_site.remove()

    @property
    def root_entity(self):
        return self._arena

    def get_reward(self, physics):
        return 1.

_ = composer.Environment(task=Task())  # Won't error without this line?!?

def foo():
    env = composer.Environment(task=Task())

p = Process(target=foo)
p.start()  # Errors here.

Thank you @vaxenburg for sharing the script to reproduce the problem. In this particular case, I suspect that this is caused by the first call
_ = composer.Environment(task=Task())  # Won't error without this line?!?

initialized some EGL resources, while
p = Process(target=foo)

inherit the resources (which it shouldn't) as a subprocess (because by default python forks). When the subprocess start to initialize EGL again, something bad happened.
I was able to get rid of the issue in your particular case, by switching start method of multiprocessing to spawn,
import multiprocessing

from multiprocessing import Process

from dm_control import composer
from dm_control.locomotion.walkers.cmu_humanoid import CMUHumanoid
from dm_control.locomotion.arenas import floors

class Task(composer.Task):

    def __init__(self):
        self._arena = floors.Floor()
        self._walker = CMUHumanoid(
            observable_options={'egocentric_camera': {
                'enabled': True
            }})
        spawn_site = self._arena.mjcf_model.worldbody.add('site')
        self._walker.create_root_joints(
            self._arena.attach(self._walker, spawn_site))
        spawn_site.remove()

    @property
    def root_entity(self):
        return self._arena

    def get_reward(self, physics):
        return 1.

def foo():
    env = composer.Environment(task=Task())

if __name__ == "__main__":
    multiprocessing.set_start_method("spawn")

    _ = composer.Environment(task=Task())  # Won't error without this line?!?

    p = Process(target=foo)
    p.start()

Here is a complete self-contained snippet that, for me, consistently errors with mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd
from multiprocessing import Process

from dm_control import composer
from dm_control.locomotion.walkers.cmu_humanoid import CMUHumanoid
from dm_control.locomotion.arenas import floors

class Task(composer.Task):

    def __init__(self):
        self._arena = floors.Floor()
        self._walker = CMUHumanoid(
            observable_options={'egocentric_camera': {'enabled': True}})
        spawn_site = self._arena.mjcf_model.worldbody.add('site')
        self._walker.create_root_joints(
            self._arena.attach(self._walker, spawn_site))
        spawn_site.remove()

    @property
    def root_entity(self):
        return self._arena

    def get_reward(self, physics):
        return 1.

_ = composer.Environment(task=Task())  # Won't error without this line?!?

def foo():
    env = composer.Environment(task=Task())

p = Process(target=foo)
p.start()  # Errors here.

Thank you @vaxenburg for sharing the script to reproduce the problem. In this particular case, I suspect that this is caused by the first call
_ = composer.Environment(task=Task())  # Won't error without this line?!?

initialized some EGL resources, while
p = Process(target=foo)

inherit the resources (which it shouldn't) as a subprocess (because by default python forks). When the subprocess start to initialize EGL again, something bad happened.
I was able to get rid of the issue in your particular case, by switching start method of multiprocessing to spawn,
import multiprocessing

from multiprocessing import Process

from dm_control import composer
from dm_control.locomotion.walkers.cmu_humanoid import CMUHumanoid
from dm_control.locomotion.arenas import floors

class Task(composer.Task):

    def __init__(self):
        self._arena = floors.Floor()
        self._walker = CMUHumanoid(
            observable_options={'egocentric_camera': {
                'enabled': True
            }})
        spawn_site = self._arena.mjcf_model.worldbody.add('site')
        self._walker.create_root_joints(
            self._arena.attach(self._walker, spawn_site))
        spawn_site.remove()

    @property
    def root_entity(self):
        return self._arena

    def get_reward(self, physics):
        return 1.

def foo():
    env = composer.Environment(task=Task())

if __name__ == "__main__":
    multiprocessing.set_start_method("spawn")

    _ = composer.Environment(task=Task())  # Won't error without this line?!?

    p = Process(target=foo)
    p.start()

Cool, it works for me !!!
I am parallelizing suite environments in dm_control using AsyncVectorEnv in Gymnasium.
After passing the parameter spawn to the context,  render() appears to be able to return the rbg_array.

Here is a complete self-contained snippet that, for me, consistently errors with mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd
from multiprocessing import Process

from dm_control import composer
from dm_control.locomotion.walkers.cmu_humanoid import CMUHumanoid
from dm_control.locomotion.arenas import floors

class Task(composer.Task):

    def __init__(self):
        self._arena = floors.Floor()
        self._walker = CMUHumanoid(
            observable_options={'egocentric_camera': {'enabled': True}})
        spawn_site = self._arena.mjcf_model.worldbody.add('site')
        self._walker.create_root_joints(
            self._arena.attach(self._walker, spawn_site))
        spawn_site.remove()

    @property
    def root_entity(self):
        return self._arena

    def get_reward(self, physics):
        return 1.

_ = composer.Environment(task=Task())  # Won't error without this line?!?

def foo():
    env = composer.Environment(task=Task())

p = Process(target=foo)
p.start()  # Errors here.

Thank you @vaxenburg for sharing the script to reproduce the problem. In this particular case, I suspect that this is caused by the first call
_ = composer.Environment(task=Task())  # Won't error without this line?!?

initialized some EGL resources, while
p = Process(target=foo)

inherit the resources (which it shouldn't) as a subprocess (because by default python forks). When the subprocess start to initialize EGL again, something bad happened.
I was able to get rid of the issue in your particular case, by switching start method of multiprocessing to spawn,
import multiprocessing

from multiprocessing import Process

from dm_control import composer
from dm_control.locomotion.walkers.cmu_humanoid import CMUHumanoid
from dm_control.locomotion.arenas import floors

class Task(composer.Task):

    def __init__(self):
        self._arena = floors.Floor()
        self._walker = CMUHumanoid(
            observable_options={'egocentric_camera': {
                'enabled': True
            }})
        spawn_site = self._arena.mjcf_model.worldbody.add('site')
        self._walker.create_root_joints(
            self._arena.attach(self._walker, spawn_site))
        spawn_site.remove()

    @property
    def root_entity(self):
        return self._arena

    def get_reward(self, physics):
        return 1.

def foo():
    env = composer.Environment(task=Task())

if __name__ == "__main__":
    multiprocessing.set_start_method("spawn")

    _ = composer.Environment(task=Task())  # Won't error without this line?!?

    p = Process(target=foo)
    p.start()

Cool, it works for me !!!
I am parallelizing dm_control suite environments using AsyncVectorEnv in Gymnasium .
After passing the parameter spawn to the context,  render() appears to be able to return the rbg_array.
I would greatly appreciate it if there is any expert could explain the mechanism and side effect behind this.

FWIW, I was running into this error in a custom composer environment that did not use any cameras but did use a terrain height map hfield. Skipping these lines during the arena regeneration at train time solved the problem.

Is there any update on this? I get the same error when running DreamerV3 on dm_control. I can provide a stack trace if needed.


⚠ ClamAV has degraded performance

In e016f86, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 584 ms

Resolved: ClamAV performance has improved in e71793e after 18 minutes.


Add console.log option. Closes #981.

Add option to console transport to use console.log/error instead
of writing to process.stdout/stderr.
Fixes issues like: https://github.com/Microsoft/vscode/issues/19750

@DrYSG last release has been like 7 months ago. If you already found any other library to replace this I'd love to know.

Thank you for your contribution!
Looks like the VSCode folks have fixed this upstream for all logging libraries, going to close this.
I agree with this sentiment on the issue.

The solution for the launch configuration:
"outputCapture": "std",
works perfectly! Thanks to anyone and everyone who made that happen ... I have been tortured by that for two days.

@indexzero well, I don't. The thing is even if VSCode itself does monkeypath around this for its own internal use, others don't.
Two solutions are on the table:

This one - let the user decide whether to use OS or V8 console
Separate the console and stdout transports as two fundamentally different things - one passes on inspection protocol data, other don't

Added a "forceConsole" option, to force use "console.log"
https://github.com/winstonjs/winston/commit/0757afe050977a103fa291b2e3ff1d90d6f69d10

The linked commit is in #2276 for better cross-referencing.


Fixes side bar

This had actually been broken for a long time, but I just got round to taking a look. There had been a tiny attribute change that was breaking the CSS selector.

@jonrandy this offers some explanation as to why you were having issues with PR https://github.com/team-inbox/inbox-reborn/pull/59#issuecomment-1343728438 but this PR would actually break the Side Panel from functioning for me..
Both my personal and business gmail accounts still use aria-label="Get Add-ons" (capitalized A) on the element
🤔 I wonder what differs between our accounts? Perhaps some "opt-in for beta hotness" setting?

UK/US English? Dunno...
Anyway, 😉 I'll make the CSS selector cope with both

Just tested by swapping language in settings, and that indeed is the difference.
UK English outputs aria-label="Get add-ons" and US English aria-label="Get Add-ons"
Thanks for offering to make it jive with both!


feat(start): respect HOMEBREW_CASK_OPTS env

😷 Fix the macOS Quarantine

My half-assed attempt at trying to fix the annoying macOS quarantine "The app can’t be opened because it is from an unidentified developer" error.
How
Respecting the HOMEBREW_CASK_OPTS env var, just like some other env vars are already respected.
As discussed in https://github.com/Homebrew/homebrew-autoupdate/issues/66#issuecomment-890227342. Based on the information from https://github.com/Homebrew/homebrew-cask/blob/HEAD/USAGE.md#options.
Usage Example
# Automatically upgrade every 12 hours, including the `--no-quarantine` flag to
# avoid annoying macOS quarantine warnings.
HOMEBREW_CASK_OPTS="--no-quarantine" brew autoupdate start 43200 --upgrade

TODO

[ ] Tests
[ ] Documentation

Alternatives
Even when going with an alternative approach, I think respecting HOMEBREW_CASK_OPTS is worthwile either way.

Statically or conditionally pass --no-quarantine as part of:

https://github.com/Homebrew/homebrew-autoupdate/blob/51b00cffa1e8a0d4ca7e143c1436cbd98f090531/lib/autoupdate/start.rb#L19
https://github.com/Homebrew/homebrew-autoupdate/blob/51b00cffa1e8a0d4ca7e143c1436cbd98f090531/lib/autoupdate/start.rb#L38

This seems sensible too, good catch/resolution.

Thank you @buschtoens!


Instead of Bitmaps, does it support custom layout or webview even?

check out my implementation here, https://github.com/shittu33/Dynamic-Page-Flip. it's built on eschao  pageFlip.


Add support for excluding a field from an index in the model struct.

Hi,
When using soft deletes, one may want to allow a new record to be created with the same values as an existing unique index. This is problematic with the default implementation of DeletedAt that Gorm supports (see, for example, #1121), but is also easily avoidable on most DBMSes. In fact it's trivial to create this type of unique index manually with Gorm, but we wanted to be able to embed it into our structs too.
Internally, we came up with the solution of adding the ability to exclude the default value of a field from an index. In other words, given the following struct (notice the ! before the index name in the DeletedAt tag):
struct User {
  ID        uint64     `gorm:"primary_key"`
  Email     string     `gorm:"unique_index:uix_users_email"`
  DeletedAt *time.Time `gorm:"unique_index:!uix_users_email"`
}

We generate the following SQL (for PostgreSQL, for example):
CREATE UNIQUE INDEX uix_users_email ON "users"("email") WHERE ("deleted_at" IS NULL)

I'm not totally happy with the code here (especially the way the WHERE clause is built; databases don't seem to support parameterized queries when constructing indexes) nor the specific syntax for the struct field tag, but I wanted to get your feedback on the general approach and hopefully eventually land something that provides this functionality in Gorm.
I'm happy to write some docs for this as well once it lands.
Thanks!

why isn't this merged yet? I need it!

This looks really great. @jinzhu do you think we'll be getting this in any time soon?

I'm in dire need of this feature. Hope merging this feature soon. @jinzhu

@jinzhu any thought on this?

Hi @impl
I think it might be better to be implemented like this:
struct User {
  ID        uint64     `gorm:"primary_key"`
  Email     string     `gorm:"unique_index:uix_users_email@deleted_at IS NULL AND id > 100"`
}

Which generate an unique_index for Email like
CREATE UNIQUE INDEX uix_users_email ON "users"("email") WHERE deleted_at IS NULL AND id > 100

Unfortunately, we no longer use this library and won't have time to update this PR with the requested changes. If other users would like to see this included, feel free to use our changes as a starting point for a future PR!


Unable to start stopped job on a bosh-lite after reboot

I recently had a bosh-lite instance which had some issues. I ran bosh stop <job> --hard on two instances, and and tried starting one back up. It was still having problems, so I restarted my bosh-lite. When the bosh-lite came back up, all VMs were unresponsive, as expected. After bosh cck ran a few times, everything was running except the two VMs that I had previously bosh stoped.  bosh cck ignored them completely, as it thought they should be stopped, and they weren't running. However, bosh vms reported them in an unresponsive state (rather than stopped).
When I tried to bosh deploy or bosh start <job> to rectify, I got errors during the Preparing deployment phase such as this: Failed: Timed out sending 'get_state' to 104d1263-0e9f-4c47-beb4-fd77dfa7811e after 45 seconds. I tried bosh ignore instance on the two VMs, but it still would not get past the Prepare deployment phase. In order to work through this, I had to go into the BOSH database, and run update instances set state='started' where state='detached'; in order to trick bosh cck into thinking they should be checked. Then I needed to bosh unignore instance each of them, so that bosh cck would actually resolve their lack of existing.
It would be awesome if any of the following could be done to improve the user experience:

Have bosh vms display stopped for instances that it thinks are detached, and aren't responding anymore (since they were turned off intentionally)
Have the Prepare deployment phase ignore unresponsive agents that were intentionally stopped

Have bosh vms display stopped for instances that it thinks are detached, and aren't responding anymore (since they were turned off intentionally)

In cli v2: bosh -e root-bosh is -i shows state in a separate column from process state.

Have the Prepare deployment phase ignore unresponsive agents that were intentionally stopped

we are going to soon do some work to make bosh deploy be a bit more granular. i will see how much we can get away with when we compute desired configuration.

we also fixed resurrector/director interplay bug (in 261+) that possibly got you in this case in the first place.

Hey @geofffranks, sounds like this issue has been resolved in more recent versions of the director, and there hasn't been much activity in the last year. If you're still concerned, feel free to re-open and let us know.


Set protocol to https for tiles if JSON source is requested by https

If martin is run by http, it creates source URL with http protocol for tiles key, like:
http://maps.example.com/tiles/public.zip_codes/{z}/{x}/{y}.pbf
But it we serve our site and martin by https with nginx, http content (tiles) can't be loaded with https.
Current solution is to hardcode all the JSON object for style (type, tiles, minzoom, maxzoom, ...) at the client side with https for tiles URL.
Am I missing something and is it possible to set tiles protocol? If not, I think it would be nice to make it configurable.
Another cool solution I think is to set https if https://maps.example.com/tiles/public.counties.json is requested by https. It will not need any additional options.
Protocol mismatch is on the screenshot (source is requested by https):

Heh, martin will never know about HTTPS cause it is behind nginx. Looks like it can be fixed with option only.

Hey @korywka 👋
You can try Rewriting URL with https://github.com/maplibre/martin#rewriting-urls

@stepankuzmin yep, this fixed it:

Thanks! ❤


how to upload file  lambda function to  s3 please help me

i try to uplaoding file s3 resize lambda but icant save the file :-(

const AWS = require('aws-sdk');
const Jimp = require('jimp");

const resizeImageFromURL = async (imageUrl: string) => {
    const _image = await Jimp.read(imageUrl);

    const _newWidth; // TODO Add it yourself...
    const _newHeight; // TODO Add it yourself...

    const _operatedImage = _image.resize(_newWidth, _newHeight);

    const _operatedImageBuffer = await promisify(_operatedImage.getBuffer.bind(_operatedImage))(Jimp.MIME_PNG);

    AWS.config.update({
        accessKeyId: "SECRET",
        secretAccessKey: "SECRET",
    });

    const s3 = new AWS.S3({
        region: "us-east-1"
    });

    const s3UploadConfig: AWS.S3.Types.PutObjectRequest = {
        ACL: "public-read", // OR maybe "bucket-owner-full-control"
        Body: _operatedImageBuffer,
        Bucket: "my-fun-bucket",
        ContentType: "image/jpeg",
        Key: "resized-images/output.jpg",
    };

    await s3.putObject(s3UploadConfig).promise();
    // Should upload to https://s3.us-east-1.amazonaws.com/my-fun-bucket/resized-images/output.jpg
};

This should work..


Issue #26: Remove compound primary keys on temporal clock tables

Issue #26 : Replace compound primary key (tick, entity_id) on temporal clock tables with

Primary key id as UUID column
Unique constraint on (tick, entity_id)

Bump version to 0.3.3

Curious about why?

Django doesn't natively support compound primary keys.


Pre-installed ROS2 version

Hello,
Thank you for sharing such useful code. I am currently operating a Go2 EDU system, and the Jetson NX in the expansion dock is set up with Foxy and Noetic. The README assumes Humble is being used. Did you write the README assuming that Jetson NX is being used as well, or was it written with a different device in mind?
If it’s the former, did you install Humble on the Jetson NX in addition?
Thank you for your clarification.

Hi!
The README is designed to run everything on your computer, so I assume you are using ros 2 humble. Soon it will also be available for the jazzy and possibly rolling version.
Regarding the robot, everything is by default, so it is using ros 2 foxy. You can run the code you find here inside your robot using foxy and it would work, but this package is not intended to be used inside, especially on higher versions.
Regards.

Thank you for your reply. I also proceeded under the assumption of installing ROS Humble on a separate computer (host). After completing the installation and running ros2 launch go2_bringup go2.launch.py, I encountered an error stating that the Hesai Lidar ROS package could not be found. When I followed the sensor installation steps for the Hesai Lidar (as per the README) in the Humble environment on the host PC, I ran into build errors.
In the README, there’s a section that says, “If you have purchased a Hesai Lidar 3D or a Realsense D435i, follow the following steps inside the robot.”
Does this mean that the sensor installation should be performed inside the robot from this point onwards? not in host?
Thank you

Yes, this is a bit confusing, to be honest, since we have also adapted the launcher so that it can be launched inside the robot and you can launch the extra sensors that you equip, although as I mentioned it is mainly prepared so that you can launch it from the host.
I have to review and accept #8  to make it so that it does not ask you to have hesai or realsense installed.

Hello. I finally succeeded in setting it up. The environment is an Ubuntu 20.04 host running an osrf:humble container, and there’s no separate ROS installation on the host. The host is connected via LAN cable to the Go2 Edu’s Orin NX, and I successfully performed the bringup. I confirmed that the basic LiDAR data is being received properly, and when I move the robot with a joystick, I can see the changes in tf (transform frames) in RViz.
However, while the data sent from the Go2 to the host is confirmed and working well, it seems that messages sent from the host to the Go2 are not functioning properly. For example, I tried the service for “hello” mode and attempted to move the Go2 by publishing to the /cmd_vel topic, but both attempts failed. Could you advise me on where else I should look?

Hello!
What you are telling me is a bit strange. I cannot confirm where I have come from to test the "hello" service and others, but I have been using navigation2, which in the end publishes in /cmd_vel, launched from my computer, and it has worked correctly.
Are you launching the robot bringup inside or outside the robot?

Hello. As described above, I performed the bringup from outside the robot (within the osrf:humble container on an Ubuntu 20.04 host). While using this repository, I have never directly connected to the robot via SSH. When I executed the bringup, the output was as shown below, and I confirmed that RViz is working well as displayed in the README.
root@user-Nuvo-8108GC-Series:~/go2_ws# ros2 launch go2_bringup go2.launch.py rviz:=True
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-11-20-11-32-12-620292-user-Nuvo-8108GC-Series-908
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [921]
[INFO] [component_container-2]: process started with pid [923]
[INFO] [rviz2-3]: process started with pid [925]
[rviz2-3] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[robot_state_publisher-1] [WARN] [1732069932.856381859] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
[robot_state_publisher-1] [INFO] [1732069932.856498905] [robot_state_publisher]: got segment FL_calf
[robot_state_publisher-1] [INFO] [1732069932.856539857] [robot_state_publisher]: got segment FL_calflower
[robot_state_publisher-1] [INFO] [1732069932.856546932] [robot_state_publisher]: got segment FL_calflower1
[robot_state_publisher-1] [INFO] [1732069932.856551921] [robot_state_publisher]: got segment FL_foot
[robot_state_publisher-1] [INFO] [1732069932.856556389] [robot_state_publisher]: got segment FL_hip
[robot_state_publisher-1] [INFO] [1732069932.856560658] [robot_state_publisher]: got segment FL_thigh
[robot_state_publisher-1] [INFO] [1732069932.856564958] [robot_state_publisher]: got segment FR_calf
[robot_state_publisher-1] [INFO] [1732069932.856569281] [robot_state_publisher]: got segment FR_calflower
[robot_state_publisher-1] [INFO] [1732069932.856573673] [robot_state_publisher]: got segment FR_calflower1
[robot_state_publisher-1] [INFO] [1732069932.856578003] [robot_state_publisher]: got segment FR_foot
[robot_state_publisher-1] [INFO] [1732069932.856582357] [robot_state_publisher]: got segment FR_hip
[robot_state_publisher-1] [INFO] [1732069932.856586677] [robot_state_publisher]: got segment FR_thigh
[robot_state_publisher-1] [INFO] [1732069932.856591191] [robot_state_publisher]: got segment Head_lower
[robot_state_publisher-1] [INFO] [1732069932.856595552] [robot_state_publisher]: got segment Head_upper
[robot_state_publisher-1] [INFO] [1732069932.856599817] [robot_state_publisher]: got segment RL_calf
[robot_state_publisher-1] [INFO] [1732069932.856604113] [robot_state_publisher]: got segment RL_calflower
[robot_state_publisher-1] [INFO] [1732069932.856608545] [robot_state_publisher]: got segment RL_calflower1
[robot_state_publisher-1] [INFO] [1732069932.856612932] [robot_state_publisher]: got segment RL_foot
[robot_state_publisher-1] [INFO] [1732069932.856617273] [robot_state_publisher]: got segment RL_hip
[robot_state_publisher-1] [INFO] [1732069932.856621576] [robot_state_publisher]: got segment RL_thigh
[robot_state_publisher-1] [INFO] [1732069932.856627857] [robot_state_publisher]: got segment RR_calf
[robot_state_publisher-1] [INFO] [1732069932.856635370] [robot_state_publisher]: got segment RR_calflower
[robot_state_publisher-1] [INFO] [1732069932.856642442] [robot_state_publisher]: got segment RR_calflower1
[robot_state_publisher-1] [INFO] [1732069932.856650454] [robot_state_publisher]: got segment RR_foot
[robot_state_publisher-1] [INFO] [1732069932.856658579] [robot_state_publisher]: got segment RR_hip
[robot_state_publisher-1] [INFO] [1732069932.856666157] [robot_state_publisher]: got segment RR_thigh
[robot_state_publisher-1] [INFO] [1732069932.856673931] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1732069932.856681489] [robot_state_publisher]: got segment imu
[robot_state_publisher-1] [INFO] [1732069932.856686660] [robot_state_publisher]: got segment radar
[component_container-2] [INFO] [1732069933.068644220] [go2_container]: Load Library: /root/go2_ws/install/go2_driver/lib/libgo2_driver.so
[component_container-2] [INFO] [1732069933.073087979] [go2_container]: Found class: rclcpp_components::NodeFactoryTemplate<go2_driver::Go2Driver>
[component_container-2] [INFO] [1732069933.073106204] [go2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<go2_driver::Go2Driver>
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/go2_driver' in container '/go2_container'
[rviz2-3] [INFO] [1732069933.220891938] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-3] [INFO] [1732069933.221028958] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-3] [INFO] [1732069933.271294897] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-3] [ERROR] [1732069933.994809996] [rviz2]: The link is static or has unrealistic inertia, so the equivalent inertia box will not be shown.
[rviz2-3]
[rviz2-3] [ERROR] [1732069933.995154342] [rviz2]: The link is static or has unrealistic inertia, so the equivalent inertia box will not be shown.

Regarding the service, I tried executing the following command after the bringup, as guided in the README, but there was no response from the robot. (I expected it to greet as shown on the main page of this repo, but there was no action.)
ros2 service call /mode go2_interfaces/srv/Mode "mode: 'hello'"
Also, after the bringup and once the /cmd_vel topic was created, I performed the following topic publish via CLI. I expected the robot to move forward, but again, there was no noticeable action.
Input:
ros2 topic pub --rate 10 /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.5}, angular: {z: 0.0}}"

Then Output:
publishing #376: geometry_msgs.msg.Twist(
    linear=geometry_msgs.msg.Vector3(x=0.5, y=0.0, z=0.0),
    angular=geometry_msgs.msg.Vector3(x=0.0, y=0.0, z=0.0)
)


Enable loading EventForecasts through Forecast class

[x] Closes #398 .
[x] I am familiar with the contributing guidelines.
[x] Tests added.
[ ] Updates entries to docs/source/api.rst for API changes.
[ ] Adds descriptions to appropriate "what's new" file in docs/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[x] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
[x] Maintainer: Appropriate GitHub Labels and Milestone are assigned to the Pull Request and linked Issue.

Fixes an issue loading reports that use event forecasts from the API where EventForecasts are loaded as Forecasts, and report redering tries to provide a scatterplot instead off the histogram @dplarson  created.
This just adds a check for a variable of event when calling the from_dict method of the Forecast datamodel object so that we can call up the hierarchy to EventForecast.
In working on this, I noticed that EventForecast has a check that interval_label and variable  are both set to event. Should observations have a similar check?
e.g.
if(variable == 'event' or interval_label == 'event'):
    ensure_both_event

It seems like there is a potential to have some wonky or misconfigured observations here.

In working on this, I noticed that EventForecast has a check that interval_label and variable are both set to event. Should observations have a similar check?

There aren't any checks on obervations including variable, interval_value_type, etc, so I would say not in scope here

Also reminds me, do we need to update anything else in the API schema for this? There  we can enforce observation/forecast variable and interval_label are event

Also reminds me, do we need to update anything else in the API schema for this? There we can enforce observation/forecast variable and interval_label are event

Yeah, We'll need schema validation for that too. Good call.

I'm confused about why we didn't hit this in the tests for #361. Something about how the raw report is handled vs. the report?

I'm confused about why we didn't hit this in the tests for #361. Something about how the raw report is handled vs. the report?

Yes, getting a report assumes just the uuid is in the json, so it has to use get_forecast which was adjusted for events. Right now raw reports contain the forecast json objects and expect them to be loaded from from_dict.
When we implement probabilistic fx  reports, we should remember to test the full datamodel dumping/loading of them.


Fix UDP ACLs

Description
Fixes the ordering of the UDP ACLs so that denies have always higher priority.
Fixes issues with the target networks that were creating duplicate ACLs.
Fixes the propagation of URLs by the proxy.
Fixes the reporting of flows.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "master-udp-acls",
    "component": "enforcerd",
    "pr-id": "752",
    "commit-sha": "1d725b854f77790a29e432a38a3f84ce35d4c273"
  },
  {
    "project": "master-udp-acls",
    "component": "trireme-lib",
    "pr-id": "603",
    "commit-sha": "e66b9ead1b0d4b33668c5aa44776ae8e5d0ce632"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "master-udp-acls",
    "component": "enforcerd",
    "pr-id": "752",
    "commit-sha": "4132f8ad5910c31d1319e43a2b47dec6efdb2656"
  },
  {
    "project": "master-udp-acls",
    "component": "trireme-lib",
    "pr-id": "603",
    "commit-sha": "e66b9ead1b0d4b33668c5aa44776ae8e5d0ce632"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "master-udp-acls",
    "component": "enforcerd",
    "pr-id": "752",
    "commit-sha": "aeae9cc21273e1f544f5459dfa9a6199c6d4b4c2"
  },
  {
    "project": "master-udp-acls",
    "component": "trireme-lib",
    "pr-id": "603",
    "commit-sha": "e66b9ead1b0d4b33668c5aa44776ae8e5d0ce632"
  },
  {
    "project": "master-udp-acls",
    "component": "apotests",
    "pr-id": "1753",
    "commit-sha": "2e79fa4f8f430b3951823453a42a484c945c506d"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "master-udp-acls",
    "component": "enforcerd",
    "pr-id": "752",
    "commit-sha": "b0d5b25e27e6d84fcbc54616b032a1325f4dc12b"
  },
  {
    "project": "master-udp-acls",
    "component": "trireme-lib",
    "pr-id": "603",
    "commit-sha": "e66b9ead1b0d4b33668c5aa44776ae8e5d0ce632"
  },
  {
    "project": "master-udp-acls",
    "component": "backend",
    "pr-id": "106",
    "commit-sha": "8f58d1d683d44f4614c5bca3ae17588711c7dab2"
  },
  {
    "project": "master-udp-acls",
    "component": "apotests",
    "pr-id": "1753",
    "commit-sha": "2e79fa4f8f430b3951823453a42a484c945c506d"
  }
]


[bam] bam/task_specific/classification/classification_tasks.py", line 136, in featurize . self._distill_inputs[eid]) KeyError: 97

I changed several config code position (includes bert_dir and self.bert_config_file) on configure.Config, so I can distill 12 layer teacher model's output to 3 layer student model by use another bert_config_file.
I could train teacher model normally.
But when I train the student model of distillation, error occurs.
command for train teacher model:
python -m bam.run_classifier news-model-teacher $BAM_DIR '{"debug": false, "task_names": ["news"], "pretrained_model_name": "chinese_L-12_H-768_A-12", "learning_rate": 2e-5, "num_train_epochs": 3.0, "distill": false, "max_seq_length": 512, "train_batch_size": 4, "save_checkpoints_steps": 10000}'
command for train student model:
python -m bam.run_classifier news-model-student $BAM_DIR '{"debug": false, "task_names": ["news"], "pretrained_model_name": "chinese_L-12_H-768_A-12", "learning_rate": 2e-5, "num_train_epochs": 3.0, "distill": true, "bert_config_file": "/home/work/repo/google-research-master/bam/bam_dir/pretrained_models/chinese_L-12_H-768_A-12/bert_config_3_layer.json", "teachers": {"news": "news-model-teacher"}, "max_seq_length": 512, "train_batch_size": 4, "save_checkpoints_steps": 10000}'
error message:
Traceback (most recent call last):
  File "/home/work/anaconda2/envs/py3-tf.1.12/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/work/anaconda2/envs/py3-tf.1.12/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/data/repo/google-research-master/bam/run_classifier.py", line 276, in <module>
    tf.app.run()
  File "/home/work/anaconda2/envs/py3-tf.1.12/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 125, in run
    _sys.exit(main(argv))
  File "/data/repo/google-research-master/bam/run_classifier.py", line 253, in main
    model_runner = ModelRunner(config, tasks)
  File "/data/repo/google-research-master/bam/run_classifier.py", line 152, in __init__
    sizes) = self._preprocessor.prepare_train()
  File "/data/repo/google-research-master/bam/data/preprocessing.py", line 63, in prepare_train
    return self._serialize_dataset(self._tasks, True, "train")
  File "/data/repo/google-research-master/bam/data/preprocessing.py", line 108, in _serialize_dataset
    self.serialize_examples(examples, is_training, tfrecords_path)
  File "/data/repo/google-research-master/bam/data/preprocessing.py", line 127, in serialize_examples
    tf_example = self._example_to_tf_example(example, is_training)
  File "/data/repo/google-research-master/bam/data/preprocessing.py", line 136, in _example_to_tf_example
    example, is_training))
  File "/data/repo/google-research-master/bam/task_specific/classification/classification_tasks.py", line 136, in featurize
    self._distill_inputs[eid])
KeyError: 97

@clarkkev Looking forward to your reply! Thanks.


Water at dead North dead ends glitches into maze chasm

"if water is at a dead end that dead ends in the north direction, the water tiles glitch into the canyon for some reason."

From discussion in PR #34

I reckon dead end water should probably be at most 28x28 centered on the chunk to avoid this. This also means I can simplify the mangroves on the dead ends and they will be more like an oasis.
Well, if oases were square :)
It is a slight buff to dead end water because there will be more mangroves as well as more coastline to place offshore pumps.
But I welcome alternative views or suggestions

@ChthonicOne thoughts welcome


QLoRA and DDP

Thanks for the great repo
i have two questions about training the models (specifically WizardCoder):

have you tried training with QLoRa, and not just LoRa ? are you considering adding it to the repo ?

the example usage (https://github.com/shibing624/CodeAssist#train-wizardcoder-model) is without ddp, only dp.
are you sure this is the optimal setting? We got significantly higher training rates with ddp

The base example is bad (no ddp)
cd examples
CUDA_VISIBLE_DEVICES=0,1 python training_wizardcoder_mydata.py --do_train --do_predict --num_epochs 1 --output_dir outputs-wizard --model_name WizardLM/WizardCoder-15B-V1.0

and there are some discrepancies in the code, that need adjustments to ddp, for example doing 'do_predict' on the main process.
anyway, thanks for the answer, and the great code.


Appstudio update hacbs-test-project-qlcy

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: hacbs-test-project-qlcy-on-pull-request-
cannot patch pipelinerun hacbs-test-project-qlcy-on-pull-request-: failed to patch pipelinerun rhtap-demo-bwzp-tenant/logURL with hacbs-test-project-qlcy-on-pull-request-s9775: pipelineruns.tekton.dev "hacbs-test-project-qlcy-on-pull-request-s9775" not found


Update tests targets to run locally and in CI

Related to #73
Current backend-test, frontend-test and test targets in Makefile run the tests well inside CI environment. However they won't work perfectly in a local environment (we need to install a few libs and keep some services running). We can't use docker images in the CIs, so we need to figure out the best approach to make these targets to work in both environments (local and CI).

Added as requirement to #73, closing this issue.


Feat(Core): Dispose dead monsters for MHR

I'm all for it to implement capture detection, but I don't think that should be implemented in the Game scanner.


Basic Implementation of a lair unlock command

/lair is supposed to give you the required mission to enter any lair, just stand on the portal itself and enter the command "/lair" into the chat.
Also had to modify the Mission Manager to add a an existing function to the namespace.

Merged manually.


vote ?

[ERR] WLLT: Failed to send vote for ticket hash 844c28ff7f9d22f84358c91c0f39500a1eb40ceb135cc233eebb7b5e2ae3631d: unmined transaction 9759d93318329c5d665d0f4f2ddc8b425f91712ed028d94f2fef2e852b66dc39 is a double spend of unmined transaction a2e6389e879e976d24354305933c98565feb9d2058f3e8212d2632019b7ea1c8

This has been addressed in commit 90dcd25e18e888d33b152bad4c8d4233d9bdc36e in the wallet


Add access token parameter for pyannote models

Problem
The new release of pyannote.audio comes with new authentication requirements to download models, so diart users using pyannote models will need to go through this authentication procedure, but diart does not provide a way to download huggingface models with an access token.
Idea
Add a parameter hf_access_token to PipelineConfig and to any pyannote model constructors.
Example
from diart import PipelineConfig, OnlineSpeakerDiarization

config = PipelineConfig(hf_access_token="...")
diarization = OnlineSpeakerDiarization(config)

# or

from diart.models import SegmentationModel, EmbeddingModel

segmentation = SegmentationModel.from_pyannote("pyannote/segmentation", hf_access_token="...")
embedding = EmbeddingModel.from_pyannote("pyannote/embedding", hf_access_token="...")
config = PipelineConfig(segmentation=segmentation, embedding=embedding)
diarization = OnlineSpeakerDiarization(config)

# or

from diart import settings

settings.set_global_hf_access_token("...")
diarization = OnlineSpeakerDiarization()

Implemented in #108


Update for the Romanian translation

Thanks! Would you be willing to update README.ro.md and config.json as well?

I did update the README.ro.md, but it seems it got lost. I am searching for it!

Found the README.ro.md. Added a new commit. Now I have to find time for config.json


Maximising client when idle

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always
frustrated when I don't realize that my player has gone idle
Describe the solution you'd like
Maximize the client when the player is idle.

We already have request focus on notification, what will unminimize your window. if it is not working for you i believe that is known issue on Windows too. Either way, no reason for this issue to be open


Adding EPS to the possible export formats

[x] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the solution you'd like
Using .eps aside .pdf or .svg would be nice.
Edit: If possible with attached xml data for drawio.

+1

Changed title and request, since I wrote the wrong file format (eps = Encapsulated PostScript)
See https://github.com/jgraph/drawio/issues/1539#issuecomment-736628209 for information about why eps could be come in handy.
That be said, I don't know much about this file format, only that matlab, plantuml, umlet all are capable to export/save this format and I never had a problem using it with latex.

Vote up. It'll be nice to have this feature.

Vote up. .svg or .pdf don't cut it many times.

For the effort required to implement this, the complexity of the task doesn't justify the feature.

Yes please! Vote up.

Yes please! Vote up.