VelocitybodyyawSpeed() - during hover drone is getting yaw. MAVSDK-Python

Hi,
I am testing my drone using VelocityBody code, where I am taking off drone to certain height using VelocityBodyyawSpeed(0.0,0.0,-1.5,0.0) for 6 seconds and hovering for 20 seconds. But I observe drone is getting yaw .Before drone is getting armed the heading angle is 8.27 and once in air it is changing to 30+ degree.
Below I have attached the yaw data from the test.

murali@Lenovo:~/MAVSDK-Python/examples$ python3 offboard_velocity_body_test.py
Waiting for drone to connect...
Drone discovered!
-- Initial Heading angle before arm
8.27
-- Arming
-- Setting initial setpoint
-- Starting offboard
in here
8.27
8.17
8.120000000000001
8.14
8.23
9.78
12.84
15.4
18.46
22.240000000000002
25.72
27.98
29.05
29.23
hover
29.68
31.77
34.2
35.9
37.410000000000004
40.31
41.1
41.04
40.97
44.12
45.64
45.5
45.25
46.21
45.93
45.07
43.64
43.02
42.89
44.39
46.910000000000004
47.52
47.15
47.22
47.480000000000004
47.83
47.54
46.85
46.94
47.1
46.38
44.300000000000004
42.42
41.64
41.13
40.78
40.99
42.22
44.49
47.01
48.410000000000004
48.39
47.81
47.36
47.4
47.54
47.62
47.24
46.83
46.33
46.29
47.25
48.77
50.44
-- Stopping offboard

This is the code:

import asyncio

from mavsdk import System
from mavsdk.offboard import (OffboardError, VelocityBodyYawspeed)

async def run():
 """ Does Offboard control using velocity body coordinates. """

drone = System()
await drone.connect(system_address="serial:///dev/ttyUSB0")

print("Waiting for drone to connect...")
async for state in drone.core.connection_state():
    if state.is_connected:
        print(f"Drone discovered!")
        break

print("-- Initial Heading angle before arm")
async for gps_info in drone.telemetry.heading():
    yaw = gps_info.heading_deg
    print(yaw)
    break

print("-- Arming")
await drone.action.arm()

print("-- Setting initial setpoint")
await drone.offboard.set_velocity_body(
    VelocityBodyYawspeed(0.0, 0.0, 0.0, 0.0))

print("-- Starting offboard")
try:
    await drone.offboard.start()
except OffboardError as error:
    print(f"Starting offboard mode failed with error code: \
          {error._result.result}")
    print("-- Disarming")
    await drone.action.disarm()
    return

asyncio.ensure_future(yaw_correction(drone)) #subscribing yaw data from telemetry

print("in here")
await drone.offboard.set_velocity_body(
    VelocityBodyYawspeed(0.0, 0.0, -1.5, 0.0))
await asyncio.sleep(6)
print("hover")
await drone.offboard.set_velocity_body(
    VelocityBodyYawspeed(0.0, 0.0, 0.0, 0.0))
await asyncio.sleep(1)

for a in range(20):
    await drone.offboard.set_velocity_body(
        VelocityBodyYawspeed(0.0, 0.0, 0.0, 0.0))
    await asyncio.sleep(1)

async for gps_info in drone.telemetry.heading():
    yaw1 = gps_info.heading_deg
    print(yaw1)
    break

print("-- Stopping offboard")
try:
    await drone.offboard.stop()
except OffboardError as error:
    print(f"Stopping offboard mode failed with error code: \
          {error._result.result}")

await drone.action.land()

async def yaw_correction(drone):
    async for gps_info in drone.telemetry.heading():
        yaw = gps_info.heading_deg
        print(yaw)

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run())

Ok, when you control a yawspeed, then you probably want to "close the loop" in your code, so then you control yaw by setting a yawspeed to reach it, basically a simple P controller.

Yes, I agree. But I am not giving any yaw deg/sec command in my code. But still I observe  yaw. Is there any parameters I should change or it is natural for the drone to yaw slightly when VelocityBodyYawspeed() command is running without giving yaw (deg/sec)

It is natural that there will be drift, and you need to control that drift by "closing the loop", e.g. by writing a controller to do that.

Thank you.


Peer dependecy error

While updating my project dependencies today using PNPM (updated vite-plugin-svelte to ^2.0.0 and vite to ^4.0.0), I got the following error:
. └─┬ @sveltejs/vite-plugin-svelte 1.4.0      ├── ✕ unmet peer<EMAIL_ADDRESS>found 4.0.0      └─┬ vitefu 0.2.2           └── ✕ unmet peer<EMAIL_ADDRESS>found 4.0.0
I solved it by changing the vitefu package.json in my local cache from:
"peerDependencies": {       "vite": "^3.0.0 || ^4.0.0"   },
to:
"peerDependencies": {       "vite": "^4.0.0"   },

vitefu 0.2.2

Looks like it's still installing 0.2.2. This should be fixed in 0.2.3

Indeed, I cleared PNPM cache with pnpm store prune, removed node_modules and the lockfile and everything reinstalled just fine.
Thank you.


marking my attendance for the week of 12-23-2024

Notes for Reviewers

This PR fixes #

Signed commits

[ ] Yes, I signed my commits.

🚀 Preview for commit ba96fc7489cc3ff4806f8cac25be6aa8a67846b3 at: https://676d66822e751fd073e291f9--meshery-docs-preview.netlify.app


Grouped comments in a PR

Is your feature request related to a problem? Please describe.
Currently, TODO might pick up on many comments in a single PR which results in a spammy-looking chain of pull request comments. It might be nice to provide an option for a slimmer PR comment design, something like this:
comment: normal | short | false

Something like this that auto-updates 👇

Todo items

Add more options to TODO
https://github.com/JasonEtco/todo/blob/6da9923ac79da2ae19d8e2e79c427ef82ea99895/lib/push-handler.js#L17-L21

Fix all the bugs
https://github.com/JasonEtco/todo/blob/6da9923ac79da2ae19d8e2e79c427ef82ea99895/lib/push-handler.js#L17-L21

This comment was generated by todo based on a TODO comment in b6ce962 in #3780. cc @JasonEtco.


Commend inside CQL always give error: Invalid amount of bind variables

This query works normally:
SELECT * FROM test1 WHERE id = ?;

This query always error: Invalid amount of bind variables
-- test 123
SELECT * FROM test1 WHERE id = ?;

// test 123
SELECT * FROM test1 WHERE id = ?;

/* test 123 */
SELECT * FROM test1 WHERE id = ?;

I need comments because I have a code that make debugging easier (printing file name and line number inside the CQL as comment, so I can know which CQL causes the error.

In general gocql driver (not gocqlx) handles one query at once so you need to chop them on your own. Similar work https://github.com/scylladb/gocqlx/blob/master/migrate/migrate.go#L155.


Starting bot

===============ISSUE SECTION===============
have been getting this error for the last 2 days now, already deleted everything and started over and still getting it. Can anyone help? On the newest dev now but also tried the master same error. Also tried different networks still no change.
Edit: Also just tried running it as sudo still no change.
Yannics-MacBook-Air:~ naturalhealingways$ cd PokemonGo-Bot
Yannics-MacBook-Air:PokemonGo-Bot naturalhealingways$ virtualenv .
New python executable in /Users/naturalhealingways/PokemonGo-Bot/bin/python
Installing setuptools, pip, wheel...done.
Yannics-MacBook-Air:PokemonGo-Bot naturalhealingways$ source bin/activate
(PokemonGo-Bot) Yannics-MacBook-Air:PokemonGo-Bot naturalhealingways$ pip install -r requirements.txt
Collecting numpy==1.11.0 (from -r requirements.txt (line 1))
Using cached numpy-1.11.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Collecting networkx==1.11 (from -r requirements.txt (line 2))
Using cached networkx-1.11-py2.py3-none-any.whl
Obtaining pgoapi from git+https://github.com/keyphact/pgoapi.git@a2755eb42dfe49e359798d2f4defefc97fb8163d#egg=pgoapi (from -r requirements.txt (line 3))
Skipping because already up-to-date.
Collecting geopy==1.11.0 (from -r requirements.txt (line 4))
Using cached geopy-1.11.0-py2.py3-none-any.whl
Collecting protobuf==3.0.0b4 (from -r requirements.txt (line 5))
Using cached protobuf-3.0.0b4-py2.py3-none-any.whl
Collecting requests==2.10.0 (from -r requirements.txt (line 6))
Using cached requests-2.10.0-py2.py3-none-any.whl
Collecting s2sphere==0.2.4 (from -r requirements.txt (line 7))
Using cached s2sphere-0.2.4-py2.py3-none-any.whl
Collecting gpsoauth==0.3.0 (from -r requirements.txt (line 8))
Collecting protobuf-to-dict==0.1.0 (from -r requirements.txt (line 9))
Collecting googlemaps==2.4.4 (from -r requirements.txt (line 10))
Using cached googlemaps-2.4.4-py2-none-any.whl
Collecting colorama==0.3.7 (from -r requirements.txt (line 11))
Using cached colorama-0.3.7-py2.py3-none-any.whl
Collecting enum34==1.1.6 (from -r requirements.txt (line 12))
Using cached enum34-1.1.6-py2-none-any.whl
Collecting pyyaml==3.11 (from -r requirements.txt (line 13))
Using cached PyYAML-3.11.zip
Collecting haversine==0.4.5 (from -r requirements.txt (line 14))
Collecting polyline==1.3.1 (from -r requirements.txt (line 15))
Using cached polyline-1.3.1-py2.py3-none-any.whl
Collecting python-socketio==1.4.2 (from -r requirements.txt (line 16))
Collecting flask==0.11.1 (from -r requirements.txt (line 17))
Using cached Flask-0.11.1-py2.py3-none-any.whl
Collecting socketIO_client==0.7.0 (from -r requirements.txt (line 18))
Collecting eventlet==0.19.0 (from -r requirements.txt (line 19))
Using cached eventlet-0.19.0-py2.py3-none-any.whl
Collecting gpxpy==1.1.1 (from -r requirements.txt (line 20))
Collecting mock==2.0.0 (from -r requirements.txt (line 21))
Using cached mock-2.0.0-py2.py3-none-any.whl
Collecting timeout-decorator==0.3.2 (from -r requirements.txt (line 22))
Collecting raven==5.23.0 (from -r requirements.txt (line 23))
Using cached raven-5.23.0-py2.py3-none-any.whl
Collecting demjson==2.2.4 (from -r requirements.txt (line 24))
Collecting greenlet==0.4.9 (from -r requirements.txt (line 25))
Using cached greenlet-0.4.9.zip
Collecting yoyo-migrations==5.0.3 (from -r requirements.txt (line 26))
Using cached yoyo-migrations-5.0.3.tar.gz
Collecting decorator>=3.4.0 (from networkx==1.11->-r requirements.txt (line 2))
Using cached decorator-4.0.10-py2.py3-none-any.whl
Collecting six (from pgoapi->-r requirements.txt (line 3))
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting xxhash (from pgoapi->-r requirements.txt (line 3))
Using cached xxhash-0.6.1.tar.gz
Complete output from command python setup.py egg_info:
Download error on https://pypi.python.org/simple/nose/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
Couldn't find index page for 'nose' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) -- Some packages may not be found!
No local packages or working download links found for nose>=1.3.0
Traceback (most recent call last):
File "", line 1, in
File "/private/var/folders/12/tynmmybj55x7jjvj0wg99btr0000gn/T/pip-build-8RdrP8/xxhash/setup.py", line 58, in
'Programming Language :: Python :: Implementation :: CPython',
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)
File "/Users/naturalhealingways/PokemonGo-Bot/lib/python2.7/site-packages/setuptools/dist.py", line 348, in init
self.fetch_build_eggs(attrs['setup_requires'])
File "/Users/naturalhealingways/PokemonGo-Bot/lib/python2.7/site-packages/setuptools/dist.py", line 394, in fetch_build_eggs
replace_conflicting=True,
File "/Users/naturalhealingways/PokemonGo-Bot/lib/python2.7/site-packages/pkg_resources/init.py", line 826, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/Users/naturalhealingways/PokemonGo-Bot/lib/python2.7/site-packages/pkg_resources/init.py", line 1098, in best_match
return self.obtain(req, installer)
File "/Users/naturalhealingways/PokemonGo-Bot/lib/python2.7/site-packages/pkg_resources/init.py", line 1110, in obtain
return installer(requirement)
File "/Users/naturalhealingways/PokemonGo-Bot/lib/python2.7/site-packages/setuptools/dist.py", line 461, in fetch_build_egg
return cmd.easy_install(req)
File "/Users/naturalhealingways/PokemonGo-Bot/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 658, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('nose>=1.3.0')
----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/12/tynmmybj55x7jjvj0wg99btr0000gn/T/pip-build-8RdrP8/xxhash/
(PokemonGo-Bot) Yannics-MacBook-Air:PokemonGo-Bot naturalhealingways$ ./run.sh
Traceback (most recent call last):
File "pokecli.py", line 39, in
from pgoapi.exceptions import NotLoggedInException, ServerSideRequestThrottlingException, ServerBusyOrOfflineException
ImportError: No module named pgoapi.exceptions
Wed Aug 17 08:21:03 PDT 2016 Pokebot  Stopped.
Press any button or wait 20 seconds to continue.
Other Information
OS: IOS
Branch:
Tried Both
Git Commit:
423e4dea72c0b04d8882ef90f03949fe3bf35ac2
Python Version:
2.7.12

Try doing pip install -r requirements.txt --no-cache-dir

i just did a git pull.
the setup.sh -r ran without any errors.
it is up and running
Macbook Air. Latest OSX

Still the same error, could it be something in my computer settings? not sure what it would be but seems like its working for other people and i just did a clean install.

Weird it works fine for me on multiple machines. Did you deactivate before trying a clean install?

i had problem on Mac. turned out to be the text editor i'm using. i changed to BBEdit, then the problem went away.
Just curious, the program does not send OS info to server, right?

@yweitkemper also, have you tried doing pip install nose or pip install pgoaopi manually to see if the error still occurs?

That worked thanks


Figure out why SRBs fail so much

I think the code is being called from somewhere else - investigate

Fixed. Initialise gets called 5 times before the scene has even loaded. Moved the code to ActivateFailures - job done.


sorry, something went wrong. If this issue persists, please file an issue at

Is this still persisting? I only see an error about Missing Permissions - does the bot have permissions to:

reply to people
include embeds
generally write
?

No activity, so I'll close this. Feel free to reopen if the issue persists.


literal double-curly in template?

I'm trying to get this to work:
{{- range .Values.envs }}
{{ . }}: \{\{ {{ . }} \}\}
{{- end }}

Which should end up like this:
HELLO_UNIVERSE: {{ HELLO_UNIVERSE }}

But when using install with --debug, I get:
HELLO_UNIVERSE: \{\{ HELLO_UNIVERSE \}\}

I tried different styles, but I can't get the expected output.

Use {{ "{{" }}.

I tried that, but I get:
{{- range .Values.envs }}
{{ . }}: {{ "{{" }}{{ . }}{{ "}}" }}
{{- end }}

Error: yaml: invalid map key: map[interface {}]interface {}{"HELLO_UNIVERSE":interface {}(nil)}

If you're trying to iterate through keys to dump as envvars in a manifest, try this:
{{ $key, $value := range .Values.envs }}
{{ $key }}: {{ $value | quote }}
{{ end }}

Either way (using the quote function or encasing the double curly braces in a string) will allow you to render double curly brackets in your template. The rest is up to you :)

No, I was explicitly trying to get the output I specified in the original post, so not using a map, but an array.
You say "either way using double curly braces in a string will allow you to render double curly brackets in your template", but isn't that what I demonstrated above, which doesn't work?
Here are some other things that don't work:
{{- range .Values.envs }}
{{ . }}: {{ "{{ " | quote }} {{ . }} {{ " }}" | quote }}
{{- end }}

Error: yaml: line 5: did not find expected key

{{- range .Values.envs }}
{{ . }}: {{ {{ | quote }} {{ . }} {{ }} | quote }}
{{- end }}

Error: parse error in "web/templates/resources.yaml": template: web/templates/resources.yaml:93: unexpected "{" in command

{{- range .Values.envs }}
{{ . }}: \{\{ {{ . }} \}\}
{{- end }}

works, but results in:

HELLO_UNIVERSE: \{\{ HELLO_UNIVERSE \}\}

{{- range .Values.envs }}
{{ . }}: {{ "{{" }} {{ . }} {{ "}}" }}
{{- end }}

Error: yaml: invalid map key: map[interface {}]interface {}{"HELLO_UNIVERSE":interface {}(nil)}

In all of those cases, you are assigning the dot variable to a map[interface {}] interface {}. In other words, range .Values.envs is not an array but a yaml key/value pair, so from my perspective it didn't look like an array.
Can you post a clearer example of what your values.yaml looks like? That way we can figure out how you're trying to template it out.

Try {{ range $key, $value := .Values.envs }}.

It's been a few months, so I am closing this. Feel free to re-open if necessary.

Sorry for not responding Matt. I went a different route, and must have missed your comment 👍

Try
{{- range .Values.envs }}
{{ . }}: `{{` {{ . }} `}}`
{{- end }}

I added my solution in this comment here, I think that might be useful. https://github.com/helm/helm/issues/2798#issuecomment-890478869


Create Email Troubleshooting Guide

adding

Docs Build status updates of commit 476bf4c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

dynamics-gp/installation/Email Troubleshooting Guide
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 256fae9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

dynamics-gp/installation/Email Troubleshooting Guide
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 16484a7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

dynamics-gp/installation/Email Troubleshooting Guide
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


feat: 🎸 intersection and union types

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


WIP: Create Monitor to support js-contexts @monitored decorator

Description
I want to create a Monitor class that resembles how DBTransaction works by creating a "re-entrant" object that can be used to lock things.
Combined with a @monitored decorator in js-contexts, we can enable ContextMonitored that enables declarative mutual exclusion contexts for arbitrary concurrent state mutation.
This can be useful for js-quic and other projects which require concurrency control but don't have any use of js-db which is the only thing that provides this construct.
This is a proper realisation of the js-async-monitor idea first explained here: https://github.com/MatrixAI/js-async-monitor/issues/1 and obviates that project, since you wouldn't need it.
Issues Fixed

Fixes #21

Tasks

[ ] 1. Create a Monitor class that resembles DBTransaction
[ ] 2. Integrate timer and cancellability into the standard locks
[ ] 3. Integrate it into the Monitor as well
[ ] 4. Install this into js-contexts
[ ] 5. Test out @monitored decorator and monitored HOF in js-contexts
[ ] 6. Update project framework to use SWC to test

Final checklist

[ ] Domain specific tests
[ ] Full tests
[ ] Updated inline-comment documentation
[ ] Lint fixed
[ ] Squash and rebased
[ ] Sanity check the final build

Should the Monitor implement the Lockable interface? It seems that it would suit it. Right now DBTransaction doesn't bother with that, it provides a more convenient method called lock which can be used directly with strings like tran.lock('a', 'b').
Right now LockBox which does implement Lockable, it had to also provide a separate function called lockMulti that exposed the array of resource acquisitions which was then used by DBTransaction.
The DBTransaction.lock however returned Promise<void> probably because it doesn't expect the resource to be combined with anything else. I think it should be possible to do this.

As a minimal prototype, I've extracted the logic out of DBTransaction into Monitor. The implementation is surprisingly thin. It was easy to extract this factor out.
However it of course doesn't fit the Lockable interface... and I wonder if it makes sense to do so...
We shall see.

So it turns out that js-contexts doesn't actually use js-async-locks at all.
[nix-shell:~/Projects/js-contexts]$ npm list --depth=4 | gr
ep @matrixai
<EMAIL_ADDRESS>/home/cmcdragonkai/Projects/js-contexts
├──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped

So we have an opportunity to either bring in the js-contexts into js-async-locks, or to bring js-async-locks into js-contexts.
I think in this case it makes more sense for js-async-locks to be a dependency of js-contexts.

I integrated ContextTimed into the Lock, and now we have a problem.
The problem is that currently due to https://github.com/DirtyHairy/async-mutex/issues/64, when we attempt to race between lock.acquire() and say an abortP, there's no way to cancel only a specific pending lock.
That means in this example:
  const lock = new Lock();
  const [release] = await lock.lock()();

  // Ok now so this should fail after 500 ms
  try {
    const [release2] = await lock.lock({
      timer: new Timer({ delay: 500 })
    })();
  } catch (e) {
    console.log('TIMED OUT', e instanceof errors.ErrorAsyncLocksTimeout);
  }
  await release();
  console.log(lock.isLocked());

We will end up with true at the end, even though the original lock awaiter has failed due to timing out after 500ms.
A proper solution is to ensure that we can cancel just a specific pending lock.
If we use lock.cancel() it cancels ALL pending locks which is not what we want.
Because of issue 63, we may have to reimplement our own async-mutex underneath. It shouldn't be too difficult since we did most of the work already.

A quick hack is to add this:
            // This is quick hack due to
            // https://github.com/DirtyHairy/async-mutex/issues/64
            // Here we chain it to release immediately
            void acquireP.then((release) => release());

To immediately chain the release when it does acquire it. But that seems redundant, and also I'm not sure how that would work with the await yieldMicro().

Another thing is that I should change js-resources to change ResourceAcquire to use PromiseLike instead of Promise. This can allow the public lock to return PromiseCancellable type.

Ok so basically we're going need to build out the async-mutex with the ability to cancel a specific one.

The addition of weights means Semaphore is breaking API since the signature is now like await semaphore.lock(weight, ctx)(). required. The weight is defaulted to 1. Which means by default you are locking only of weight 1.

Everything is built on top of the Semaphore now. Even a Lock is just a Semaphore with a limit of 1. Now both Lock and Semaphore pass tests.

I've fixed up a bug in semaphore. Basically both lockers and waiters can use the same queue, it doesn't require separate queues unlike what chatgpt said. This keeps everything ordered properly and fixed the RWLockWriter order of operations issue.
Additionally for RWLockWriter in order to synchronise the order of the readers, I've made the second and subsequent readers end up waiting for the first reader to acquire the read lock first. This is more robust than adding 3 microyields which may not work well if the underlying operations change in the future.

Removed micro yields, so far everything is working.
I'm noting the fact that I didn't await on the releasing functions in RWLockReader. It seems to work fine though.

Just realised that I could have just wrapped all the async await in a const f = async () => { ... } and then at the very end wrap the f() in PromiseCancellable.from, it would have been simpler than having to convert it all the promise chaining syntax.

Looks like all existing concurrency control mechanisms have been ported over and now support cancellability.
Now it's time to get back to the Monitor.

I've had to change the API for LockBox a bit.

We cannot use ToString, the lock key must be string. So any users must convert toString ahead of time. This was due to ambiguity between the ToString and the Partial<ContextTimedInput>.
The waitForUnlock now can take the key, ctx or just take ctx or just take key.

Monitor due to wrapping the Lockbox behaves differently when we synchronously attempt to lock a key then ask it whether that key is locked.
The problem is because Monitor wraps lockbox and its own _locks map isn't updated until the lock has been fully acquired.
In order to maintain consistent behaviour, the solution is to extend the _locks map with pending variant.
Something like:
  protected _locks: Map<
    string,
    { status: 'acquiring', type: 'read' | 'write' } |
    { status: 'acquired', type: 'read' | 'write'; lock: RWLock; release: ResourceRelease; }
  > = new Map();

We can then use acquired status to know that the key is pending with respect to that specific monitor.
An important realisation is that isLocked should return true upon synchronously attempting to lock. This is the case for all other locking mechanisms currently.

The deadlock detection system is working. I'm putting the last test cases for the Monitor and we should see everything working.

Ok all deadlock tests pass now. The deadlock detection revealed a very tricky race condition when using PromiseCancellable.
Basically, when creating derived promises, PromiseCancellable, we often need to use combinators like then. When doing this, the signal chain is not automatically propagated. It has to be done manually by connecting it with the PromiseCancellableController type.
Usually it is simple "chain" the signal cancellation. For example this is the lock method of Lock.
  public lock(ctx?: Partial<ContextTimedInput>): ResourceAcquireCancellable<Lock> {
    const acquire = this.semaphore.lock(1, ctx);
    return () => {
      const acquireP = acquire();
      return acquireP.then(
        ([release]) => [release, this],
        undefined,
        (signal) => {
          // Propagate cancellation to `acquireP`
          signal.addEventListener(
            'abort',
            () => {
              acquireP.cancel(signal.reason);
            },
            { once: true }
          );
        }
      );
    };
  };

This works since it can be guaranteed that acquireP would be available to be cancelled by the time any user would have access to the returned promise of lock()().
However in other places I'm using a pattern where I create a currentP that gets reassigned to whichever promise may current be blocked. This seems like it would work, but it's in fact a bit of a footgun.
Imagine instead the above function had to wait for 2 promises, 2 separate blocking operations that may require cancellation. This is what happened in RWLockWriter.write and RWLockReader.read.
In this case, a possible race condition occurs when you call p.cancel, but it ends up cancelling in the middle between the first blocking operation and the second blocking operation. That means it may be cancelling a promise that has already been resolved.
The solution to this problem is to not do this. It's not a good idea basically. Instead one should re-use the utils.setupTimedCancellable utility which will give you a ctx: ContextTimed that can be shared between the 2 blocking operations, such that if any signal cancellation occurs, even if it were to occur in between the 2 blocking operations, the fact that the ctx.signal is shared between the 2 operations ends up causing the second operation to reject with the abortion error.
So the only time we should use the pattern of currentP is to use it like we do above in Lock.lock, where there's only 1 assignment. So that way the whole asynchronous operation either resolves or rejects, there's no intermediate state where cancellation occurs against something that's already resolved, and thus the partial async operation ends up blocking and causing a deadlock.
I've added tests to both RWLockReader and RWLockWriter called promise cancellation for read then write and promise cancellation for write then read to ensure no regressions on this.

Beware of the above @amydevs @tegefaulkes when using the PromiseCancellable.

Had to update to 1.1.1 for js-timer as there was a bug there. That needs to propagate to all other libraries @tegefaulkes @amydevs


Draw.io file siye is getting enormous

For some reason, the file size that draw.io is cresting is getting huge and needs optimization a lot,
In my case, there is a diagram with multiple tabs (40+) and each of them has multiple embedded pictures in SVG format (file sizes between 5-15kB). And now the draw.io diagram is generating a file with a size of 300MB.
If calculating embedded picture sizes together these are still less than 1MB together, so why Draw.Io is creating such a huge file (300x times bigger than embedded pictures) from it?

Any raster images embedded?

Noup all images are very small svg images. Just wondering if the embedding somehow causes a file-increasing issue here.
Also tested exporting the whole drawing to the XML and HTML formats and both are getting as big as the original file.

What are the reproduction steps?


RuntimeWarning: invalid value encountered in true_divide

Your work is so great, thank you for sharing your code!
I tried to inference some images using your model and your code.
Almost everything is good, but with some images, I receive warning:
data_loader.py:197: RuntimeWarning: invalid value encountered in true_divide
image = image/np.max(image)
Like this image: https://drive.google.com/file/d/1iFTb29lu3cWQzrMMdMB3y03Fcoqd7Gkg/view?usp=sharing
I do not know why this happen? I mean what happens in data_loader.py file give this warning. Could warning affect the quality of result?

Hi,
Thank you for your interests. Sorry for the late reply. We just tested your
image on our local machine. There is no error and warning on that. Below is
the result.
"data_loader.py:197: RuntimeWarning: invalid value encountered in
true_divide
image = image/np.max(image) "
The above warning shouldn't be triggered, if you use the original code.
Because  th e line 197 in data_loader.py is for normalize the image in lab
space. " tmpImg[:,:,1] = (tmpImg[:,:,1]-np.mean(tmpImg[:,:,1]))/np.std(
tmpImg[:,:,1])". Only if (flag=1) in line 72 in u2net_test.py "ToTensorLab(
flag=0)", the above warming may be triggered because the std(image) is
possible to be zero. So please check the "flag" and make sure "flag=0".
[image:
shopee_images_thoi_trang_nam_ao_thun_ao_ngan_tay_co_co_1__1732985160__16872631_be421050a9c722f20736ae31b5d34ab7.png]
On Tue, May 19, 2020 at 5:26 AM LeCongThuong<EMAIL_ADDRESS>wrote:

Your work is so great, thank you for sharing your code!
I tried to inference some images using your model and your code.
Almost everything is good, but with some images, I receive warning:
data_loader.py:197: RuntimeWarning: invalid value encountered in
true_divide
image = image/np.max(image)
Like this image:
https://drive.google.com/file/d/1iFTb29lu3cWQzrMMdMB3y03Fcoqd7Gkg/view?usp=sharing
I do not know why this happen? I mean what happens in data_loader.py file
give this warning. Could warning affect the quality of result?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NathanUA/U-2-Net/issues/23, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSGORKWQYYVSQQEP7XIULDRSJUEPANCNFSM4NE5H3ZQ
.

--
Xuebin Qin
PhD
Department of Computing Science
University of Alberta, Edmonton, AB, Canada
Homepage:https://webdocs.cs.ualberta.ca/~xuebin/

Thank you!


Update sshd-logs.yaml (obfuscated-openssh-patches)

Not sure if I created a correct pattern, could you check for correctness, please?
This pattern is a result of sshd obfuscated handshake patches from here (Github repo)
A failed authentication message looks like that in auth.log:
Oct 10 01:48:14 username sshd[386400]: Magic value check failed<PHONE_NUMBER>) on obfuscated handshake from <IP_ADDRESS> port 62730
Fail2ban filter string looks like that:
^Magic value check failed \(\d*\) on obfuscated handshake from <HOST> port
Hope it helps! Just contact me for more info.

@buixor This can be closed, as its been merged in PR 424


Unable to Access Actual Screen Size

Hello,
No matter which property I use, I cannot get the actual screensize.
When using:
ScreenName.Width, Parent.Width, App.Width or App.DesignWidth, all of them show 1366 no matter which device I open the app on.
I've even tried spinning up a Preview environment but the issue still persists.
Am I missing something? It appears from Hiro's video here (https://youtu.be/VDmVw7IEFP8?t=406) that ScreenName.Width should be dynamic.
Thoughts?
Thank you

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

ID: 73233c3d-8bfe-eadc-5b8a-264742ec7045
Version Independent ID: a34dc40d-9d6e-33b2-7e61-0c46a71d3608
Content: Create responsive layouts in canvas apps - PowerApps
Content Source: powerapps-docs/maker/canvas-apps/create-responsive-layout.md
Service: powerapps
GitHub Login: @emcoope-msft
Microsoft Alias: emcoope

I figured out my problem. Pretty embarassed to say it but...
I Collect'ed the values at the start of my app (which means they're static from that point). Then visualizing them on the screen did nothing... SHEESH!
Sorry for the bother.

@SeaDude: Thanks for letting us know! :-)


has_many :through

This should actually be pretty easy to implement, I think.  Something like:
class Blog
  has_many :in, :posts, type: :for_blog
  has_many :comments, through: :posts

class Post
  has_many :in, :comments, type: :for_post

class Comment

Actually, just thinking about it, why not just implement class methods which return QueryProxy objects?
I ran into this while investigating converting an ActiveRecord app to Neo4j

Love this!

as I understand it you mean
class Blog
    has_many :in, :posts, type: :for_blog
    def comments
          posts.each{|p|p.comments}
    end

though I am not sure that quite works for has_many as the each breaks the proxy chain

That actually works currently with a couple of changes:
class Blog
  has_many :in, :posts, type: :for_blog
  def self.comments
    all.posts.comments
  end
end

My suggestion was to basically allow for this as a shortcut:
class Blog
  has_many :in, :posts, type: :for_blog
  has_many :comments, through: :posts
end

Though as I type that, I realize that the arguments to has_many would have to become more magical (that is, sometimes it starts with a direction, sometimes it refers to an association name).  Maybe there could be a has_many_through method in this case, though has_many_through :comments, through: :posts reads a bit odd.
I'm also thinking that you could do:
has_many :commenters, through: [:posts, :comments]
That would be the same as doing:
  def self.commenters
    all.posts.comments.commenters
  end

I dunno, maybe this isn't the best idea because you can do this with class methods and the class methods aren't really much more complicated in the simple can and they're much more flexible in the complicated case.  Plus it's very obvious what's going on

OK got it there is no need to use each, and using all is not quite the same as through as it returns all the relationships for that class! that is there may be more than one blog.
so I am doing this with
class Blog
    has_many :in, :posts, type: :for_blog
    def comments
        posts.comments
    end
end

and access is with pluck or return, such as:
blog.comments(:c).pluck('c.text')

on adapting has_many, a kind of hacky  way would be for it to ignore the direction/ and just define and return/include the method if :through is in the argument list. the direction could still be useful for convention,

I'd be surprised if the blog.comments(:c).pluck('c.text') worked because the comments method as you defined it doesn't take any arguments.  Could be fixed like:
def comments(*args)
    posts.comments(*args)
end

Which I suppose makes a bit more of an argument for has_many :through functionality.
Also, I'd make a habit of using the all:
def comments(*args)
    all.posts.comments(*args)
end

If you don't use it, Blog.comments would work fine, but something like Site.blogs.comments wouldn't (but it does if you use all).

Right you are with the argument list,
however  if I stick an all at the front like that I get the error
NoMethodError: undefined method `all' for #<Blog:0xbf2da2c>

however if I do
posts.all.comments(*args)

that works. dose It have the same effect?

Oh, d'oh, sorry.  You're talking about instance methods, while I'm talking about class methods.  The all only works in class methods


Reimplemented Verlet Integration in Python

During a recent discussion about #243 I noticed that the Python version of our Verlet Integration example code is vastly different from all other implementations. It creates a Simulation class and the 3 Verlet algorithms are classes that inherit from that Simulation class.
I changed the code to more closely match the other language implementations because I think that introducing classes and inheritance to a piece of example code like this is a bit excessive. Tell me what you think.

Gosh, imagine that, conflicts cause by files being moved around.  @Butt4cak3, can you fix these?


The send button should be set to a prominent black color to be more intuitive

Bug Report
Description
Bug Summary:
[Provide a brief but clear summary of the bug]

Steps to Reproduce:
[Outline the steps to reproduce the bug. Be as detailed as possible.]
Expected Behavior:
[Describe what you expected to happen.]
Actual Behavior:
[Describe what actually happened.]
Environment

Open WebUI Version: [e.g., 0.1.120]

Ollama (if applicable): [e.g., 0.1.30, 0.1.32-rc1]

Operating System: [e.g., Windows 10, macOS Big Sur, Ubuntu 20.04]

Browser (if applicable): [e.g., Chrome 100.0, Firefox 98.0]

Reproduction Details
Confirmation:

[ ] I have read and followed all the instructions provided in the README.md.
[ ] I am on the latest version of both Open WebUI and Ollama.
[ ] I have included the browser console logs.
[ ] I have included the Docker container logs.

Logs and Screenshots
Browser Console Logs:
[Include relevant browser console logs, if applicable]
Docker Container Logs:
[Include relevant Docker container logs, if applicable]
Screenshots (if applicable):
[Attach any relevant screenshots to help illustrate the issue]
Installation Method
[Describe the method you used to install the project, e.g., manual installation, Docker, package manager, etc.]
Additional Information
[Include any additional details that may help in understanding and reproducing the issue. This could include specific configurations, error messages, or anything else relevant to the bug.]
Note
If the bug report is incomplete or does not follow the provided instructions, it may not be addressed. Please ensure that you have followed the steps outlined in the README.md and troubleshooting.md documents, and provide all necessary information for us to reproduce and address the issue. Thank you!

Fixed on dev!


Don't throw error when mesh isn't from hierarchy

[x] Remove error for the case where user gives a mesh not from a hierarchy. Instead set r_loc = 0 and don't carry on into CoarseningLocalisation. Possibly give a warning this happened.

Warning isn't given.

Also:

If r_loc > len(hierarchy) - 1 then set r_loc = len(hierarchy) - 1.

landed in #37


add map tools

reference: https://github.com/ddnet/ddnet/blob/master/src/tools/map_extract.cpp

datafile documentation: https://github.com/heinrich5991/libtw2/blob/f3bc91564d06ffae2df385f5db0fdad4ed4d28b1/doc/datafile.md

those Rust abstractions are too complicated to port to Golang.. meh (rust map library)


Nightly builds failing

The nightly builds for this cookbook have been failing for the last couple of weeks, e.g. https://github.com/ProjectPythia/intake-cookbook/actions/runs/3717648320/jobs/6305214610
What has changed upstream that triggered the failure?

I think it is a problem associated with a new version of python. Trying to use the book locally on my computer Jupyter labs would not load, but pinning the python version to 3.8 seems to fix the issue.

This was fixed in #28, closing now.


Update generators to be compatible with stylelint standards.

Commit tooling for future development.

SCSS must be changed in https://github.com/zurb/foundation-sites, not this repo. Closing.


Skip unshallow step in test workflow

Changes
This workflow doesn't need the full commit history, so we can skip it.
Tests
n/a

Codecov Report
All modified lines are covered by tests :white_check_mark:
:loudspeaker: Thoughts on this report? Let us know!.


Project proposal for SD-JWT in Rust.

Hi there, the DSR team is happy to apply our experience in Rust language and selective disclosure verifiable credentials to SD-JWT and the OpenWallet Foundation initiative. We'd like to propose the initial implementation of the latest version of the standard.
As a first step, we suggest having a minimal rust crate similar to Python implementation. We have PoC implementation, and if the Foundation approves the approach, we will be ready to open the codebase under the Apache 2.0 license in a few days.
Some other Rust implementations exist, but the ones we know are outdated or under inappropriate licenses.

Is this a separate project surely we need to ensure coordination across the other SD-JWT projects.

I have added this to the November 15 TAC call. Please join us if you can to discuss with the larger community.

Unanimously approved at the November 15, 2023 TAC meeting


Move Point to Offset

I recommend reviewing the commits one at a time. Some need more study than others.
I'll send an e-mail before landing this.
Right now this is blocked on fixing the regression caused by https://github.com/flutter/engine/pull/3571.

(Note, this depends on https://github.com/flutter/engine/pull/3567.)

Fixes https://github.com/flutter/flutter/issues/6794

I plan to land this Monday once I've gotten Fuchsia ready as well.

This will land when Travis goes green.


Autolayout support

Hello! I'd love to adopt SnapshotTest for a set of views, however they are sized based on their content and constraints. Is there a recommended setup so that they'll properly resolve their constraints and size themselves?
Cheers!

Hi Ian. Interesting question.
If I understand you correctly you don't want to set an initial frame on your SUT view and that it has AutoLayout constraints that size itself. I usually let the parent set constraints on child views so I can't say I've stumped upon this use case and therefore I can't say I recommend a certain way of doing this.
SnapshotTest does layout AutoLayout constraints before recording and comparing snapshots so what you can do is wrap the view in a containing view that is larger than the SUT view.
Consider the SUT:
class SelfSizingView : UIView {

    override init(frame: CGRect) {
        super.init(frame: frame)
        setUp()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setUp()
    }

    func setUp() {
        backgroundColor = .red
        NSLayoutConstraint.activate([
            widthAnchor.constraint(equalToConstant: 100),
            heightAnchor.constraint(equalToConstant: 100)
        ])
    }
}

Then in your test case:
class SelfSizingViewTests: SnapshotTestCase {

    func testSelfSizingView() {
        let wrapper = UIView(frame: CGRect(origin: .zero, size: CGSize(width: .max, height: .max)))
        let sut = SelfSizingView(frame: .zero)
        sut.translatesAutoresizingMaskIntoConstraints = false
        wrapper.addSubview(sut)
        NSLayoutConstraint.activate([
            sut.centerXAnchor.constraint(equalTo: wrapper.centerXAnchor),
            sut.centerYAnchor.constraint(equalTo: wrapper.centerYAnchor)
        ])

        RecordSnapshot(sut)
    }
}

Just make sure you snapshot the SUT and not it's container so you only get the self sized view you want:

If this is a common use case for you it might be a good idea to build a helping type. I tried making one but in all honesty it feels sort of hacky.
func wrap(_ view: UIView, then: (UIView) -> Void) {
    let wrapper = WrapperView(for: view)
    wrapper.layoutIfNeeded()
    then(view)
}

class WrapperView : UIView {

    init(for view: UIView, size: CGSize = CGSize(width: .max, height: .max)) {
        super.init(frame: CGRect(origin: .zero, size: size))
        view.translatesAutoresizingMaskIntoConstraints = false
        addSubview(view)
        NSLayoutConstraint.activate([
            view.centerXAnchor.constraint(equalTo: centerXAnchor),
            view.centerYAnchor.constraint(equalTo: centerYAnchor)
        ])
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

In your test you could just:
class SelfSizingViewTests: SnapshotTestCase {

    func testSelfSizingView() {
        wrap(SelfSizingView(frame: .zero)) { sut in
            RecordSnapshot(sut)
        }
    }

    func testSelfSizingView_withAlterationBlue() {
        wrap(SelfSizingView(frame: .zero)) { sut in
            sut.backgroundColor = .blue
            RecordSnapshot(sut)
        }
    }
}

The reason I think it's hacky is that I only do wrapper.layoutIfNeeded() to get rid of the warning that wrapper is unused. You just need a reference to it so it doesn't get released before the snapshot is recorded.
I bet we could come up with a better solution but this is what I would do off the top of my head.

Ah that works brilliantly, thanks so much! I tried similar but my wrapper was instead sized zero and I had hoped layout-ing would push both the wrapper and my wrapped view out with no luck. I never thought to give is as much space as it needed, feels like a duhhh moment ;)
Rather than the layoutIfNeeded we could ensure post wrap our View is rid of any "unexpected" (perhaps by the writer of the test) side effects, in our case becoming a subview.
extension UIView {
    public func removeAllSubviews() {
        while self.subviews.count > 0
        {
            self.subviews.last?.removeFromSuperview()
        }
    }
}

func wrap(_ view: UIView, then: (UIView) -> Void) {
    let wrapper = WrapperView(for: view)
    then(view)
    wrapper.removeAllSubviews()
}

Then we could rename it from wrap to autolayoutForTest or something along those lines.

Glad I could help.

I'm a little surprised that this is the first time that this situation has come up, from my (obviously very specific 😉) point of view I could see the above code having a place in the SnapshotTest code, making it available to others.

I don't think it's widely used is all. Our modus has been to build for our needs and not make assumptions regarding how other people do things.
That said, incorporating a wrapping system is absolutely something that could reasonable be a part of SnapshotTest. I started working on a more generic Wrappable that was a convenience wrapper for cases where a Snapshotable would need wrapping to cater to AutoLayout's behavior.
The problem domain was snapshotting cells such as UICollectionViewCell and UITableViewCell since UIReusableView has odd behavior in juxtaposition to it's more predictable parent UIView. I imagine the type could be extended to also cater for use cases like yours.


Review SBRP source for other missing placeholder files

With https://github.com/dotnet/source-build-reference-packages/pull/220, System.Memory.4.5.4 was found to be missing some placeholder files which impacted how the package was consumed by the runtime repo and caused and error while building.  Other package source in SBRP should be scanned and compared to downloaded packages from nuget.org to determine if other placeholder files are missing.

Unless we encounter other placeholder issues, this is not needed for 6.0


Update dependency to 2329

Initial observations

Adding a DateTimeField implicitly adds a sibling Popup view too resulting in 2 views being added.  Likely as a result of https://github.com/gui-cs/Terminal.Gui/issues/3691 and/or https://github.com/gui-cs/Terminal.Gui/pull/3751

Test run is green in CI but CI only ran ~400 tests which is odd
Full test run locally is:
Test Run Failed.
Total tests: 1133
Passed: 1098
Failed: 7
Skipped: 28
Total time: 38.3569 Seconds

Looks like this is not the most recent nuget package, see https://github.com/gui-cs/Terminal.Gui/issues/3779
Suspending for now while we work out what the upgrade path should be.


Fix boost dependencies

This patch fixes the dependency issue caused by chemkit_LIB_DEPENDS that is overwritten with -lboost_chrono only, lacking -lboost_filesystem etc.

Thanks!


Test that runs KOEO fails as not erased in 6.9.10

3.1.25
Part 1 - Expected
13:47:17.1616 Sending DM7 for DM30 to Engine #1 (0) for SPN 6772
13:47:17.1645 18E300F9 [8] FA 74 1A 0C FF FF FF FF (TX)
13:47:17.1818 1CA4F900 [12] FA 74 1A 0C 0C 00 00 00 00 00 FF FF
DM30 from Engine #1 (0): SPN 6772 FMI 12 (SLOT 12) Result: Test Passed. Min: N/A, Value: 0, Max: 0 count
FAIL: <IP_ADDRESS>.a - Engine #1 (0) reported test result for SPN = 6772, FMI = 12 is not initialized
Is expected to be recorded in part 1 and pass after erase checks later
Part 9
13:47:05.6849 Global DM11 Request
13:47:05.6872 18EAFFF9 [3] D3 FE 00 (TX)
13:47:05.6876 18E8FF17 [8] 00 FF FF FF F9 D3 FE 00
...
13:47:17.1616 Sending DM7 for DM30 to Engine #1 (0) for SPN 6772
13:47:17.1645 18E300F9 [8] FA 74 1A 0C FF FF FF FF (TX)
13:47:17.1818 1CA4F900 [12] FA 74 1A 0C 0C 00 00 00 00 00 FF FF
DM30 from Engine #1 (0): SPN 6772 FMI 12 (SLOT 12) Result: Test Passed. Min: N/A, Value: 0, Max: 0 count
FAIL: <IP_ADDRESS>.a - Engine #1 (0) reported test result for SPN = 6772, FMI = 12 is not initialized
It looks like we may have missed one spot to excuse tests that run KOEO

See #1039

Also #1300


Fixed missing initialization for startCorner/endCorner fields in ChangeClaimEvent.Resize

Previous behavior causes NPE.

@bloodmc IMHO, now this PR is ready to merge :) My friend, @FireShine1, found related bug with incomplete initialization and fixed it.


Build not working: missing Cid Serialize implementation

Building the package locally fails for me:
It appears to be missing the implementation of Serialize for Cid.
I ran

make deps
make build_npm

Environment:

OS: Ubuntu 18.04
Cargo/rustc: 1.50.0

Please let me know if this is user error on my end. I'm pretty new to rust, but am attempting to debug/fix. Thanks :slightly_smiling_face:
error[E0277]: the trait bound `Cid: multisig::_::_serde::Serialize` is not satisfied
  --> extras/src/lib.rs:22:10
   |
22 | #[derive(Serialize_tuple, Deserialize_tuple)]
   |          ^^^^^^^^^^^^^^^ the trait `multisig::_::_serde::Serialize` is not implemented for `Cid`
   |
   = note: required because of the requirements on the impl of `multisig::_::_serde::Serialize` for `&Cid`
   = note: required by `forest_encoding::ser::SerializeTupleStruct::serialize_field`
   = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `Cid: multisig::_::_serde::Deserialize<'_>` is not satisfied
  --> extras/src/lib.rs:24:19
   |
24 |     pub code_cid: Cid,
   |                   ^^^ the trait `multisig::_::_serde::Deserialize<'_>` is not implemented for `Cid`
   |
   = note: required by `next_element`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
error: could not compile `extras`

To learn more, run the command again with --verbose.
Error: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit code: 101
Makefile:18: recipe for target 'build_npm' failed

Ok interesting. In dev I had to lock some forest dependencies. I am wondering if it is not linked to this...
Let us know if you have some issue with wasm. There is an upgrade coming.

Ok interesting. In dev I had to lock some forest dependencies. I am wondering if it is not linked to this...
Let us know if you have some issue with wasm. There is an upgrade coming.


Support HTTP/2

Currently ascli uses HTTP/1
HTTP/2
-Binary Protocol: HTTP/2 uses a binary format for data, which is more efficient for computers to parse and reduces overhead.

Multiplexing: Multiple requests and responses can be sent simultaneously over a single connection without blocking each other, improving performance.
Header Compression: HTTP/2 uses HPACK compression to reduce the size of HTTP headers, leading to less bandwidth usage and faster requests.
Stream Prioritization: It allows clients to prioritize streams, enabling better resource allocation based on the importance of different requests.

Reason for the ask is I was running into issues where my AWS Load-Balancer expected HTTP/2
Example: - Getting a 464 response for mis-match
D, [2024-10-15T18:38:14.527587 #31842] DEBUG -- : raise_on_error POST /aspera/faspex/auth/token 🔑
ERROR: Rest: staging.qa.asperatest.net 464
ERROR: Argument: unprocessed values: ["data_23224"]
/usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest_error_analyzer.rb:48:in `raise_on_error': staging.qa.asperatest.net 464  (Aspera::RestCallError)
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest.rb:382:in `call'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/oauth/base.rb:65:in `create_token_call'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/oauth/jwt.rb:49:in `create_token'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/oauth/base.rb:144:in `token'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest.rb:283:in `call'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest.rb:427:in `create'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/cli/plugins/faspex5.rb:489:in `package_action'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/cli/plugins/faspex5.rb:735:in `execute_action'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/cli/main.rb:300:in `process_command_line'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/bin/ascli:24:in `<top (required)>'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ascli:25:in `load'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ascli:25:in `<main>'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ruby_executable_hooks:22:in `eval'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ruby_executable_hooks:22:in `<main>'
Transfer complete

Yes, nice to have.
but ruby's embedded net-http gem does not support HTTP/2.
gem httpx might be a solution.


[Bug] CORS configurations doesnt work in Iframe Ohif

Describe the Bug
Hello. I have a CORS problem in the Viewer. We need to use MPR, but the Cross-origin isolation error appears. More specifically, it only happens when it is in an iframe. It does not occur in isolation.
We have already followed the steps in the documentation to use the viewer in an iframe, but nothing works.
Our server, which opens the viewer in an iframe, is a Java with JSF, and Tomcat.
When deploying to kubernetes, we place the following configurations in ingresses:
    traefik.ingress.kubernetes.io/custom-response-headers: >-
      Access-Control-Allow-Origin: *||Cross-Origin-Opener-Policy:
      same-origin||Cross-Origin-Resource-Policy:
      same-site||Cross-Origin-Embedder-Policy: require-corp

Both on ohif and on the main server, it is the same configuration.
When we use a window.crossOriginIsolated in the browser console, they both return true
and in the ohif source code the cors settings are also set correctly
We have already tried different configurations for both, in different headers, same site, same origin, crossorigin, credentialless, the main domain or * in Access-Control-Allow-Origin, all possibilities. And nothing has worked so far.
I would like some guidance on how to correctly use the iframe, since I followed the documentation directly and it still didn't work.
Thanks in advance.
Steps to Reproduce

Install ohif
Install a Java with tomcat server and try to render ohif in an iframe
Set the Access-Control-Allow-Origin, Cross-Origin-Opener-Policy, Cross-Origin-Resource-Policy, Cross-Origin-Embedder-Policy headers in the main application server and ohif.
Check if the cross origin isolation error persists

The current behavior
Cross Isolation Error persisting
The expected behavior
Use ohif as an iframe without Cross Isolation Error.
OS
Windows 10
Node version
18.12.0
Browser
Firefox 121.0 | Chrome

@MatheusRdk Do you think this might be related https://github.com/OHIF/Viewers/issues/4191 ? If so, can you share your comments on those as well ?

@MatheusRdk Do you think this might be related #4191 ? If so, can you share your comments on those as well ?

Hi, apparently they are different problems. My problem is related to opening the viewer in an iframe, but I'll comment there

@MatheusRdk Do you think this might be related #4191 ? If so, can you share your comments on those as well ?

I saw that you managed to solve it, great!

So like @highoncarbs solution, the solution is in your server, not familiar with tomcat but most likely you are setting the data wrong. When you get the response headers does it have those new added headers?

Yes, the headers are updated when I change them. I still need to test it, but I believe it is being caused by another service, which provides information to the viewer. So there are 3 systems, and I was placing the headers only in the viewer and in the one that uses it as an iframe.

@MatheusRdk also try to keep everything as * ( wildcard ) , in case it still doesn't work with the server

Yes, it seems that it is a problem in our environment. Thanks for the answers.

@MatheusRdk What was the issue? Could you please post the solution here for the benefit of others who might encounter a similar problem?

In fact, we didn't discover the definitive solution, as we left the development of this resource for later. But while I was still testing, the problem was that we have another system that provides information to the viewer, and this third system also needs to have the headers set correctly.
The viewer, the system that opens the viewer in an iframe, and the third system that communicates with the viewer, they need to have the headers Access-Control-Allow-Origin, Cross-Origin-Opener-Policy, Cross-Origin-Resource -Policy and Cross-Origin-Embedder-Policy set correctly.


Bug - Xenon JTAG XeLL creation seems wrong

Describe the bug
I believe the Xenon XeLL generated image is incorrectly generated or written incorrectly by PicoFlasher
To Reproduce
Steps to reproduce the behaviour:

Read Nand
Create XeLL
Write XeLL
Doesn't boot.
If I read back the NAND from this point in J-Runner and overwrite the first section (0x14A000) with the contents of xenon.bin directly in a HEX editor and write this NAND, then it will boot XeLL. There were differences in the NAND's after I did this so it wasn't writing a clean xenon.bin, I suspect something is going wrong here?

I posted on Reddit about it because others were also having the same issue: https://www.reddit.com/r/360hacks/comments/1al3b2t/comment/kv52y66/?utm_source=share&utm_medium=web2x&context=3

Sorry for the late reply. I am looking into this.

No problem, my reddit comment never got approved it seems so it's missing but it's basically the same writeup.

The difference in files is because Create XeLL patches in the keyvault. I'm not sure right now why that's breaking it, I don't recall changing that from the older releases where it worked. It's hard to debug without a X360 with me, but I'm looking into it.
Kind Regards,
Josh

Creation of the XeLL file is correct. Writing it causes the problem. Writing the created file using the Advanced -> Nand Functions, Write, 16, Run works correctly.
Investigating.
Kind Regards,
Josh

Still investigating.

If I send you a test build can you test it for me?

I'm not sure when I'd get around to it sorry. I've sold off those JTAG'd Xenon consoles.

OK well it's working here now so I'm closing this issue.


Type of sibling property of a ref property is unknown when validated via JTDSchemaType

What version of Ajv are you using? Does the issue happen if you use the latest version?
8.11.2 (latest as of this writing)
Ajv options object

import Ajv, { JTDSchemaType } from "ajv/dist/jtd";
const ajv = new Ajv();

JTD Schema

type MyType = {
  referenced: number;
  stringProp: string;
};

const schema: JTDSchemaType<MyType, { num: number }> = {
  definitions: {
    num: { type: "int32" }
  },
  properties: {
    referenced: { ref: "num" },
    stringProp: { type: "string" }
  }
} as const;

Sample data

const data = {} as any;

Your code

const validate = ajv.compile(schema);

if (validate(data)) {
  const revealType: never = data;
  const stringProp: string = data.stringProp;
  console.log(stringProp);
}

<EMAIL_ADDRESS>^strictNullChecks is enabled in tsconfig.json
		"strictNullChecks": true,

Validation result, data AFTER validation, error messages
TypeScript's typecheck errors:
// const revealType
Type '{ referenced: number; stringProp: unknown; } & {}' is not assignable to type 'never'.

// const stringProp
Type 'unknown' is not assignable to type 'string'.

What results did you expect?
The type of stringProp to be string after being narrowed by validate(data)
Are you going to resolve the issue?
My current workaround is to hold the definition in a const and use it to compose the schema object. (The actual code is a bit more complex than this.)
const numSchema = { type: "int32" } as const;

const schema: JTDSchemaType<MyType> = {
  properties: {
    referenced: numSchema,
    stringProp: { type: "string" }
  }
} as const;

you need to pass interface for definitions as a second parameter: https://github.com/ajv-validator/ajv/blob/master/spec/types/jtd-schema.spec.ts#L356

ah actually it is passed... cc @erikbrinkman

@ento Thanks for catching this, I'm surprised that that you're the first person to report it!
The current code path for compiling existing schemas looks like this:
https://github.com/ajv-validator/ajv/blob/490eb8c0eba8392d071fef005e16d330f259d0ba/lib/core.ts#L374
Due to the default types, it seems that typescript is reinterpreting MyType but as if refs was Record<string, unknown> instead of the refs you passed in when creating the schema.
Changing it to infer the refs like:
compile<T = unknown, R extends Record<string, unknown> = Record<string, unknown>>(schema: JTDSchemaType<T, R>, _meta?: boolean): ValidateFunction<T>

seems to get typescript to propagate the refs you specified appropriately. I'll create a diff to fix this, hoping that it doesn't break anything else. Unfortunately, the typing of compile is pretty complex, and so small simple changes like this can sometimes screw with the compiler 🤞

After writing the fix, I realized that I was a little wrong. It' picking up the ref type appropriately, but not the non-ref type. This fix seems to work and makes sense, so I'm not going to dig into this any more, but it is odd. I'll also note than when I tried to stub out compile on its own, typescript didn't let me without refs, so there's so more complications due to the overloading and member function nature.


Print date of last Flutter commit in flutter doctor

Similar to what we did for flutter --version, we could print the last commit time in the output of flutter doctor.
We show this now in flutter doctor:
[✓] Flutter (on Mac OS, channel master)
    • Flutter at /Users/drewwarren/flutter
    • Framework revision abeb5c7363 (10 minutes ago), engine revision fe509b0d96

Printing the last commit time gives us a date that is easy to understand when we look at these reports (such as https://github.com/flutter/flutter/issues/5398)

cc @pq


Metric value may slightly change depending on required @k

Most likely the reason for instability in torch.topk:
https://github.com/OML-Team/open-metric-learning/blob/c6004e4d2f43de43ca5c480cc69dbbef06599e69/oml/functional/metrics.py#L89
(If some items in the distance matrix are super close, then their order can be undefined.)

@dapladoc in case you are interested ^

Hi, I'm interested in this issue.

Close because of: https://github.com/OML-Team/open-metric-learning/pull/382#issuecomment-2155060075


Added pip cache directive to Travis configuration.

Added Python 3.6 to setup.py.

Is the mismatch in license (Apache vs. GPL) in setup.py intentional?

Is the mismatch in license (Apache vs. GPL) in setup.py intentional?

No, this is Apache, so says the LICENSE file, so I would go with that one :)

Thanks for noticing!

Codecov Report

Merging #59 into master will decrease coverage by 0.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
- Coverage   77.46%   77.25%   -0.22%
==========================================
  Files          26       26
  Lines         608      611       +3
==========================================
+ Hits          471      472       +1
- Misses        137      139       +2

Impacted Files
Coverage Δ

django_nyt/urls.py
85.71% <0%> (-14.29%)
:arrow_down:

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 1a0fd92...f46e6d3. Read the comment docs.

Thanks for noticing all this -- I don't know how you do this! ❤


Make operator exportable by removing grafonnet-lib git submodule

Fixes #1279
This PR removes the grafonnet-lib git submodule and appends the entire repo as part of the grafana-operator. Although it is not the most elegant solution, it makes this operator exportable.
I'm glad to work on a better alternative if it exists.

@jaehnri this looks good, let's just fix the lint issues (we can exclude the directory) and then we can merge this.

@pb82, can you retrigger the tests, please? They should pass now.

@jaehnri this test is failing now: TestGetJsonProjectBuildRoundName

@jaehnri this test is failing now: TestGetJsonProjectBuildRoundName

@pb82 this is odd, I couldn't reproduce it locally, all tests pass. I rebased to see if it passes, but I can't see why the pipeline would find "4" blocks instead of "3". Do you have any clue?

@jaehnri it's passing now, must have been a fluke. Anyway, I'll try to get this merged today, thanks!


Doc to Tweepy?

Is the tweepy documentation incomplete? In some surveys, having problems with tweepy, I found solutions in forums with other methods and functions used for research that are not included in the documentation. For example, additional search parameters .. query = "word1 OR word2", etc.

I have the same question. I'm going to say it is incomplete. For example the docs only mention a few of the available API methods. I spent ages earlier trying to figure out how to get mentions, only to discover there is a mentions_timeline method.
Is this intentional, is there some logic to what gets into the docs? Or can people contribute more to the docs to get them more complete?

I found my answer, as far as read documentation on Twitter. However I believe it was a mistake of the developers as to the information. They should put a note .... "For more functionality, look up the native functions of the Twitter API".
Although I already completed my part, I needed a lot of time to do it, mainly reading the twitter API features and forums like stackoverflow.
Follow the twitter API documentation link:
https://developer.twitter.com/en/docs/basics/getting-started


ActionView Gem update

Update ActionView Gem

Are you working on this issue? (Yes/No)
No

i would to work on this

@Sadat97 are you still working on this?

yes am working on it

Will get resolved on solving #372


Updates position_for annotation

Uh, not sure why didn't mypy warn about this but good catch thanks! Since we know that all attributes are integers (or at least we can assume, since in reality end_* stuff is always integers), what do you think about casting the result tuple to Tuple[int, int, int, int] for easier usage?

Let me merge this and fix the CI (missing cast() call)

Thanks for the contribution @sobolevn!


PanoramaSky: PNG looks terrible, HDR stuck on "(re)Importing Assets"

Godot version
4.0 Alpha 15
System information
Windows 10
Issue description
Given Godot's lack of Cubemap support, I had to use an online tool to convert a cubemap to an equirectangular image so it can be used with the PanoramaSky. I converted it and to my surprise it looks awful when imported into Godot.
Here is what it looks like when opened in Blender

same in Godot after the conversion

So I converted to HDR using another online tool, it worked and it looked good, but now every time I try to drag it onto the "PanoramaSkyMaterial>Panorama" slot I get this

If it is a matter of adjusting some options so the PNG image looks good then that would be fine for me but nothing I tried worked, image always looks terrible.
Steps to reproduce
Try to drag sky-panorama.hdr onto the "PanoramaSkyMaterial>Panorama" slot, as soon as it makes contact with the viewport you'll get the "(re)Importing Assets".
Minimal reproduction project
Due to file size I can't upload the whole project, just create a WorldEnvironment, add the PNG one first to see how it looks once imported and then drag the HDR one onto that slot for the reimport error.
HDR-PNG-panoramas.zip

VRAM compression makes this kind of pattern look quite bad, so I recommend switching the PNG image to use Lossless compression in the import dock.

The freeze on importing HDR images is already being tracked in #61948.
As for PNG quality: VRAM compression makes this kind of pattern look quite bad, so I recommend switching the PNG image to use Lossless compression in the import dock. Make sure to do this after the texture is detected to be used in 3D, as Godot will revert it to VRAM Compressed otherwise.

Thank you now it looks good, I think it shouldn't revert the settings you chose but at least it works.
If I change the Panorama texture at runtime it should keep the latest settings, right? So technically once Godot knows I want that texture to be used for 3D (by doing what you told me in a test scene for example) and to be Lossless it shouldn't modify anything ever again in any scene.

If I change the Panorama texture at runtime it should keep the latest settings, right?

Yes, the Detect 3D flag is only set once per texture.


building got error

Prerequisites

[Yes] Have you read the wiki?
[Xiaomi Redmi Note 12] Is your device in the supported list?
[ SM6225-AD With Modify for forked SM6225] Does the device have a Snapdragon SOC which is supported in this repo?

Description
building got error SimpleFileSystem.h unmodify
[Description of the bug or feature]
SimpleFileSystem.h (unmodiy)
Expected behavior: [What you expected to happen]
Attacked file log
log.txt
Actual behavior: [What actually happened]
idk

Please compile using WSl2 or ext4 (Linux environment) instead of placing it in Windows


VS cannot handle when ConfigProvider returns no configurations

If you open a project file that has no properties conditioned on the Configuration variable, our ConfigProvider implementation (as well as everyone else's) returns an empty set of configurations. This causes VS to fail to load.
We should ensure at least one configuration (probably "Debug") is always returned.
(This is more important than #86 because it prevents opening manually edited project files.)

Originally reported at https://developercommunity.visualstudio.com/content/problem/61007/python-project-error-opening-project-properties.html


New Token submission

ioTube Token submission

Team / Developer name
MCN Ventures
Token Symbol
MCN
Token Name in full
MCN.VENTURES
Link to the token icon
https://mcn.ventures/asset/mcn-logo-white-bg-200.png
Short description of your project
MCN ventures is a decentralized venture fund combining VC efficiency with tokenomics bootstrapping community and fund growth.
What is the native blockchain for your token

[*] Ethereum
[ ] Binance Smart Chain
[ ] Polygon
[ ] Huobi Eco Chain (coming soon)

Token native contract address
Address: 0xd91e9a0fef7c0fa4ebdaf4d0acf55888949a2a9b
Your project websites

https://mcn.ventures/

Your social channels

Telegram:
Twitter: https://twitter.com/MCNVentures
Discord: https://discord.com/invite/Hh4BmZfEFa

Select the tokens you want to bridge to IoTeX

[x] Ethereum Token → IoTeX:  0xd91e9a0fef7c0fa4ebdaf4d0acf55888949a2a9b
[ ] Binance Smart Chain Token → IoTeX:
[ ] Polygon Token → IoTeX:
[ ] Huobi Eco Chain Token (coming soon) → IoTeX:

Listed. Let's move to marketing team to follow up.


Platform error 1500 on startup

For right now until GetMemoryInfo is natively ported mount /proc via linux compatibility to start server:
sudo mount -t linprocfs none /proc

mounting linprocfs to fstab will be put in the docs, bindings and linker need more attention ATM

We now have full native support linprocfs is no longer needed


Dockerize the build environment for Linux compilation

Provide a Dockerized build environment for Linux compilation. The dockerfile will pull ubuntu:latest, install the required build dependencies and drop the user into a bash shell. The compilation instructions can be followed from within the docker container.
I had difficulty building and running the library locally on my arch linux machine, either having difficulty compiling or having missing references to other packages. To avoid interference with any local machine configuration, this was the solution I came up with to build the project.
Changes

Add: Dockerfile
Add: Script to build the docker image and to run an interactive shell inside the docker container
Update: lint README.md

Tested
I can run the example Python notebooks

Problems / Feedback
The package builds as the docker user and in the directory of the docker container. Some of the cmake steps generate files like examples/fastest_lap.py with absolute file paths referenced from the docker container, not the host machine. Files created within the docker container inherit root permissions.
The docker script will drop the user into a docker container and will not automatically build the project.

Hello Kevin. First, thank you for your interest in Fastest-lap. About your request, sorry I am no expert in this matter. Can you please give me more details about what a docker file does and why it is needed? Thank you!

The motivation for this change is to provide a standardized build environment for fastest-lap for Linux users. This change reduces the build requirements for Linux users to simply having Docker installed.
Given the minimal documentation regarding the build environment for this project, a Docker image provides standardization and removes individual variables due to differences between computers (ex. compiling on Ubuntu vs compiling on Arch) from the compilation process.
Note: because this change is Linux specific, I placed my changes in scripts/linux.
What is a Dockerfile?
Docker is a type of virtualization technology. The Dockerfile introduced in this change defines the steps to create a Docker image, a pre-built template for the build environment. This image is built locally on the users machine.
https://github.com/juanmanzanero/fastest-lap/blob/10b68f04005f0d3fb359e8afb8b1e99f57caf925/scripts/linux/Dockerfile#L1-L15
The Docker image for this project is based on the latest Ubuntu image on Docker Hub. This corresponds to Ubuntu 20.04 at the time of writing. I chose Ubuntu since this is what your CI uses for Linux builds. Some environment variables are set to facilitate installing packages and then the requisite packages are installed in the image.
https://github.com/juanmanzanero/fastest-lap/blob/10b68f04005f0d3fb359e8afb8b1e99f57caf925/scripts/linux/run_docker.sh#L1-L2
The helper script first builds the Docker image using the instructions from the Dockerfile. The second line runs the image as a Docker container, mounting the source code of the project inside the container and dropping the user into an interactive shell. At this point, the user can follow the compile instructions.

In short, I define a "virtual machine" with all the build tools installed in order to compile the project.
Why do you need a Dockerfile?
The compilation requirements of this project are non-trivial. It took me 2+ hours to get this project to build unsuccessfully either due to problems linking IPOPT or METIS. This limits the usefulness of the project since it is very difficult to build.
The Docker build environment provides a consistent Linux build platform that is agnostic to the host machine configuration.
Counterpoint - Why do you not need a Dockerfile?

You do not intend to support Linux users
You do not want to support a Docker build environment
You are not able to verify and test the changes

Please let me know if there's any more context I can provide!

Hello! Thank you very much for this detailed explanation! in my mind, installation should've been straightforward, as in ubuntu and macOS it is prepared to just hit 'CMake ..' and 'make'. However, I have never tried on arch. So thank you.
Two questions to remain (sorry about being so pesky):
1) What can be done about the fastest_lap.py file? Absolute paths were preferred because the user can put the build directory in a completely different location than the source code directory. If the docker thingy always builds the build in the same folder, we could use a relative path for it, right? Maybe we can pass a flag to cmake saying PYTHON_API_ABSOLUTE_PATH:bool and switch between both absolute (default) and relative (only for docker builds) there?
2) Does it need to be in the ./scripts folders? I already have a ./src/scripts folder, and I prefer those to be there. Can it be there, or for some requisite the folder where docker will look for its files is always ./scripts?

I just have added the PYTHON_API_ABSOLUTE_PATH option to CMakeLists. By default it is ON, the docker file should call cmake with -DPYTHON_API_ABSOLUTE_PATH=Off

On Windows I keep having problems while compiling, both with MinGW and with MSVS compilers. So I support this docker approach! Tempted to try and make a dockerfile for a windows config, but not so confident yet.

On Windows I keep having problems while compiling, both with MinGW and with MSVS compilers. So I support this docker approach! Tempted to try and make a dockerfile for a windows config, but not so confident yet.

Yes, I fully agree with you. I just want to clarify some points with @kktse about some changes I did regarding the python library path handling. Thank you!

Great work, Kevin. Thank you for your time! Cheers.

Glad to help. Really awesome project, looking forward to using it!

Nice dog btw!!!


fixed migrate script

#7  👈
main

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

Join @trevorpfiz and the rest of your teammates on  Graphite


Issue with terraform init when trying to deploy latest version 0.1.1

Hi,
I am trying to update from version 0.1.0 to 0.1.1 and when i do a terrfaorm init i am getting the below error. Looks like a issue with terraform config. I have added azure_gallery_image_type to my terraform config but still same error.Can you please check?
terraform init
Initializing modules...
There are some problems with the configuration, described below.

The Terraform configuration must be valid before initialization so that
Terraform can determine which modules and providers need to be installed.
╷
│ Error: Invalid validation error message
│
│   on .terraform/modules/azure-github-runner/variables.tf line 45, in variable "azure_gallery_image_type":
│   45:     error_message = "azure_gallery_image_type must be one of 'community', 'direct-shared', 'rbac'."
│
│ The validation error message must be at least one full sentence starting with an uppercase letter and ending with a period or question mark.
│
│ Your given message will be included as part of a larger Terraform error message, written as English prose. For broadly-shared modules we suggest using a similar writing style so that the overall
│ result will be consistent.

The error message needs to start with uppercase letter, but its azure_gallery_image_type here which needs to be updated


Need a setting for file patterns

I can have many different YaML and JSON files in my workspace, I want to apply linter only to ones satisfying the mask. See example from original Spectral VS Code plugin:
"spectral.validateFiles": [
"/**/-openapi.yml",
"**/*-openapi.json"
]

Supported in version 0.2.5

JSON specs are supported as well. But by default JSON is not supported. You need to enable it by adding **/my-spec.json to openApiLinter.validateFiles of settings.json


[Activity] Remove duplicate bought/sold to transactions from feed

Description
In the Activities feed on a project, when a tonne is sold, it looks like we are putting both transactions in the feed, i.e. we report "...bought from You" and "You sold to..." but these are essentially the same transaction.

Requirements

[ ] This is the same transaction. We should only show the "bought from" transaction. "Sold to" should not be shown.

@jabby09 https://www.carbonmark.com/projects/VCS-1764-2020 updated this - now Activity type Sold doesn't appear anymore on the feed.


Culture orders for patients from Emergency Department(Ed)

Hi,
The number of patients in  ED who have been  received an order for antibiotics is significantly lower than the number of ED patients  who received antibiotics. is there any justification for it?

Could you post queries and frequencies that quantify your issue a bit?

Hi,
Here is my query how i extract the cultures for the ED patients:
DROP TABLE IF EXISTS mimic_sepsis.cultureED cascade;
CREATE TABLE mimic_sepsis.cultureED AS
with me as
(
select hadm_id,
subject_id,
date_trunc('hour',charttime) as charttime,
test_name,
max(case when org_name is not null and org_name != '' then 1 else 0 end) as Culture
from mimic_hosp.microbiologyevents
group by hadm_id,subject_id,charttime,test_name
)
,posetivecultres  as
(
select hadm_id,
subject_id,
charttime,
test_name,
culture
from me
where culture=1 and
test_name in ('ANAEROBIC CULTURE','Blood Culture, Routine','BLOOD/AFB CULTURE','BLOOD/FUNGAL CULTURE',
'FLUID CULTURE','Fluid Culture in Bottles','FUNGAL CULTURE','REFLEX URINE CULTURE','RESPIRATORY CULTURE',
'URINE CULTURE','URINE CULTURE')
group by hadm_id,subject_id,charttime,test_name,culture
)
, negetiveculture as
(
select hadm_id,
subject_id,
charttime,
test_name,
culture
from me
where culture=0 and
test_name in ('Blood Culture, Routine','BLOOD/FUNGAL CULTURE')
)
, allcultures as
(
select * from posetivecultres
union
select * from negetiveculture
)
, ICUpt as
(select
subject_id
,hadm_id
from mimic_sepsis.patients_hosp_stay where lower(careunit) like '%icu%')
, EDptendinICU as (
select p.subject_id
, p.hadm_id
,  p.charttime
,  p.careunit
from ICUpt inner join mimic_sepsis.patients_hosp_stay p on ICUpt.subject_id=p.subject_id  and p.hadm_id =ICUpt.hadm_id
where lower(careunit) like 'emergency department'
)
select c.subject_id,
c.hadm_id,
c.charttime,
c.culture,
c.test_name,
p.careunit
from allcultures c inner join EDptendinICU p
on p.hadm_id = c.hadm_id and p.subject_id = c.subject_id and p.charttime = c.charttime
group by c.hadm_id,c.subject_id,c.charttime,c.culture,c.test_name,p.careunit;
/////////////////////////////////////////////////////////////////////////
and here  is my another auxiliary table:
DROP TABLE IF EXISTS mimic_sepsis.patients_hosp_stay CASCADE;
CREATE TABLE mimic_sepsis.patients_hosp_stay as
with patients_demo as
(
select subject_id,
case
when gender='F' then 0 else 1 end as gender ,
anchor_age as age
from mimic_core.patients
-- inner join to subselect to only antibiotic we are intrested
--inner join abx_poe_list ab
--on pr.drug = ab.drug
where anchor_age >=18
)
, patients_traansfer as
(
select
subject_id,
hadm_id,
careunit,
date_trunc('hour',intime) as intime,
date_trunc('hour',outtime) as outtime
from mimic_core.transfers
where careunit is not null
)
, patients_admissions as (
select subject_id,
hadm_id,
--date_trunc('hour',admittime) as admittime,
--date_trunc('hour',dischtime) as dischtime,
date_trunc('hour',deathtime) as deathtime,
ethnicity
from mimic_core.admissions
)
, patient_demo_transfer as (
select tr.subject_id,
tr.hadm_id,
tr.careunit,
tr.intime,
tr.outtime,
d.gender,
d.age
--ad.deathtime,
--ad.ethnicity,
--ad.hospital_expire_flag
from patients_traansfer tr
inner join patients_demo d
on tr.subject_id = d.subject_id
group by tr.subject_id,tr.hadm_id,tr.careunit,tr.intime,tr.outtime,d.gender,d.age
)
, patient_info as (
select tr.subject_id,
tr.hadm_id,
tr.careunit,
tr.intime,
tr.outtime,
tr.gender,
tr.age,
ad.deathtime,
ad.ethnicity
from patient_demo_transfer tr
inner join patients_admissions ad
on ad.subject_id = tr.subject_id and tr.hadm_id = ad.hadm_id
)
, temp_stay_series as (
select subject_id,
hadm_id,
careunit,
generate_series(intime,outtime,interval '1hours') charttime,
age,
gender,
deathtime,
ethnicity
from patient_info
)
select * from  temp_stay_series group by subject_id,hadm_id,charttime,careunit,age,gender,deathtime,ethnicity;

///////////////////////////////////////////////////////
And then I calculated the number of patients from Emergency department who ended to ICU and found  that only 4% of them received order cultures.


Add more database-related artisan commands

Perhaps some of these?

[x] ~migrate:fresh     Drop all tables and re-run all migrations~
[ ] migrate:install   Create the migration repository
[ ] migrate:refresh   Reset and re-run all migrations
[ ] migrate:reset     Rollback all database migrations
[ ] migrate:status    Show the status of each migration

I don't think we need these.

I'm not sure these are critical.
Perhaps in a dev environment they may be useful, or for "stepped debugging", but not for normal use.
I find tenancy:migrate-fresh is enough.

@stancl would be nice to see the status when developing

by the way shouldnt tenancy:migrate-fresh be tenancy:migrate:fresh with a ":" to keep parity with laravels default migrate:fresh command? :)

then i could run make command
.PHONY: migrate-status ## migrate status central and elastic
migrate-status:
	@printf "Central migration status:\n"
	@php artisan migrate:status
	@printf "Tenants migration status:\n"
	@php artisan tenants:migrate:status
	@printf "Elastic migration status:\n"
	@php artisan elastic:migrate:status

I think if it were tenancy:migrate:fresh, artisan would create another namespace for tenancy:migrate, which isn't what we want.

I think if it were tenancy:migrate:fresh, artisan would create another namespace for tenancy:migrate, which isn't what we want.

aaah ok to bad nvm then :)

I would like status also


RESTful JSON

We recently worked on capturing a design pattern we called RESTful JSON. It looks like JSONFeed actually uses this pattern. Any interest in adding a note about how this spec uses RESTful JSON?
You can also read more on Medium about this pattern.

Since we didn't know about RESTful JSON when working on the spec, I don't think it will really clarify anything to link to it, so I'm going to close this. Thanks for the feedback and for writing it up.


fix for Legends toggle on Options menu not working

@javisantana could you review this one?

cc @xavijam
looks good from my side

Makes sense, thanks! :)

✨

sure @MariaCheca , thanks for the merge...


Consumer Price Indexes Prediction

Pull Request for ML-Crate 💡
Issue Title:

Info about the related issue (Aim of the project) : <!-- To predict the consumer index of a person belonging to a particular sector->
Name:
GitHub ID:
Idenitfy yourself:

Closes: #120 that will be closed through this PR
Type of change ☑
What sort of change have you made:
<!--
Added the dataset, model, images, requirements, and readme code and folders in each--!>

Hi @pawaspy can you share your email ID for further communication. You can DM me in Discord.

Hi @pawaspy can you share your email ID for further communication. You can DM me in Discord.

<EMAIL_ADDRESS>


fix(eeprom): general filesystem accessor bug fixes

We haven't used the general  filesystem handler yet for anything so this PR fixes a few bugs that cropped up during testing.
We needed to add another config value to the hw_iface for what the default value of eeprom memory was, and fetch that config value before doing anything else
added in some more test converge, and added lots of comments
also fixes a bug where integer promotion resulted in the wrong address being written to the lookup table.

Codecov Report

Merging #631 (87e903e) into main (0a4324f) will increase coverage by 0.83%.
The diff coverage is 97.29%.

@@            Coverage Diff             @@
##             main     #631      +/-   ##
==========================================
+ Coverage   85.09%   85.92%   +0.83%
==========================================
  Files          87       87
  Lines        3528     3539      +11
==========================================
+ Hits         3002     3041      +39
+ Misses        526      498      -28

Impacted Files
Coverage Δ

include/eeprom/core/messages.hpp
100.00% <ø> (ø)

include/eeprom/core/dev_data.hpp
89.61% <96.77%> (+12.69%)
:arrow_up:

include/eeprom/core/hardware_iface.hpp
100.00% <100.00%> (+19.04%)
:arrow_up:

include/eeprom/core/task.hpp
92.50% <100.00%> (+0.09%)
:arrow_up:


restructure code base

Summary

This PR addresses Jira ticket CISLUNAR-80.
Added pre-commit hooks, and updated setup.py and requirements.
Pre-commit hooks for formatting and linting are currently turned off, in fear of causing thousands of lines of code changes.
The requirements in setup.py need to be updated because it was not clear what goes in "rpi" and what goes in normal install requirements.
Notes
Please see the new CONTRIBUTING.md for instructions.
Todo
Citing, and also adding licensing.

Good points. I agree with the point about the badge and updated the readme.
I also changed the box setup documentation but would like to have that looked over.
By the way, I've purposely changed the venv name from cislunar-ven to venv to make it clear that this is a new environment and also because venv is pretty standard. Hope that doesn't cause any problems.
After running pre-commit install as described in contributing, pre-commit will add relevant pre-commit hooks into the .git folder. Essentially, before anyone makes a commit, these scripts are run on the project. They can be set up for lining and automatic formatting on only the changed files (this makes the checks faster). This way, the code on master is always consistent. Tests can also be added but it seems redundant due to the CI already in place.
(to see it in action, change a file, run git add ., then try git commit -m "commit message")
Again, the lining and formatting hooks are turned off right now to prevent major code changed. Right now, there are some basic fixed pre-commit provides in place, such as end-of-file-fixer.

@tmf97 yah, no problem. I was still trying to solve the docs issue, but I'll merge this in first.

All good. In general we should try to keep PRs as small and nimble as possible. The docs issue can be it's own PR, even if there's only one jira ticket for both


MySQL: SSL support

SSL support for MySQL/Maria is needed.

This would make life more possible in a corporate setting. I have to rely on MySQL workbench...

Initial SSL support has been added.
Possible bugs/enhancements should be tracked in another issues.


fix transformation for xgboost model

This patch fixes the transformation while loading an xgboost model file. When the model file is saved from an xgboost model with param "objective= 'multi:softprob'" or "objective= 'multi:softmax'", the loaded model should use TransformSoftmax rather than TransformRaw. This patch works well on my xgboost model.

Pull Request Test Coverage Report for Build 165

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 68.6%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

xgensemble_io.go
1
2
50.0%

Totals

Change from base Build 159:
-0.05%

Covered Lines:
1798

Relevant Lines:
2621

💛  - Coveralls

cc: @dmitryikh

cc: @dmitryikh


Schutzfile: test CI against osbuild PR#1812

The osbuild curl --parallel support is getting reworked, this is a first quick test with the improved code.
DO NOT MERGE (yet)

Closing as https://github.com/osbuild/osbuild/pull/1819 is the cleaned up version of curl --parallel support


Installation guide

Hello,
I am trying to get allsky running an a raspberry 3, but i have some problems getting it to compile, for example:
capture.cpp:1:33: fatal error: opencv2/core/core.hpp: No such file or directory
I compiled and installed opencv 4.1.1 from the sources, and tried to include opencv headers, but the problem remains. Is there a recommend way to get allsky to compile? Should i install a specific version op opencv?

Hi Michel,
You shouldn't have to do any special OpenCV installation. Are you using the latest Raspbian (Buster)?
Are there any other errors when running the install script?

It is solved now. I think i ran the install script before upgrading to buster (the pi was running jessie), and assumed i had to manually install openCv.
After rerunning the install script, allsky installs and works without problems.
Thanks for your quick response,
Michel


Add scrollRef prop to Vue Virtualizer

It's necessary for complex markup.
Just port React implementation.

is scrollRef working on react ? did not found the implementation and was not being able to make it work with a list that has header before the actual list and scroll is done by some parent view

@billouboq
React's implementation is here.
https://github.com/inokawa/virtua/blob/d6faef0012e5089e896a9a7a680d99874b8a60a6/src/react/Virtualizer.tsx#L262-L267
I just tried to implement it for Vue in https://github.com/inokawa/virtua/pull/393. However, it is not working correctly at the moment. I'm not an expert of Vue so maybe something is wrong.


brew install should work if I don't already have carthage installed.

The brew recipe doesn't mention carthage, even though it's used for building it.
This means that when I try to install this tool on a brand new machine, I run into the error, facepalm, install carthage, then re-try installing fake4swift.
Please, fix this. My face is thinking of getting a restraining order against my palm to stop the violence.

Checkout the history on this one, it's a goddamn doozy. In short, homebrew really, really doesn't like it if your formula depends on other formula, so we have to go to some gross lengths in order to bring down carthage as part of building the CLI.