Project structure refactoring & packing

Introduction
This PR refactors the project structures aligned to the convention, re-arrange previously separated top-layer modules app, aws_iot_log_server and ota_proxy under one single otaclient top-layer package. It also configures the pyproject.toml to make the project ready for distribution.
Build tar.gz archive and wheel for distribution are also possible.
Example otaclient installation guide with this PR
NOTE: upgrade setuptools, setuptools-scm and pip before installation

git clone the  specific branch/tag to a temporary folder

git clone https://github.com/tier4/ota-client /tmp

prepare virtual env and activate it

python3 -m venv /opt/ota/.venv
source /opt/ota/.venv/bin/activate

install the otaclient package dependencies with pip, and cleanup

# NOTE: we will not use the otaclient installed here,
# check the following instructions
pip install /tmp/ota-client

install the otaclient package to /opt/ota

# NOTE: --no-deps MUST be set, otherwise all dependencies
#              will also be installed under /opt/ota
pip install -t /opt/ota --no-deps /tmp/ota-client

run otaclient

method 1
# we have to append the /opt/ota to the PYTHONPATH, to tell the
# python interpreter to search otaclient package under /opt/ota, instead of
# using the one installed under <virtualenv>/lib/python3.8/site-packages

# with venv activated:
PYTHONPATH=/opt/ota python3 -m otaclient

method 2
# change work dir to /opt/ota
cd /opt/ota

# with venv activated:
# NOTE:python will insert current working dir at index 0 in `sys.path`
# under /opt/ota folder, so that python will first use otaclient under /opt/ota
python3 -m otaclient

NOTE

bootstrap like install otaclient.service unit file cannot be done by pip.
pip currently doesn't have --only-deps options, so we have to first install otaclient normally to install all dependencies under viritualenv's default lib path, and then install otaclient with --no-deps option to custom folder(/opt/ota).
-t option MUST be used together with --no-deps, otherwise otaclient along with all dependencies will be installed to -t .

Changes

refactoring project structure
use relative module paths internally for app and aws_iot_log_server
finally solve the import path issue, all the workarounds are removed now
configure project metadata in pyproject.toml, supporting packaging and distributing otaclient project
(FIX) ota_client: add type guard when parsing cookie json, expecting dict
(FIX/REFINEMENT) fix test files for aws_iot_log_server, remove old test dependency
bump test dependencies, remove unused dep
use version generated by setuptools-scm

TODO
Helper packages under tools/ are not yet updated to work under the new otaclient module structure.

@obi-t4 Does aws-iot-log-server also need to be run independently? If so I have to adjust the repo again.

@Bodong-Yang
aws-iot-log-server is started from:
https://github.com/tier4/autoware_ecu_system_setup/blob/main/roles/ota_client_logger/templates/aws-iot-log-server.sh.j2
So it runs independently.

@Bodong-Yang aws-iot-log-server is started from: https://github.com/tier4/autoware_ecu_system_setup/blob/main/roles/ota_client_logger/templates/aws-iot-log-server.sh.j2 So it runs independently.

@obi-t4 With latest commit, aws-iot-log-server can be launched directly, please check PR introduction for details.


Adding changes to support s390x

Added changes for building promu on s390x. Also modified the crossbuild.go to add s390x support.
Can someone please review the changes?

Don't forget to update doc/examples/.promu.yml.

Done. Please review.


Fixed malformed JSON during export to paprika

There was a \ missing to escape the \n in the in the export template for .paprikarecipes files.
My guess is that this bug was introduced with a00e426da87fc271622ad4a40f4e002d2096627e when moving the template file to kptncook/paprika.py

Very cool, thanks a lot!


Wrong documentation about injectable services

https://docs.gradle.org/current/userguide/userguide_single.html#service_injection says

Out of the above, ProjectLayout and WorkerExecutor services are only available for injection in project plugins.

But this is not correct.
I just injected a ProjectLayout into a task class just fine for example.

Ah, I stumbled over the PR that introduced this sentence: https://github.com/gradle/gradle/pull/12106/files
The intended meaning seems to be that those two are not available during settings script processing / initialization phase.
It is just misleadingly formulated.


Example project

Hi,
I am very interested in doing event sourcing with django.
It is not easy to understand how to use this library in a new or existing django project.
Also, how easy is it to use it with other django apps in parallel ?
Could you please provide an example project using this module in parallel with django.contrib.auth ?
Does an open source project on github or elsewhere using this module exist that we could refer to ?
Many thanks.
M0dM

Since https://github.com/ApplauseOSS/djangoevents/issues/24 hasn't been solved, I would assume active development for this project is stopped, right ?

Thanks @Eimis


Update architecture related docs sections

#1624  👈 (View in Graphite)
main

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


Uncaught TypeError: Cannot read property 'pull' of null

Version: 0.8.0-rc1
From a fresh install on Mac OSX (10.10.4) I got this when trying to create a container from the "hello-world-nginx" container on Docker registry.

git clone git@github.com:kitematic/kitematic.git
npm install
npm start

>> [33627:0727/103139:INFO:renderer_main.cc(200)] Renderer process started
>> [33193:0727/103139:INFO:CONSOLE(109)] "Download the React DevTools for a better development experience: https://fb.me/react-devtools", source: /Users/tim.brandin/Projects/kitematic/build/node_modules/react/lib/React.js (109)
>> [33193:0727/103158:INFO:CONSOLE(239)] "[Bugsnag] Invalid API key 'undefined'", source: /Users/tim.brandin/Projects/kitematic/build/node_modules/bugsnag-js/src/bugsnag.js (239)
>> [33193:0727/103158:INFO:CONSOLE(436)] "Uncaught TypeError: Cannot read property 'pull' of null", source: /Users/tim.brandin/Projects/kitematic/build/utils/DockerUtil.js (436)

Nevermind, it seems like one shouldn't have another Kitematic running at the same time.


error of msg_ret

log from asan
==101009==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x55c7fb45b936 bp 0x7efe0aff6d10 sp 0x7efe0aff6b90 T9)
==101009==The signal is caused by a READ memory access.
==101009==Hint: address points to the zero page.
    #0 0x55c7fb45b935 in server_cb ../nanomq/apps/broker.c:361
    #1 0x55c7fb495969 in nni_taskq_thread ../nng/src/core/taskq.c:50
    #2 0x55c7fb496bd8 in nni_thr_wrap ../nng/src/core/thread.c:94
    #3 0x55c7fb49f3d2 in nni_plat_thr_main ../nng/src/platform/posix/posix_thread.c:266
    #4 0x7efe1276d608 in start_thread /build/glibc-sMfBJT/glibc-2.31/nptl/pthread_create.c:477
    #5 0x7efe12661162 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f162)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../nanomq/apps/broker.c:361 in server_cb
Thread T9 (nng:task) created by T0 here:
    #0 0x7efe127c2815 in __interceptor_pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cc:208
    #1 0x55c7fb49f502 in nni_plat_thr_init ../nng/src/platform/posix/posix_thread.c:279
    #2 0x55c7fb496e81 in nni_thr_init ../nng/src/core/thread.c:121
    #3 0x55c7fb495c8a in nni_taskq_init ../nng/src/core/taskq.c:95
    #4 0x55c7fb4968a8 in nni_taskq_sys_init ../nng/src/core/taskq.c:284
    #5 0x55c7fb481fca in nni_init_helper ../nng/src/core/init.c:35
    #6 0x55c7fb49f856 in nni_plat_init ../nng/src/platform/posix/posix_thread.c:422
    #7 0x55c7fb482048 in nni_init ../nng/src/core/init.c:58
    #8 0x55c7fb4b66da in nni_proto_mqtt_open ../nng/src/sp/protocol.c:37
    #9 0x55c7fb4b643d in nng_nmq_tcp0_open ../nng/src/sp/protocol/mqtt/nmq_mqtt.c:1173
    #10 0x55c7fb45eab2 in broker ../nanomq/apps/broker.c:723
    #11 0x55c7fb4613a3 in broker_start ../nanomq/apps/broker.c:1154
    #12 0x55c7fb43d355 in main ../nanomq/nanomq.c:187
    #13 0x7efe125660b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)

How to reproduce
Cause by fuzzing...

can you reproduce it in 0.7.1?


[BUG] White text against white background

Describe the bug 🐞
search box text is white against the white search box background making the text difficult to see
Expected behavior
black text against a white background
Screenshots

Location 🎯
docs search box

Fixed in https://github.com/near/docs/pull/1178


⚠ Bofrost.lu has degraded performance

In 30fda77, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1944 ms

Resolved: Bofrost.lu performance has improved in 4dddf2f after 6 minutes.


Does the SemanticKITTI dataset provide depth ground truth?

Hi, brilliant work.
I would like to know if the SemanticKITTI dataset provides official depth GT？ I need to utilize accurate depth information.
Many thanks

Thanks for reaching out! The SemanticKITTI dataset doesn't come with official depth ground truth. But since it's based on the KITTI dataset, you might be able to use the depth labels from KITTI. Just keep in mind that I'm not totally sure how well that would work. Good luck with your project!

Thanks for reaching out! The SemanticKITTI dataset doesn't come with official depth ground truth. But since it's based on the KITTI dataset, you might be able to use the depth labels from KITTI. Just keep in mind that I'm not totally sure how well that would work. Good luck with your project!

@npurson  Thanks for your prompt  reply, I have referenced the functions pix2cam and cam2vox from Symphonies/ssc_pl/models/utils/utils.py and applied them using LiDAR depth value. However, I am unable to correctly establish the correspondence between the image pixels and the voxels. When I project the depth values using the camera intrinsics, extrinsics, voxel, and scene scale, the resulting voxels do not align with the occupancy coordinate system. There appears to be some coordinate shift, causing a mismatch with the occupancy ground truth.
Could you please help me understand what might be causing this issue?

Thanks for reaching out! The SemanticKITTI dataset doesn't come with official depth ground truth. But since it's based on the KITTI dataset, you might be able to use the depth labels from KITTI. Just keep in mind that I'm not totally sure how well that would work. Good luck with your project!

@npurson Thanks for your prompt reply, I have referenced the functions pix2cam and cam2vox from Symphonies/ssc_pl/models/utils/utils.py and applied them using LiDAR depth value. However, I am unable to correctly establish the correspondence between the image pixels and the voxels. When I project the depth values using the camera intrinsics, extrinsics, voxel, and scene scale, the resulting voxels do not align with the occupancy coordinate system. There appears to be some coordinate shift, causing a mismatch with the occupancy ground truth.
Could you please help me understand what might be causing this issue?

Apologies for missing your message. I haven't encountered such a problem. Is the disparity just a minor translation issue, or is it completely incorrect?


Add OpenVINO pipelines

Add pipelines able to load a model and convert it to the openvino format if needed
from optimum.intel.pipelines import pipeline

ov_pipe = pipeline("text-generation", "helenai/gpt2-ov", accelerator="openvino")
pipe = pipeline("text-generation", "gpt2", accelerator="openvino")

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Cannot use explore data function

When click the table in tablemodelview list, explore data page is always loading.
Expected results
Can generate visualization type like table, line chart, bar chart and so on.
Actual results
explore data page is always loading, cannot generate table .
Screenshots
How to reproduce the bug

Go to 'menu sources'
Click on 'menu tables'
Click on table name
See error

Environment
(please complete the following information):

superset version: 0.36
python version: 3.7
node.js version: Centos7, doesn't install node.js
npm version: Centos7, doesn't install node.js

Checklist
Make sure these boxes are checked before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[ ] I have reproduced the issue with at least the latest released version of superset.
[ ] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

@chrislin1991 I am unable to reproduce this bug. Can you share some more context on when this happens?

i did some secondary developments. some days after i changed codes, explore data function cannot be used, is always loading, and URL is always <IP_ADDRESS>/8088/superset/explore/table/14/. i changed some code below 1. static/assets/explore****.js，',.3f' is changed to ',.0f'. 2. superset/db_engine_specs/hive.py, alter create_table_from_csv() function  3.alter views/sql_lab.py, remove async_=True. Please click this link to see the superset secondary development part, this is chinese, but you can see the code screenshot, https://www.notion.so/Superset-c72534b9ee964d8f875443cb51cf47af. thank you~~~

when i click table name to explore data, terminal displayed view.py's explore function results, but didn't run explore_json function. so that explore page is always loading. why doesn't superset run explore_json?
INFO:werkzeug: * Detected change in '/data/anaconda3/envs/superset37/lib/python3.7/site-packages/superset/views/core.py', reloading
INFO:werkzeug: * Restarting with stat
logging was configured successfully
INFO:superset.utils.logging_configurator:logging was configured successfully
/data/anaconda3/envs/superset37/lib/python3.7/site-packages/flask_caching/init.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
"Flask-Caching: CACHE_TYPE is set to null, "
WARNING:werkzeug: * Debugger is active!
INFO:werkzeug: * Debugger PIN: 339-202-523
explore start
{'time_range_endpoints': (<TimeRangeEndpoint.INCLUSIVE: 'inclusive'>, <TimeRangeEndpoint.EXCLUSIVE: 'exclusive'>), 'datasource': '14__table', 'adhoc_filters': []} ImmutableMultiDict([])
explore end
INFO:werkzeug:<IP_ADDRESS> - - [12/Jun/2020 15:24:36] "GET /superset/explore/table/14/ HTTP/1.1" 200 -

I find the problem, I changed the format for explore**.js file. So that it appears bug,  '>' cannot be recognized.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 193 ms

Resolved: ClamAV performance has improved in 787e35e.


Help to toggle lint gutter

Hi,
I am trying to toggle the display of the lint gutter, using a keyboard shortcut.
Taking a lead from the ever helpful dmaluka (https://github.com/zyedidia/micro/issues/2086#issuecomment-826351299) I have the following Lua code:
function lint_toggle(Current)
    local val = Current.Buf.Settings["linter"]
    if val then
        Current:HandleCommand("setlocal linter off")
    else
        Current:HandleCommand("setlocal linter on")
        Current:HandleCommand("lint")
    end
end

This does not work, and I suspect I am testing the wrong setting.
Reading the source of the linter plugin has not enlightened me.
Does anyone know how to test if the lint gutter is displayed?
Kind Regards Gavin Holt
Version: 2.0.14-dev.253
Commit hash: 37379791
Compiled on August 18, 2024
Microsoft Windows [Version 10.0.19045.4651]
Terminal: cmd.exe 10.0.19041.4355 (WinBuild.160101.0800)

ClearAllMessages() can be used to clear all linter messages from the gutter. It is not "toggle" though: it permanently removes the messages, not just hides them.

Hi
Many thanks. I have a function to clear all highlighting and have added bp.Buf:ClearAllMessages() to remove the gutter.
function unmark(bp)
-- Hides all the found string highlighting and the gutter
    bp:UnhighlightSearch()
    bp.Buf:ClearAllMessages()
end

Kind Regards Gavin Holt


Languages with number of users

I was just checking that we can see how many users there are for a given language.
When we invoke users?language="Javascript" we see that there are over 600 000 users.
Do you think it would be easy to have this directly when we call for the languages endpoint?
Javascript - 650 000
Java - 400 000
Ruby - 200 000
and so on.

Yes i like this idea. It should be easy :
For each language you should be able to call :
UserRank#world_user_count

Do you think doing that would noticeably affect the performance?

No i don't think it'll be noticeable :
Counting the number of user in a region is done through Redis zcard which is O(1)
Redis is hosted on the same server as the application, so even calling this 200 times should be really fast.
But i'm only only guessing at this stage...
If we notice some performance issue (> 5ms ?) we can just cache the result for an hour.
So if you feel like implementing it, go for it :)


feat: Add git info to build

Not finished; needs some cleaning + need to resolve how the tests & book should work
Would replace https://github.com/PRQL/prql/pull/4546 (hope that's OK!)

This requires bumping the MSRV from 1.70.0 to 1.73.0. Would that be OK with everyone? @eitsupi ?
Debian is now on 1.79.0. 1.73.0 is 10 months old.

Bumping MSRV is fine.
Note that using fetch-tags: true may make the repo cloning take a longer time.

I think this feature is great and setting the MSRV to 1.73 is fine, but I don't know if this design is reasonable.
Do you know of any projects that would be helpful?

Do you know of any projects that would be helpful?

It benefit is to give us an exact version for reproducing issues. For example, if I launch a playground on this code, I get -- Generated by PRQL compiler version:0.13.0-31-gfa46187 (https://prql-lang.org), rather than 0.13.1, which isn't quite correct.
(Does that answer your question?)

I switched to using gitcl, because of https://github.com/rustyhorde/vergen/issues/359. That uses the git command line — a bit less elegant but OK for the moment.
I would have thought it would be a bit slower, but actually the time to execute time bash -c 'touch prqlc/prqlc/src/lib.rs; cargo build -p prqlc' isn't noticeable. (Possibly because there's lots of noise already in that timing — anything from 1.8s to 2.4s...)
time bash -c 'touch prqlc/prqlc/src/lib.rs; cargo build -p prqlc'
   Compiling prqlc v0.13.1 (/Users/maximilian/workspace/prql/prqlc/prqlc)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.90s

________________________________________________________
Executed in    1.95 secs    fish           external
   usr time    1.55 secs   65.00 micros    1.55 secs
   sys time    2.29 secs  371.00 micros    2.29 secs

can I ask what you mean by " Do you know of any projects that would be helpful?"? TY!

Sorry for failing to ask the right question. I just wanted to know if there are other packages out there with similar functionality.

Sorry for failing to ask the right question. I just wanted to know if there are other packages out there with similar functionality.

Ah, sorry, I understand now!
Lots of python projects do this — so running xarray.__version__ gives a git hash when it's not on a tag, for example.
For rust — I browsed dependents of vergen, which has 20K repos and 200 packages. GitHub doesn't organize by popularity, but one random example is https://github.com/sxyazi/yazi/blob/d2ebadb6314e3d124a173b6683399e8d33acb429/yazi-cli/build.rs#L8


RuntimeError torch related

Hi!
Thanks for sharing your code with us! :-)
I'm trying to train the model using ex1_train.sh with the ModelNet40.
After a long time of training the script quit with the following error:
.../ptlk/pointlk.py", line 58, in do_forward
    a0[:, 0:3, 3] = p0_m
RuntimeError: unsupported operation: more than one element of the written-to tensor refers to a single memory location. Please clone() the tensor before performing the operation.

Can you help me find out what's going wrong here?

As the error says, you can clone the tensors using the .clone() method.
Add it to lines 54 and 55 of the pointlk.py script as so:
a0 = torch.eye(4).view(1, 4, 4).expand(p0.size(0), 4, 4).to(p0).clone() # [B, 4, 4]
a1 = torch.eye(4).view(1, 4, 4).expand(p1.size(0), 4, 4).to(p1).clone() # [B, 4, 4]


Error: Cannot find module './lib/utils'

Description
gridsome develop
Gridsome v0.7.23
Initializing plugins...
Error: Cannot find module './lib/utils'
Steps to reproduce
npm run gridsome develop
Actual result
Error: Cannot find module './lib/utils'
Environment
  System:
    OS: macOS 12.3.1
    CPU: (8) x64 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
  Binaries:
    Node: 16.16.0 - /usr/local/opt/node@16/bin/node
    Yarn: 1.22.18 - /usr/local/bin/yarn
    npm: 8.11.0 - /usr/local/opt/node@16/bin/npm
  Browsers:
    Chrome: 103.0.5060.134
    Safari: 15.4
  npmPackages:
    gridsome: ^0.7.23 => 0.7.23
    gridsome-plugin-flexsearch: ^2.0.1 => 2.0.1
    gridsome-source-shopify: ^0.2.6 => 0.2.6

I had to clean the yarn cache (yarn cache clean) to get all the files (some files within node_modules where missing) such as index.js under lib/utils and I also cleaned all installations of node to re install node specifically with nvm (node 16, I had to uninstall node 18 as Gridsome does work only with node <= 18 (eg. "digital envelope routines::unsupported" error)). For Node clean up : https://stackabuse.com/how-to-uninstall-node-js-from-mac-osx/


Error: the input device is not a TTY

I'm getting the below error when trying to format a haskell file.
Failed to run brittany; see the developer tools console for details. Error: Command failed: /path/to/brittany "/path/to/Course.hs"
the input device is not a TTY

However, when I run the exact same command directly in my terminal, it works
$ /path/to/brittany /path/to/Course.hs
module REDACTED where

import qualified Data.Aeson as Aeson
-- etc etc

The only relevant VSCode setting I have is "brittany.path": "/path/to/brittany"
We have our haskell app dockerized and I've seen people posting about having the same error output when using different tools related to Docker, but none of their suggestions helped so I'm hoping you can point me in the right direction.

I'm running this without Docker in VSCode (Windows) and it throws me in the output:
Error: 'stty' is not recognized as an internal or external command,
operable program or batch file.

@Ciantic Sorry for late reply but your error is an upstream problem.
Workaround is to create a file, stty.bat on your PATH with the following contents:
@IF "%1"=="size" exit 255

https://github.com/commercialhaskell/stack/pull/4968#issuecomment-538653583
I wonder if it's related to @JasonMFry's original problem (sorry that it hasn't been fixed yet).


subdomain setup

Hi Folks.
Just a quick question. im trying to install this on my server. however having trouble setting up a subdomain without a control panel. anyone have the patience to make help me setup a sub domain to get this installed would be of great assistance. Im using ubuntu 14.04 with apache 2.4 installed.
Thanks

Sorry, I´m Nginx user :( -  But this is probably not the right place to ask for general server questions


[WIP] First use: feedback

I’m diving into libp2p for a quick side project and I’m going to write notes up as I go in order to provide some usability feedback.

Getting a node up and running requires quite a lot of boiler. Luckily I already wrote
https://github.com/mikeal/libp2p-simple
All the API’s only take callbacks so I’m going to end up wrapping a lot of promises around instance methods which are a little annoying to bind :(
After I start the node it doesn’t keep the node process alive. Even after I provide something to content discovery, the process exits without staying open :(

I’ll keep adding to this thread as I work through more of the API.

3. After I start the node it doesn’t keep the node process alive. Even after I provide something to content discovery, the process exits without staying open :(

@mikeal are you adding multiaddrs to the peerInfo before starting libp2p? I'm thinking that perhaps no transports are listening which could cause the process to shutdown.

This issue is quite stale, the API has been refactored, everything has types now and things like enabling the DHT is a lot more straightforward.
Please reopen with feedback on the current version.


Use KML / GeoJSON / ArcGIS Shapefiles in map filters

@bferguso Is this row 1 from the fossil user stories spreadsheet? If yes, there is a comment that we need to determine what file types to support and it is TBD whether it will be in MVP

@tzukiwsky - I think this is related to row 11 of the user stories. I think we need to determine the minimum required geometries for MVP (GeoJSON is something that we could probably do quite easily with the existing functionality), the others will need a bit more effort.


Disable/Change the TreeChop mechanic

It is possible to disable only the tree chop mechanic?
i like this mod because of the appearance of the trees but i would wanna use other mod for change the way the tree fall

Yes, you can disabling falling trees in the config (server config in 1.16+). Keep in mind other mods that change the way that tree falls may not work with DT; it's up to them to add support if necessary.


Fixed #32948 - Optimised Q _combine() and invert()

Ticket 32948. Commits are currently discrete for individual changes, rather than 1 which solves all, and realistically there might be changes required (if any go-ahead is even given) so I'll squash and fix the commit message later.
First port of call, let's see that this doesn't break anything that I can't run locally easily.

@kezabelle @ngnpope Thanks both :+1: I'm sorry :disappointed: , but with two open PRs, multiple small changes, and an extensive discussion it's hard for me to follow :exploding_head: . Could you agree to the final set of changes and incorporate desired edits from #14677 in this PR? I'd be really grateful :1st_place_medal:

@felixxm  Yes, sorry! I meant to get back to this soon. Will be next week.

I would be very glad to have this PR merged for the 4.0 release, and mentioned that over here.
I don't know that I'm qualified to summarize the 2 PRs - actually, I know I'm not :grin:
But I'd still like one of them to be merged - and I don't care which. I cloned the PRs from both @ngnpope and @kezabelle and ran the timeits from the ticket. In my findings, @ngnpope's PR was consistently faster, although only by hundredths of µs. For example:
%timeit full | full2
1.55 µs ± 10.5 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

vs
%timeit full | full2
1.59 µs ± 21.9 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

So anyway, I don't really care which PR is merged; just hoping that one of them gets included in 4.0!

I'm going to try and look at consolidating things today, but it's been a while and now I have to refresh my memory.

@felixxm @kezabelle I'm going to close this one in favour of #14677 now that I've updated it.


Oculus CV1 image distortion

As I haven't been able to get any more information on this issue, I will just open this Issue here without much more information.
Using the Oculus Rift CV1 with SteamVR in Direct Mode has the image distorted.
SteamVR-OpenHMD reports distortion parameters being set in the log. According to the OpenHMD source code, these are the right parameters for the Rift.
I haven't found an application than I can try direct mode with and I don't know how you are supposed to use any application with extended mode.
The distrotion isn't gamebreaking, but clearly visible, so I am not even sure if the distortion values that come with OpenHMD are right.

Just set up a bounty for who ever manages to get this fixed, as this is somewhat important to me.
https://www.bountysource.com/issues/72293469-oculus-cv1-image-distortion

I haven't found an application than I can try direct mode with and I don't know how you are supposed to use any application with extended mode.

Hey. In the meantime I wrote down a little bit of what I know about extended mode in the OpenHMD wiki: https://github.com/OpenHMD/OpenHMD/wiki/Extended-Mode
Specifically for the CV1 someone made an issue and it turns out that the display only works while an OpenHMD app (or SteamVR-OpenHMD) is running. https://github.com/OpenHMD/OpenHMD/issues/224
Unfortunately I still can't say anything about the Oculus Rift distortion, because I don't have one.
Just a suggestion, but if you are interested in testing more stuff, you can try our (Collabora) OpenXR runtime which supports direct mode and among others uses OpenHMD drivers: https://gitlab.freedesktop.org/monado/monado (simple compilation instructions)
Though right now there are only few OpenXR examples and no real applications you can run on it right now.

The display turns on no problem for me in extended mode. I just have no idea how I am going to get an application to fullscreen on that.
I did https://gitlab.com/lubosz/xrgears before, though I couldn't get it to run.
If your are up for it and maybe not too far away, I could lend you my Oculus to take a look yourself.

The distortion is very slight, correct?  Do objects appear slightly smaller when at the center?

I wouldn't call it very slight. Thought it is not very bad either. I haven't really noticed objects being smaller in the center (will look out for that when I have the headset on next). So the distrortion is so bad that I have had dizzyness and headaches when I started using the oculus with this. I have gotten used to it though, to the point where I only have problems with orientation (and immersion).
What I specificly notice is that staight lines are not straight in the oculus anymore. They seem straight in the center area, but warp shortly after getting further out.
I guess I should try to take a picture of it, so people can actually see what I am talking about.

I tried my best to take some pictures:

You can clearly see everything being somewhat warped.
Here a (weirdly squished) screenshot made with SteamVR for comparison:

It might be squished, but you can still see that all the edges are supposed to be straight, rather than warped.

I can confirm this issue. I use to play EliteDangerous and I cannot because distortion.
It seems that something is doing wrong in the center. It's like a ripple and I can see it when I move the head. Just strange. It happens on SteamVR at all times on direct mode.

I managed to make a couple of videos
http://owncloud.level2crm.com/index.php/s/oGkd5ZJLbfqQ6Ag
http://owncloud.level2crm.com/index.php/s/kLwqy6tKnwMf7LE
I hope you can see it. In stereo the effect is bigger...

I just fixed CV1 lens distortion parameters in my positional tracking branch. See https://github.com/thaytan/OpenHMD/issues/22

Unfortunately I don't have a Rift to test this on anymore. But I guess this can still be closed once the new parameters make it into upstream.


Incorrectly format on a switch case

Esformatter formats this (expected)
const a = {
  g() {
    switch (x) {
      case 1:
        ret = 0;
        break;
    }
  },

  f() {}
};

into this:
const a = {
  g() {
    switch (x) {
      case 1: ret = 0;
        break;
    }
  },

  f() {}
};

I think it is a bug because if f() {} is removed then it works as expected.

thanks for reporting the bug! we did not have any special code to handle the method syntax!


[M2] Peng Functions + Tests

Create the following functions as well as their corresponding 3 tests:
move_ave_10_20(stock_ticker, date)
plot_ma_10_20(stock_ticker, date)

Specifically, the move_avg_10_20 should return a dataframe. Then, plot_ma_10_20 calls the move_avg_10_20 to plot the data.


Support current humidity level

Device type and model (or SN)
dehumidifier, 00000Q1B
The description of new feature
https://github.com/wuwentao/midea_ac_lan/blob/master/doc/A1.md supports setting the humidity level but doesn't show the current level.
Another integration supports showing the current humidity so it would be nice to do that here as well.
Having the current humidity level would allow the widget on the left.

Hello, please have a try. #78


fixes #135, #137, and #201 - custom fields choices refactor

Fixes: #135 #137 #201
As discussed, this breaks out choices into their own model. Changes to choices and cleaning of state CF data now run in the RQ worker under the custom_fields queue.
Also changing the name or type of the custom field are not permitted once created.
There are two things I am not happy with and would like some input:

change logging is not currently possible because the jobs are queued from the model's save and delete methods and/or signals.
The integrity check for choices in the admin panel causes a weird UX flow. If a choice is in use or is the default for the field, it cannot be deleted. The check on the delete method raises a ProtectedError, however, this is being manually handled in the admin save_formsets which is only capable of setting user messages. This means the delete fails correctly, but the user is kicked back to the CF list view with a green message saying the choice could not be deleted.

@jathanism @glennmatthews In the latest commit I have done two things:

Refactored all migrations
Renamed the custom_field_data field to _custom_field_data to denote it as private which the intention of exposing the cf property as the official interface for custom field instance data. This is a larger effort that I want to get into 1.0.0 but not into this PR. For now, I have added a custom_field_data property to make this a little easier.


Back animations sped up + stop working when interrupted in the middle

Describe the bug
When I navigate to another screen and force the animations to be intentionally 3 seconds long, when I press back (on Android), it does not play the animation in the same speed, but only some sped-up version. This issue only happens when using native back button (on emulator for example) and not when calling navigateUp. Also, when I navigate back using system button during this long animation, the whole navigation breaks.
To Reproduce
Steps to reproduce the behavior:

Pull code from here: https://github.com/LukasAnda/Plank-Timer/tree/main
Uncomment animation code in AppNavigation file
Run the Android app.
Navigate to settings and then (while the animation is running) navigate back.
Try to navigate once again to no avail.

Expected behavior
Navigation animations work correctly regardless of if I navigate up using code or system buttons.
Minimal reproducible example
Mentioned in the first step

I am still trying to find the root cause of this.
Another case is that if you try to navigate to another scene while the transition is running, the transition also seems to be incorrect.

If i use androidx.activity.compose.BackHandler in actual android implementation, animation works as expected. But if I replace it with moe.tlaster.precompose.navigation.BackHandler, animation speed up


Build tools 1.0.0.Final

Windows Build 15 is now running using a merge of 5d02c0024fc816deef646fc35805f6363544e1aa

Linux Build 17 is now running using a merge of 5d02c0024fc816deef646fc35805f6363544e1aa

Linux with security manager Build 15 is now running using a merge of 5d02c0024fc816deef646fc35805f6363544e1aa

Linux with security manager Build 15 outcome was SUCCESS using a merge of 5d02c0024fc816deef646fc35805f6363544e1aa
Summary: Tests passed: 825, ignored: 317 Build time: 0:07:23

Linux Build 17 outcome was FAILURE using a merge of 5d02c0024fc816deef646fc35805f6363544e1aa
Summary: Tests failed: 1 (1 new), passed: 2858, ignored: 372, muted: 1 Build time: 0:53:36
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.jca.moduledeployment.TwoModulesJarTestCase: <no details avaliable>

Windows Build 15 outcome was SUCCESS using a merge of 5d02c0024fc816deef646fc35805f6363544e1aa
Summary: Tests passed: 2867, ignored: 372 Build time: 0:54:52


Don't use initdb --set in dev/run-postgresql.sh

Closes GH-113
Because it's available since PostgreSQL 16.

+1


Fix test, setting EasyMock to EmailAlerter object.

Hi gazbert!
I tried to build the project, but failed in the unit tests step. I received an error (below). But I found a simple workaround and it worked for me, please evaluate.
More info: https://gist.github.com/samarone/2cfa0e770c01a43663d19faa87ec90fd
Thanks for the great work!
Best Regards
Samarone Lopes

I noticed that the last commit corrected the problem. That's why I'm canceling.


Resolve dead links

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.9 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

This PR is a minor change to docs for dead links, Markdown linting.

@denelon Same for this one :)

You rock!

Great catch @aisgbnok


Duplicate packages definition

Is it normal that each time a client sends its package list, the former set is not dropped, leading to the same package & versions being listed multiple times?
I'll be sending a pull request addressing this very soon.
Meanwhile, it looks to me like this problem starts here.
CREATE TABLE `patch_allpackages` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `server_name` varchar(512) NOT NULL,
  `package_name` varchar(60) NOT NULL,
  `package_version` varchar(60) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_server_name` (`server_name`),
  KEY `ix_package_name` (`package_name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

IMO, your PK here should be based on server_name and package_name. There shouldn't be two records sharing these 2 fields.
Eventually, id column may not be necessary.

The initial problem is solved.
It could still be relevant to re-think the way your mysql tables are created. This is an other subject, .. Closing.


SivaReader does not read latest version of changed files

Steps to reproduce:
Check manually that siva unpack produces latest version of config file:
 siva unpack src/test/resourced/basic-config-appended.siva basic-config-appended-go
 wc -l basic-config-appended-go/config
 8

But siva-java only sees the initial version:
  git fetch upstream pull/4/head:test/getFilteredIndexContent
 ./sbt test

 # or, using https://github.com/src-d/siva-java/pull/3
 ./siva-unpack basic-config-appended.siva basic-config-appended-java
 wc -l basic-config-appended-java/config
 116

Expected result - 8, same as in Go, actual result, using SivaReader is 116.
Details on how test data was created are hidden below.

A file basic-config.siva was created by

siva unpack basic.siva basic
add new config file to basic
siva pack

A file basic-config-appended.siva was created by

delete trailing N lines of basic/config
siva pack --append basic

This is taken care of by #6


BluetoothManager.getInstance() never null

It;s probably because I am new to Android / Kotlin.
Trying to make a use of that module, So far working fine with list and bluetooth enabled.
I have part of code that checks the instance as in readme:
private var bluetoothManager: BluetoothManager? =BluetoothManager.getInstance()
  override fun onCreate(savedInstanceState: Bundle?) {
    if (bluetoothManager == null) {}
}

But Android studio  gives me a hint, that bluetoothManager is never null

That's strange, in the Kotlin rewrite it looks like this:
https://github.com/harry1453/android-bluetooth-serial/blob/a2075b9444dae1ed6b934d23da78262d48bfb994/androidBluetoothSerial/src/main/java/com/harrysoft/androidbluetoothserial/BluetoothManager.kt#L78
And is quite clearly nullable.


[v2] Back/Forward buttons break parameterized routes that use async getInitialProps()

I put together a demo repo here.
async getInitialProps() is not getting the correct ctx during back() with parameterized routes.

@jaredpalmer thanks for preparing the demo repo. It was so helpful for detecting the cause 😄

No problem.


Emit a warning when using things like tasks.existing are used wrongly

I had this in my Kotlin build script:
val jar by tasks.existing(Jar::class)
jar {
    manifest {
        attributes("Automatic-Module-Name" to "net.kautler.command")
    }
}

Then I thought "well, why the split, give the configure closure directly to the existing method (after seeing it is possible), so I changed it to:
val jar by tasks.existing(Jar::class) {
    manifest {
        attributes("Automatic-Module-Name" to "net.kautler.command")
    }
}

which still worked fine.
Yet now IJ and the kotlin compiler yell at me, that the variable jar is never used. (I left it there intentionally because of the task name that is derived from the variable name)
I wondered what happens if I remove the name-defining variable and changed it like suggested to:
tasks.existing(Jar::class) {
    manifest {
        attributes("Automatic-Module-Name" to "net.kautler.command")
    }
}

which removed the warning and everything worked fine.
Except that the block is totally pointless and does nothing. (I thought it might maybe configure all existing tasks of type Jar.
I think it would be good to warn or fail in case someone uses such methods that are intended to be used purely as delegate and will not work otherwise or people will introduce subtle build bugs and wonder why it does not work.
I know that I should have used
tasks.named("jar", Jar::class) {
    manifest {
        attributes("Automatic-Module-Name" to "net.kautler.command")
    }
}

here, I just wondered whether Gradle is as helping as I'm used to and I found it not to be, so thought I suggest to improve. :-)

Still relevant in 6.6.1

I find that argument very bad actually. The delegates are great. Not having the delegates for the new methods is bad. Now you have to duplicate the name in the variable name and as argument. The Groovy DSL and Kotlin DSL are different things. Using either language's strengths is a good thing. Sacrificing that for more similarity and thereby decreasing maintainability / usability is imho a very bad idea. It is a good thing to make the DSLs as similar as possible where it makes sense but keep the individual strengths.
Otherwise you should for example also make it impossible to write sourceSets { foo } to create a new or configure an existing source set name foo in the Groovy DSL, because in Kotlin DSL this cannot be made valid code.
Actually, the original situation described here is different as Kotlin does not consider the variable unused anymore, so neither Kotlin nor IDE should suggest this change anymore. And Gradle probably cannot do much to warn about this.

Thanks for the feedback!
It's not set in stone inside the team (and I personally mostly agree with you). FTR, changing the DSL in that regard is out of scope for now.


Module "fs" has been externalized for browser compatibility and cannot be accessed in client code.

Describe the bug Trying to use Vite and near-api-js and error below occurs.
 Uncaught Error: Module "fs" has been externalized for browser compatibility and cannot be accessed in client code.
 at Object.get (browser-external:fs:3:11)
 at node_modules/near-api-js/lib/key_stores/unencrypted_file_system_keystore.js (unencrypted_file_system_keystore.js:20:39)
 at __require2 (chunk-OROXOI2D.js?v=32b5dd11:16:50)
 at node_modules/near-api-js/lib/key_stores/index.js (index.js:11:44)
 at __require2 (chunk-OROXOI2D.js?v=32b5dd11:16:50)
 at node_modules/near-api-js/lib/index.js (index.js:26:34)
 at __require2 (chunk-OROXOI2D.js?v=32b5dd11:16:50)
 at dep:near-api-js_lib:1:16

To Reproduce Steps to reproduce the behavior:

Go to 'my repo'
Clone the project
Move to near-wasm directory
yarn install & yarn dev etc

Expected behavior No error occurs and display component
Desktop (please complete the following information):

OS: MacOS M1Pro
Version Monetary v12.0

@masafumimori It's happening because you are importing directly via near-api-js/lib. You should change the import to just near-api-js since the browser index is lib/browser-index.js 🙂

@esaminu
YES!!!
It all worked fine after removing /lib like you said. Thanks a lot!!


chore: new xtask to check stale paths in autolabel defintions

What does this PR try to resolve?
Add a tool I wrote a while back to detect any stale trigger files in autolabel definitions in triagebot.toml.
How should we test and review this PR?
Should fail since we got some stale already.
I didn't make stale-label job required because I don't think it should block the contributor workflow.
Blocked on https://github.com/rust-lang/cargo/pull/12052

@bors r+

:pushpin: Commit 36653ab85a2fec6cd605f07a25d18bcaa9426064 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 36653ab85a2fec6cd605f07a25d18bcaa9426064 with merge c8d980c5988ebbb096aa620c7c7792c6d9b63842...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing c8d980c5988ebbb096aa620c7c7792c6d9b63842 to master...


'ng2-completer' is not a known element and whole bunch of property binding error

Hi,
I'm trying to add ng2-completer to my project, but whatever I tried, I can't get rid of the error indicated in the subject. I'm able to build the project and run the server, but the error occurs on loading the home page. Angular 4 doesn't recognize ng2-completer.
To install ng2-completer, I have followed the steps in Readme.md. Instead of putting 'ng2-completer.umd.js' into System.js, I have it in '.angular-cli.json', specifically in the apps[0].scripts section. From my understanding, this is how the latest Angular cli imports the external java scripts. It doesn't use System.js any more.
My project environment is Angular CLI v1.0.0 with Angular v4.0.0, and here's what I tried.

npm install ng2-completer --save
Add ng2-completer.umd.js location to '.angular-cli.json'
Import Ng2CompleterModule in app.module.ts
Import CompleterData in the component
Add the ng2-completer tag to the component html template.

Here's the error I got when loading the home page.
Uncaught TypeError: Cannot read property 'core' of undefined
at ng2-completer.umd.js:1
at ng2-completer.umd.js:1
'ng2-completer' is not a known element:

If 'ng2-completer' is an Angular component, then verify that it is part of this module.
If 'ng2-completer' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("

[ERROR ->]<ng2-completer #openCloseExample class="completer-limit"
[(ngModel)]="plac"): ng:///CoreModule/SearchmenuComponent.html@8:12
at syntaxError (http://localhost:4200/vendor.bundle.js:43624:34) []
at TemplateParser.parse (http://localhost:4200/vendor.bundle.js:53633:19) []
at JitCompiler._compileTemplate (http://localhost:4200/vendor.bundle.js:67316:39) []
at http://localhost:4200/vendor.bundle.js:67240:62 []
at Set.forEach (native) []
at JitCompiler._compileComponents (http://localhost:4200/vendor.bundle.js:67240:19) []
at createResult (http://localhost:4200/vendor.bundle.js:67125:19) []
at Zone.run (http://localhost:4200/polyfills.bundle.js:6087:43) [ => ]
at http://localhost:4200/polyfills.bundle.js:6722:57 []
at Zone.runTask (http://localhost:4200/polyfills.bundle.js:6127:47) [ => ]
at drainMicroTaskQueue (http://localhost:4200/polyfills.bundle.js:6555:35) [] Error: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'ng2-completer'.

Could anyone take a look?
Thank you.

just remove ng2-completer line from .angular-cli.json

Thank you oferh. It still doesn't work. I'm able to do build and start server, but I'm still getting the same error, 'ng2-completer' is not a known element.
Below are the changes I made to my project:

Installed ng2-completer with 'npm install ng2-completer --save'
Added line below to app.module.ts
import { Ng2CompleterModule } from 'ng2-completer';
Added logic in my component class and in my component html template, I added something like
<ng2-completer #openCloseExample class="completer-limit"
[(ngModel)]="placeSearchStr"
[datasource]="placeSearchData"
[inputClass]="'form-control'"
[openOnFocus]="true"
(opened)="onOpened($event)"
(focus)="openCloseFocused = true"
(blur)="openCloseFocused = false"
[minSearchLength]="0"
[placeholder]="'search color'"
[autoHighlight]="true"
[fillHighlighted]="false">

Below is part of the error messages. There are also whole bunch of property binding errors.
'ng2-completer' is not a known element:

If 'ng2-completer' is an Angular component, then verify that it is part of this module.
If 'ng2-completer' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("

[ERROR ->]<ng2-completer #openCloseExample class="completer-limit"
[(ngModel)]="plac"): ng:///CoreModule/SearchmenuComponent.html@8:12
at syntaxError (http://localhost:4200/vendor.bundle.js:43624:34) []
at TemplateParser.parse (http://localhost:4200/vendor.bundle.js:53633:19) []
at JitCompiler._compileTemplate (http://localhost:4200/vendor.bundle.js:67316:39) []
at http://localhost:4200/vendor.bundle.js:67240:62 []
at Set.forEach (native) []
at JitCompiler._compileComponents (http://localhost:4200/vendor.bundle.js:67240:19) []
at createResult (http://localhost:4200/vendor.bundle.js:67125:19) []
at Zone.run (http://localhost:4200/polyfills.bundle.js:6088:43) [ => ]
at http://localhost:4200/polyfills.bundle.js:6723:57 []
at Zone.runTask (http://localhost:4200/polyfills.bundle.js:6128:47) [ => ]
at drainMicroTaskQueue (http://localhost:4200/polyfills.bundle.js:6556:35) []

Hi, have you included Ng2CompleterModule in the imports section of your module?:
@NgModule({
  imports: [
      ...
      Ng2CompleterModule
  ],

Hi oferh,
Yes, I do. Here's my app-module.ts.
`
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { Ng2CompleterModule } from 'ng2-completer';
import { AppComponent } from './app.component';
import { FeaturesModule } from './features/features.module';
import { TRANSLATION_PROVIDERS, TranslatePipe, TranslateService } from './i18n';
import { AppRoutes } from './config/routes.config';
@NgModule({
declarations: [
AppComponent,
TranslatePipe
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
Ng2CompleterModule,
BrowserAnimationsModule,
FeaturesModule,
RouterModule.forRoot(AppRoutes)
],
providers: [ TRANSLATION_PROVIDERS, TranslateService ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
`

I downloaded the ng-completer source package, built the package, and run 'npm start' to start the webpack server. Everything worked. I was able to load the demo page successfully.
Then I tried to move the demo native page (native-cmp.ts, html, css and any other required files) to my project, modified the import location to make the build working. Again, the build was successful and I was able to start the server. When trying to load the demo native page, I got the same error that I pasted above.
'native-cmp' is not a known element.
So, I'm able to reproduce the issue in my environment with the demo code.
My project was created by Angular CLI, and the versions are Angular CLI v1.0.0 and @Angular v4.0.0.
Hope this will give a bit more help to investigate.
Thanks.

@qiz264 this time you got 'native-cmp' is not a known element  or 'ng2-completer' is not a known element?
because if it's native-cmp you may need to add NativeCmp to the declarations section of the module
can you create a github repo with the code?

Hi oferh,
My github repo is here:    https://github.com/jic900
In the repo,

native-cmp is the one I created for testing purpose using the Demo code (native-comp only) and Angular CLI (v1.0.0). After I declare the native-cmp component in app-module.ts, it's partially working now. At least the page could be loaded which means ng2-completer tag is working in html.

acrossj-client is the one where I have ng2-completer added to SearchmenuComponent under src\app\core\navbar. It's still not working. Here the module structure is a bit more complicated. The app module imports a few other modules like CoreModule, FeaturesModule and SharedModule. The SearchmenuComponent is part of CoreModule. As you can see in core.module.ts, I declare and export SearchmenuComponent. And Angular doesn't allow me to declare SearchmenuComponent in app.module.ts as it's been already declared in core module.

I'm still getting the same error when loading the acrossj-client home page. Hope you will come up with some new clues after reviewing my code.
Thank you!

Hi,
In both projects needed to downgrade zone.js to version 0.8.5 (this looks like a zone.js issue)

native-cmp: autofocus="true" was causing an error which I need to further investigate at the moment I just removed it
acrossj-client: core has a different module in app/core/core.module.ts you need to import FormsModule and Ng2CompleterModule in this module for ng2-completer to work

Thanks again oferh. By adding both FormsModule and Ng2CompleterModule to the CoreModule in acrossj-client did the trick. I don't even need to put Ng2CompleterModule in the app.module.ts. For zone.js, I was using 0.8.5. With the latest 0.8.8, I was getting the error below, but with 0.8.7, everything is working fine.
Uncaught TypeError: Cannot read property 'apply' of undefined
at XMLHttpRequest.desc.get [as ontimeout] (zone.js:1265)
at XHRLocalObject.AbstractXHRObject._cleanup (abstract-xhr.js:149)
at XMLHttpRequest.xhr.onreadystatechange (abstract-xhr.js:125)
at XMLHttpRequest.wrapFn (zone.js:1230)
at ZoneDelegate.invokeTask (zone.js:398)
at Zone.runTask (zone.js:165)
at XMLHttpRequest.ZoneTask.invoke (zone.js:460)

Hi oferh,
Another question that might not be related to this issue. I want to display maximum 5 results and best match by StartWith and then Contains. Do you think that's doable with ng2-completer?
Thanks.

Hi @qiz264,
yes it's doable see my answer here

Awesome, thanks a lot oferh! Another thing is, the width of my search input is dynamic based on the window size, and I want the result dropdown to be with the same width as the input. Is there any way to achieve that? I tried to dynamically set a style of 'width: {custom value}' in my component when opened or focus event is triggered, but no luck so far. I looked the ng2-completer component source, the creation of dropdown is controlled by ngif of conditions. Since the completer-dropdown div is all internal, there's no way I can add ngClass or ngStyle to the element.

do you need to change it programmatically or that you can use css rules for it (i.e. using css media queries)?

Hi oferh,
I know css media queries will work if I give a fixed width for each different range of window size. What if I want to change it programmatically? Is it doable?
Thanks.

@qiz264 2 options in this case:

From your component get the completer component using ViewChild and the use its nativeElement with querySelector to find the elelment that you need
You can create your own custom autocomplete and fully control the styles, see material-cmp demo

Looks like it might be easier to create my custom autocomplete.
Thank you oferh for all the time and help here! I'll close the issue now.

I have Angular V.4 running @CLI and have the same Error and not solved. how to solve it?
<ng2-completer [(ngModel)]="searchStr" [datasource]="dataService" [ERROR ->][minSearchLength]="3">
<input class="btn btn-default" *ngIf="allowEdit" type=""): ng:///CRPrepareCopyRulingModule/CRClassificationComponent.html@5:70

'ng2-completer' is not a known element:

If 'ng2-completer' is an Angular component, then verify that it is part of this module.
If 'ng2-completer' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("

@alhasobaty have you been able to solve it?

hi @oferh  Im getting the same error ng2-completer is not a known element. I already imported it to app module.

I am using ng2-completer in my angular-6 project.
I want to highlight some specific items in the dropdown. I tried using html tags wrapped around those items, but the tags are shown as it is in the dropdown.
Any idea how this requirement can be fulfilled?


[Bug] WithOptions is lost when you use .replicas()

Fred version - 9.0.3
Redis version - 6.2.4
Platform - max
Deployment type - cluster|centralized
Describe the bug
In short, when you call .replicas() on a WithOptions<RedisPool>, the options are lost. This can lead to unexpected behavior, e.g. hanging if you had configured options like fail_fast or max_attempts. You can see more details here: https://github.com/aembke/fred.rs/discussions/255.
To Reproduce
pub fn get_redis_pool_options() -> Options {
    Options {
        max_attempts: Some(2),
        timeout: Some(Duration::from_secs(4)),
        fail_fast: true,
        ..Default::default()
    }
}

let pool = Builder::from_config(config).build_pool(8).unwrap();
let options = get_redis_pool_options();
let pool = pool.with_options(&options);
let value: Option<String> = self
    .redis_pool
    // We don't care if the data from the cache reader is a bit stale, it is
    // a good candidate for using replicas instead. If there are no replicas,
    // the client will just use a normal node.
    .replicas()
    // We need to reapply the options because `.replicas()` does not keep the
    // WithOptions wrapper: https://github.com/aembke/fred.rs/issues/256.
    .with_options(&get_redis_pool_options())
    .get(redis_key)
    .await
    .inspect_err(|e| error!(error = ?e, key=redacted_key, "Failed to get key from Redis"))
    .with_context(|| format!("Failed to get key {}", redacted_key))?;

The options do not apply to the final request unless you include with_options / remove replicas.
Logs
N/A

Hi @banool,
It looks like in this example you're binding the options to the pool via the pool variable, but then calling replicas() on self.redis_pool rather than pool. If you change self.redis_pool.replicas() to pool.replicas() does it still repro the issue?

Nevermind, I'm able to repro this with the changes above as well. Unfortunately this will require a breaking change to support, so I'm going to table it for now until 10.x. I'll add a warning in the docs about combining Replicas and WithOptions for now.
For what it's worth, you can set timeouts, max attempts, and max_redirections on the entire pool via the other config structs as well. That might help reduce some duplicate code in the meantime.

Yeah I realized that myself later, thanks for that, and the future fix for this issue!

Added in v10.0.0 (https://github.com/aembke/fred.rs/pull/314)


Allow raw identifiers

Fixes #33
Tested with the same patch to the demo derive as in the issue, which now gives
message=Ok(Ident { sym: r#raw, span: Span { handle: 4, _marker: PhantomData } })

GitHub suggested is r? @alexcrichton

I don't know if this is the actual desired semantics of the proc-macro2 API; this was just a minimal change in order to get the observed behavior in syn to not panic. Note that the proc-macro2 fallback imp has ::new and ::new_raw, neither of which strip r# from the start.


Remove bundleDependencies from package.json

@SevInf why do we need it?

The rational is explained in 13ced8a4197e52b801b1f394c55056e02bf99ef5.
The main reason is this libraries, unlike q or lodash provide core functionality of gemini. If looks-same changes the way it compares the images, gemini changes the way it compares the images. If a bug about incorrect config parsing is reported in gemini user expects it to be fixed in a new version, not by reinstalling the same version.

ok, tnx for the explanation


Optionally enable Django Debug Toolbar for local development

This PR adds the ability to enable Django Debug Toolbar for local development, which makes it easier to debug things like SQL queries, settings, template variables, and HTTP headers.
The toolbar is only supported when running locally using cfgov.settings.local, and only when the environment variable ENABLE_DEBUG_TOOLBAR is defined, e.g.
$ ENABLE_DEBUG_TOOLBAR=1 ./runserver.sh

Note that before using this for the first time on a new or restored database you will have to set up the required DB tables:
$ ENABLE_DEBUG_TOOLBAR=1 python cfgov/manage.py migrate debug_toolbar

Additions

Added settings for Django Debug Toolbar to settings.cfgov.local.
Added documentation for Django Debug Toolbar to development manual.

Screenshots
Homepage:

New documentation:

Checklist

[X] PR has an informative and human-readable title
[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[X] Passes all existing automated tests
[X] Project documentation has been updated
[X] Reviewers requested with the Assignee tool :arrow_right:

Actually, I get this error when trying to run the migration command:
CommandError: App 'debug_toolbar' does not have migrations (you cannot selectively sync unmigrated apps)

@richaagarwal thanks, that was a mistake. I've edited the description above - initially I thought there were migrations included with this, but there are not, so no special migrate command is needed.


getTankInfo consistently takes non-zero time (1 tick) to execute, and drops events during that time

I'm trying to write an interactive program that needs to poll an external tank in a loop, and the fact getTankInfo() is dropping events while executing is making that a lot harder. Is it possible to make it either take no time to execute, or at least not drop events while it takes its tick?
Reproduction:

Put a chest on the left of a computer
Put a tank on the right (any mod's tank will work AFAIAA, I found this with a Blood Magic blood altar, but have tested with an OpenBlocks tank and got the same result)
Run the following code

inventory = peripheral.wrap("left")
tank = peripheral.wrap("right")

-- With os.clock():

a = os.clock()
print(2) -- control, this should never take any time
b = os.clock()
print("print takes ", b-a) -- print takes 0

a = os.clock()
inventory.getAllStacks()
b = os.clock()
print("inventory takes ", b-a) -- inventory takes 0

a = os.clock()
tank.getTankInfo()
b = os.clock()
print("tank takes ", b-a) -- tank takes 0.05

-- With timers:

sleep(2) -- clear event queue

timer1 = os.startTimer(0)
timer2 = os.startTimer(1)

print("starting loop")
for i = 0, 10 do
	inventory.getAllStacks()
end
print("ending loop")

evt, arg = os.pullEvent()

-- timer1 is received
print("timer got ", arg, "; t1=", timer1, "; t2=", timer2) -- timer got 25201; t1=25201; t2=25202

sleep(2) -- clear event queue

timer1 = os.startTimer(0)
timer2 = os.startTimer(1)

print("starting loop")
for i = 0, 10 do
	tank.getTankInfo()
end
print("ending loop")

evt, arg = os.pullEvent()

-- timer2 is received; timer1 was dropped during the above loop
print("timer got ", arg, "; t1=", timer1, "; t2=", timer2) -- timer got 25205; t1=25204; t2=25205

I'm running FTB Infinity 2.6.0, which contains:
ComputerCraft 1.75
OpenModsLib 0.9.1
OpenPeripheralCore 1.3
OpenPeripheralAddons 0.5.1
OpenPeripheralIntegration 0.5

It's by design - to access anything in world we need to synchronize (with main thread), otherwise game may crash.
Basically, some of calls in OpenPeripheral (marked as synchronous in documentation) internally look like this:
local task_id = issueMainThreadTask(...) -- function from CC API
while true do
    event, id = os.pullEvent("task_complete")
    if id == task_id then break end
end

return ... -- actual return of function stored somewhere else

This is standard pattern in CC and identical to behaviour of turtle methods (turtle.dig, etc).
To get around this, please use built-in parallel module.


"Creating Mesh objects from a list of vertices and faces" fails on float Positions

You describe on https://pypi.org/project/numpy-stl/ howto "Creating Mesh objects from a list of vertices and faces".
The folowing error ocurs if using float-coordinates:
    cube.vectors[i][j] = vertices[f[j],:]
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

Describe the bug
Doesnt work with floats (Which is motly used in RL I think).
Expected behavior
normal operation.
To Reproduce
Just modify some Verticses and Faces coordinates to floats.
My Platform
Ubuntu 10Buster tested with python 2.7,with
numpy 1.16.6
Ubuntu 10Buster and  python 3.6, with
numpy 1.18.5
Windows 10 python 3.8.3 with
numpy 1.18.4

Hi, this issue tracker is for issues with the codebase behind https://pypi.org itself, not the projects hosted on PyPI.
You should report this issue to the tracker for the project in question instead.


Default provider change

Because of https://github.com/jssjr/git/commit/641380e42f9b4670d47f4081ff24e46126a6ec1c, the default provider is now Source instead of Package. This should be handled more explicitly with a priority map setting. This represents a reversion from 4.2.2 to 4.2.3.

This is fixed up in 4.3.0


Code style fix.

Apply clang-format on C++ files.
Fix #ifndef macros.
Update the version of common-cpp and virtual-people-common.
Do not merge until https://github.com/world-federation-of-advertisers/virtual-people-common/pull/20 is merged and the TODO in WORKSPACE is resolved.

This change is

Are we missing lint checks/coverage if these code style issues weren't flagged before by the CI/CD?

Reviewed 20 of 25 files at r1, 2 of 2 files at r2, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @EvgSkv, @kunyuchen, @lenjoy, @my2457, and @wliue)

WORKSPACE, line 4 at r2 (raw file):

# Common-cpp
http_archive(

For the future, I like the wfa_repo_archive from here
https://github.com/world-federation-of-advertisers/cross-media-measurement/blob/main/build/wfa/repositories.bzl#L23-L47
Maybe we can move that into a common repo at some point and use it across the wfa repos? Might need to be a new repo to not repeat usage but I'd defer to the bazel experts here for best practices.

Thanks! I prefer this to be moved into "common-cpp" repo before being used in other repos.


Update Github site to include link to calendar for TDC meetings

Update Readme to include link to google calendar of meetings

Update readme to include the gcal link.

@tedepstein  Apparently I can't add you as an assignee at the moment.  Consider yourself assigned :-)

Consider yourself assigned :-)

OK, will do.
@webron , can you give me the access level I need so I can have issues assigned to me?)


Support dogstatd with tags

Will Fabio eventually support (or does it already?) tagging statsd metrics? This is key when using Datadog.

It may but I don't know. Someone else implemented the statsd support. Can you give an example ?

In it's simplest form:
https://help.datadoghq.com/hc/en-us/articles/206441345-Send-metrics-and-events-using-dogstatsd-and-the-shell
I also found a dogstatsd client written in Go.
https://github.com/ooyala/go-dogstatsd
Instead of having a bunch of metrics named explicitly per consul agent, we would have them sending with the same metric name and use tags to identify host, etc.

On Sep 27, 2016, at 2:09 AM, Frank Schröder<EMAIL_ADDRESS>wrote:
It may but I don't know. Someone else implemented the statsd support. Can you give an example ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Is that compatible with the standard statsd client?

I found one written by Datadog themselves.
https://github.com/DataDog/datadog-go/tree/master/statsd https://github.com/DataDog/datadog-go/tree/master/statsd
I’m pretty certain this supports traditional statsd as well as extended tagging support for Dogstatsd users. I will confirm with Datadog.

On Sep 27, 2016, at 9:59 AM, Frank Schröder<EMAIL_ADDRESS>wrote:
Is that compatible with the standard statsd client?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/eBay/fabio/issues/165#issuecomment-249872953, or mute the thread https://github.com/notifications/unsubscribe-auth/AJwnNugPhlT2nJdw0q8uj9QpI2fxYcVuks5quSEngaJpZM4KHLK5.

To my chagrin, it doesn't support standard statsd. The datagram format is different.
http://docs.datadoghq.com/guides/dogstatsd/#datagram-format
I'm discussing some plausible solutions with a couple other engineers.

If they are substantially different then we can just add it as another metric provider. If they were compatible then it could have made sense to just keep one of the two. You want to try a PR or want me to work on this?

The reporter you might be looking for?
https://github.com/markchadwick/go-datadog
I'm a hack of a Go dev :) Perhaps if you have the cycles you can try? Thanks again for all the hard work on this project. Looking forward to pushing some serious traffic at a tier of Fabio LBs!

ok, but then you'll have to wait a couple of days since I'm reworking the the parser for the configuration to support the path stripping that people seem to really want - besides other things.

That sounds fantastic. Thanks!

Hey folks, is there any news on this functionality?

Not yet. Just back from vacation and digging through the backlog.

Any love for this? :D

I should have some time this week. I'll wrap up the other change I'm working on and then have a look. You're up for testing?
Frank Schröder

On 8 Jan 2017, at 16:20, Christian Winther<EMAIL_ADDRESS>wrote:
Any love for this? :D
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@magiconair Yep, I can test! :)

Same here
Sent from my iPhone

On Jan 8, 2017, at 1:44 PM, Christian Winther<EMAIL_ADDRESS>wrote:
@magiconair Yep, I can test! :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Looks like there is an open issue on the go-metrics library to add tags support: https://github.com/rcrowley/go-metrics/issues/135 but that isn't going anywhere.
We need to define an option to define the tags per route. What about mtags=foo=1;bar or metricsTags=foo=1;bar?
Since the go-metrics lib does not support tags natively at this point the best approach is to encode the tags in the key name (e.g. key#tag1;tag2) and then parse them out again before reporting the tags. That would require forking the statsd driver so that it understands the key format.

Right now I am assuming that the tags are static per route. Is that a valid assumption?

I've written up a small statsd proxy that can convert fabio statsd path into tagged metrics; https://github.com/bownty/statsd-rewrite-proxy :)

@magiconair for me the tags would be per route, ala https://github.com/bownty/statsd-rewrite-proxy/blob/master/rules.go#L5-L7

tagged metrics is a bit tricky, since they also require the actual statsd path name to change, for it to make sense within UIs like datadog

@jippi This is #207.
Can you explain your first statement a bit more? I'm not sure I get it. I thought I just add the #tag1;tag2 to the statsd format and that's it.

@jippi Created https://github.com/pubnub/go-metrics-statsd/pull/1 to fix #207

@jippi and @killcity I've pushed a proof-of-concept into the branch which hopefully does what you want. You need to add mtags=tag1;tag2 to your urlprefix-/foo definitions so that they look like urlprefix-/foo mtags=tag1;tag2.
This is not the final code since I've hacked this into the pubnub/statsd implementation. I'd just like to check that I got the format right and that it does what it should do. Could you have a look please?

@magiconair for tagged metrics to be useful inside datadog UI, the path need to be "tag" less.
e.g. fabio.http.status.{code} make sense to emit as fabio.http.response_code
then in the UI you can select fabio.http.response_code in the UI and group by the {code} (as its emitted as a named tag code:200 example, and use these tags as facets.
So for me, tagged metrics is about a new path structure where the "value" from the normal statsd path is moved into named tags code:200 or service:example-service - that structure works really really well inside datadog - datadog docs; http://docs.datadoghq.com/guides/metrics/#tags

Got it. Thx
Frank Schröder

On 10 Jan 2017, at 08:27, Christian Winther<EMAIL_ADDRESS>wrote:
@magiconair for tagged metrics to be useful inside datadog UI, the path need to be "tag" less.
e.g. fabio.http.status.{code} make sense to emit as fabio.http.response_code
then in the UI you can select fabio.http.response_code in the UI and group by the {code} (as its emitted as a named tag code:200 example, and use these tags as facets.
So for me, tagged metrics is about a new path structure where the "value" from the normal statsd path is moved into named tags code:200 or service:example-service - that structure works really really well inside datadog - datadog docs; http://docs.datadoghq.com/guides/metrics/#tags
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I think we would want to auto publish the following tags:
code:
urlprefix:```

@killcity so you're also in favor of pushing the status code as a tag instead of the metric name just like @jippi suggested?
The main reason the change takes a bit longer is that the go-metrics library doesn't natively support tags which means that depending on the metrics backend fabio needs to report different metric names and put values into different places (e.g. service name, urlprefix, status code, ...)
I'm mulling over adding a full metrics abstraction layer which handles this or add a handful if dogstatdMetrics statements. Not so clean but much less work. I can do the nice refactor later.

Sorry for the long delay. Yes, I am also in favor of pushing the status code as a separate tag. Thanks for working on this one.

Since 1.4 is out and the TCP proxy stuff is released I think I'll pick this one up again next together with the other metrics related issues #211, #253, #126

Please see https://github.com/fabiolb/fabio/issues/211#issuecomment-375880738


Topic recognition (s4696615):  Denoising Diffusion Probabilistic Model on ADNI

Summary
This PR introduces the implementation of a Denoising Diffusion Probabilistic Model (DDPM) in PyTorch, customised for the ADNI (Alzheimer's Disease Neuroimaging Initiative) dataset. The DDPM architecture is built using a UNet architecture with sinusoidal embeddings for time-steps, group normalization, residual blocks, and attention mechanisms. Additionally, it includes a training pipeline, model checkpointing, EMA (Exponential Moving Average) updates, and image generation.
Key Components:

Sinusoidal Embeddings:

Used to encode time steps into meaningful representations for diffusion.

U-Net Architecture:

A series of downsampling and upsampling layers using convolutional and transposed convolutional blocks, with optional attention at certain layers. Residual connections are maintained to capture fine-grained details.

Residual and Attention Blocks:

Residual blocks with Group Normalization and ReLU activations.
Scaled Dot-Product Attention layers implemented in the U-Net’s encoder.

DDPM Scheduler:

A time-step scheduler using beta and alpha coefficients for the forward and reverse diffusion process.

Training Loop:

The model is trained on the ADNI dataset using a Mean Squared Error (MSE) loss between the predicted noise and the actual Gaussian noise.
Training includes EMA updates to improve model stability and convergence.

Image Generation:

Generates images from Gaussian noise through a reverse diffusion process.

Data
The ADNI dataset is used for training, with preprocessing steps including resizing to 64x64, normalization, and random horizontal flips.
Additional Features:

EMA (Exponential Moving Average) for model parameters to stabilise training.
Checkpoints to save model weights, optimizer state, and EMA parameters for resuming training or sampling.

Luke G.M. Oakden
46966159

This is an initial inspection, no action is required at this point
Stable Diffusion ADNI brain data ---- Hard Difficulty

Category

Marks
Comments

Algorithm solves the problem
5
4
Uses UNET and timesteps, but works on pixel space. Unconditional, but this is fine.

Implementation functions as intended
3
2
No VAE present

Good design
1
1
Modular, Reusable

Commenting
1
1
Meaningful docstrings and comments

Algorithm above Normal Difficulty
5
5

Algorithm is Hard difficulty
5
5
Hard Difficulty.

Section IV : Max mark 20 from 20

17

TSNE / UMAP:
No AD CN Separation. This is to be expected as it no conditioning on labels. This would explain the apparent 'mixed' nature if the embeddings, more than complexity of  AD CN relationship.

Discussion: Good, though some conclusions can be improved.

Suggestions:
SD works more effectively in latent space with a VAE used to convert to image space.

Some additional feedback:

Provide a brief architecture summary of the UNet, especially its layer details or configuration.
You should provide details on why you chose certain hyperparameter values.
The images at the very end of the readme are not very clear.
The t-SNE plot highlights class overlap but could be improved by specifying whether any image or feature-based embeddings were used.
Double-check notations you have used.

Overall, nice work!

Marking

Good/OK/Fair Practice (Design/Commenting, TF/Torch Usage)
Adequate design and implementation. Low image quality.-1
Spacing and comments.
No Header blocks. -1
Recognition Problem
OK solution to problem. Works on pixel space, no VAE.-2
Driver Script present.
File structure present.
Good Usage & Demo & Visualisation & Data usage.
Module present.
Commenting present.
No Data leakage found.
Difficulty : Hard. Stable Diffusion (Hard Difficulty)
Commit Log
Some/Adequate Meaningful commit messages. -1
Some/Adequate Progressive commits. -1
Documentation
Readme :Good.
Model/technical explanation :Acceptable. -1
Description and Comments :Good. You should have the reference as a separate section (missing title)
Markdown used and PDF submitted. PDF submitted.
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch). On time submission.
No Feedback required.
Request Description is good.
TOTAL-7

Marked as per the due date and changes after which aren't necessarily allowed to contribute to grade for fairness.
Subject to approval from Shakes

Can't merge because of the conflict with README file. Fix for merge, doesnt affect grade.


[support only 1.21+] use policy/v1 for PodDisruptionBudget

Signed-off-by: hang.jiang<EMAIL_ADDRESS>closes/fixes #xyz

[x] I've made sure the CHANGELOG.md will remain up-to-date after this PR is merged.

Update PodDisruptionBudgets to policy/v1 API

I need to update the k8s version of the e2e env.


Refactor source code and split it up into multiple files?

Problem

An issue I found while contributing to the Sphinx extension, coupled with the lack of a CONTRIBUTING.md document (which is another, unrelated issue) is that it was a bit difficult to navigate what was going on for someone whose Sphinx skills have been a bit rusty since quite some time. I would like to put in a request to refactor the codebase and move things around, and here are my suggestions:
Proposed Solution

A complete refactor might take a lot of time and hinder development efforts, but at least moving the IFrame classes to a non-namespace sub-module jupyterlite_sphinx/iframes/ and then similarly moving the directives to jupyterlite_sphinx/directives/ can work
Another level of hierarchy exists with the Directive classes, where all of them are subclasses that derive from _LiteDirective, which itself derives from the standard SphinxDirective. These would be likely candidates to split up into multiple files, and it should be easy to fix up their imports back into jupyterlite_sphinx.py (it might make sense to rename the file because of the folder structure, i.e., jupyterlite_sphinx.main sounds a bit better than jupyterlite_sphinx.jupyterlite_sphinx)
Besides that, I'm not sure if anything else can be extracted out of a refactoring process (the jupyterlite_sphinx.js and jupyterlite_sphinx.css files are standalone in their usage and exist only for copying into the _static folder for a documentation website.

Additional context

Though it is a bit outdated and unmaintained at the time of writing, another project: https://github.com/sphinx-contrib/cookiecutter has a nice structure to offer. However, it may or may not be needed here for now because the packaging is modern with hatch anyway and a test suite does not exist (and that may not be required anytime soon?).
cc: @steppi

cc: @steppi

Thanks @agriyakhetarpal, but I don't really have an opinion on this one way or the other, beyond that I agree it would be good to add a CONTRIBUTING.md. I had no experience working on sphinx extensions prior to this and just fit the try_examples directive into the existing project structure. If you want to work on this, I think this should be decided by the other maintainers.

Hey! No strong feeling about whether or not to split the package in multiple files. It could be good indeed if we continue adding features to it.

Sure! My suggestion here is quite trivial, really, so I'll be happy to start my work on this once some of the recent PRs can get merged, and maybe after we come out with a release with those, to not cause any trouble(s) before a release.

Sure! My suggestion here is quite trivial, really, so I'll be happy to start my work on this once some of the recent PRs can get merged – and maybe after we come out with a release with those, to not cause any trouble(s) before a release.

Sounds great!


use os.tmpdir() polyfill for more consistent behaviour

The os.tmpdir() method has changed a lot between Node versions and it would be nice for users if it were consistent between Node versions. This might even prevent hard to track down bugs.
Node 0.10.38: https://github.com/joyent/node/blob/0b5731a63cc40c4fe9275c79158fe0a5dd4d1609/lib/os.js#L44-L49
io.js 2.0.2: https://github.com/nodejs/io.js/blob/c7fb91dc1310f9454d4aa8091bcc6d305322a72f/lib/os.js#L25-L43
From io.js changelog:

os.tmpdir() is now cross-platform consistent and will no longer returns a path with a trailling slash on any platform

Updated os.tmpdir on Windows to use the %SystemRoot% or %WINDIR% environment variables instead of the hard-coded value of c:\windows when determining the temporary directory location.

https://github.com/sindresorhus/os-tmpdir

Thanks for this, and I apologize for the delay in reviewing it. Cheers.

No worries. Thanks :) :beers:


Cannot refer to Blocks in assertions around block presence

helper.assertBlock[Not]Present() and helper.succeedWhenBlockPresent() take a block argument, but won't accept any of the predefined static constants in net.minecraft.world.level.block.Blocks.
const Blocks = Java.type('net.minecraft.world.level.block.Blocks');

registry.register("test3", (helper) => {
    console.log(Blocks);
    console.log(Blocks.GLASS);

    // The test structure is a simple button connected via Redstone to a piston that pushes a glass block.
    helper.pressButton(3, 2, 1);
    helper.assertBlockPresent(Blocks.GLASS, 1, 2, 0); // Note: Using an assert here because the succeedWhenBlockPresent() crashes the whole server.
});

[11:13:57 INFO]: class net.minecraft.world.level.block.Blocks
[11:13:57 INFO]: undefined
[11:13:57 ERROR]: test.test3 failed! Cannot invoke "net.minecraft.world.level.block.Block.g()" because "block" is null

Other static Java constants can be looked up this way:
const JavaLocale = Java.type('java.util.Locale');

registry.register("test3", (helper) => {
    console.log(JavaLocale.GERMAN);
});

[11:13:57 INFO]: de

workaround
If I add a binding for Blocks.GLASS to MiniTestFramework#createContext(), it works as expected:
import net.minecraft.world.level.block.Blocks;

public final class MiniTestFramework extends JavaPlugin {
    // [...]
    private Context createContext() {
        final Context context = Context.newBuilder("js")
        // [...]
        bindings.putMember("glass", Blocks.GLASS); // New binding for glass
        return context;
    }
}

registry.register("test3", (helper) => {
    console.log(glass);
    helper.assertBlockPresent(glass, 1, 2, 0);
});

[11:13:57 INFO]: Block{minecraft:glass}
[11:13:57 ERROR]: test.test3 failed! Expected Glass, got Air at 348,70,80 (relative: 1,2,0) (t=0)

Just adding a registration for Blocks (which should be equivalent to the Java#type() lookup from above) doesn't work:
// bindings.putMember("Blocks", Blocks.class);

Asserting that a particular block is present in the world is crucial test functionality. Having to modify the test framework code (especially in a not very maintainable way by enumerating all block types) should not be necessary.

Oh, and this is not just for Blocks, but also for the Rotation that needs to be passed to some of the MiniTestFramework#register() overloads.
bindings.putMember("Rotation", Rotation.class);

registry.register("defaultBatch", "test3", Rotation.NONE, 100, 0, false, 1, 2, (helper) => { ... }

causes an exception:
[16:08:03 ERROR]: 'test runthis' threw an exception
java.lang.NullPointerException: Cannot invoke "net.minecraft.world.level.block.EnumBlockRotation.a(net.minecraft.world.level.block.EnumBlockRotation)"
because the return value of "net.minecraft.gametest.framework.GameTestHarnessTestFunction.g()" is null
        at net.minecraft.gametest.framework.GameTestInfo.<init>(GameTestInfo.java:56) ~[app:?]

As with the glass block, the enum value(s) need to be registered in the bindings:
bindings.putMember("NoRotation", Rotation.NONE);

registry.register("defaultBatch", "test3", NoRotation, 100, 0, false, 1, 2, (helper) => { ... }

making this work is kinda meh because you are not running a mojmapped server, I dont think thats in scope right now, ill create an issue

Ah, so I'm supposed to run gradlew runMojangMappedServer instead of the documented gradlew runServer?!
The server where I'm actually interested in running this also has the problem, so unless turning on Mojang-mapping is possible without negative effects (I'd have to consult with the team for this), I'm still interested in getting #4 addressed.

mojang mapped means that the server isn't obfuscated, which might mean that some plugins refuse to work because they expect obfuscated packages.
the paper team will introduce ways to load these plugins on a mojmappd server in the future


Categorization according to programming language.

I believe projects should be categorized based on their programming languages, as this approach makes them more accessible.

Well, one of my future goals is to make projects language-agnostic (excluding projects related to systems programming and similar niche fields). Because what we're aiming here is to teach programming "concepts" rather than languages. But we could change the way we categorize projects, for example concept based (frontend, backend etc). I wonder how would that be?

Since a part of the projects is intended for beginners, categorizing them as frontend and backend might be complex for beginners, in my opinion. And I don't want them to label themselves as frontend or backend developers, especially in the early stages. Yes, we are trying to teach the concepts, but after all, it will be more user-friendly for them to find languages and libraries they are familiar with under a single category. Moreover, the concepts are already present in our Readme file

You could also think concepts as web, mobile, embedded etc. That wouldn't be complex even for beginners. Now there are two problems with language based categorization I can think of:

How are we going to handle duplication, it would be hard to maintain if we crate a seperate page for each programming language. And if we put it on the same page, that's 2-3 copies of the same project on the same page.
It wouldn't be possible to see all projects in one page as some projects exists in one language but not in others. Furthermore there are projects that doesn't even related to any programming language such as "Kod Uçar Commit Kalır".

Perhaps we can categorize that section as 'Extras.' I'm not referring to the part in the README file where the names and difficulty levels of the projects are listed. We could organize that section ( projects/tr )  based on the programming language used (coding languages). However, it's not a major concern since the README file already indicates which language each project can be written in and provides direct links. Therefore, accessibility is already facilitated in this manner.

Oh, I see. Yeah that's definitely possible, I didn't think people would browse the directories as everything is listed on Readme, but that definitely could be a case. It was hard to navigate the /projects/tr directory as there were lots of files with almost exactly the same way anyways.
I'll be updating the repo's directory structure according to languages this week, but would be glad if you could find time to do it.

of course I can, thanks for your consideration

merged, thanks for the contribution!


Wrong url in helm upgrade docs

This is how we could improve the documentation:
The URL for running helm upgrade is wrong, the url has testing instead of stable.
helm upgrade airy https://airy-core-helm-charts.s3.amazonaws.com/testing/airy-${VERSION}.tgz --values ./airy.yaml

Fixed with #2547.


predict-proba return empty results

I ran the predict-proba over 60k test samples, and get a probability tuple inside a list for most of the samples, however, a small fraction of the samples return an empty list, did anyone have the same issue?
I ran the fastText binary version it runs normally and return probability for all samples

Hi @jinzhang-zj,
Sorry, I can't reproduce your issue. I have compare the output from fasttext(1) and classifier.predict_proba  and the result is the same. (Tested here and here)
Please make sure that you are running the same version of fasttext binary. fastText v0.7.6 is using fastText 602355a.

Thanks for replying so promptly.
It looks my problem can be resolved if I keep the first comma right after the "__label__x", not sure it's the correct way of doing this but now it gives the same results as the binary version.


always build all images on master

we probably want to build all images always on master, even if no files related directly to a particular $PLATFORM have been modified

Checklist

[X] I've run make from the root directory to see all Dockerfiles are created successfully.
[X] I've updated the documentation if necessary.

Description
add a branch check to our git diff logic

I personally like this change to ensure our images are always installed the latest security patches from upstream. I just don't want to be the sole reviewer here because this decision has a fairy large impact on our build times.

@ryanwohara this isn't actually a change, this is already what we currently do. i want to merge this PR into our staging branch so that when we merge staging into master, which includes the changes to do git diff checks in order to decide whether to build an image or not, we still build images on master no matter what. so this actually wont' impact build times at all.


Enable quick-start-app-e2e

What does this PR do?

Fixes  https://github.com/Lightning-AI/lightning/issues/14030
Added a new job for the quick-start as it requires more memory than the default e2e tests to install torch. Also it takes longer time to run the quick-start test so it has longer timeout.
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃
cc @borda

@manskx @tchaton or @ethanwharris, mind checking the collision?

@manskx @tchaton or @ethanwharris, mind checking the collision?

everything is green now, seems it needs more reviews.


Add pre-commit hook to summarize subprojects

Changes:

Adds PROJECTS.md containing a markdown table of existing HoloHub
projects and high-level metadata details such as supported platform
and tested Holoscan versions;
Adds pre-commit hook to automatically run the HoloHub summary utility
and commit any updates to PROJECTS.md with each commit.
References PROJECTS.md and GitHub Pages in README

@tbirdso do you want to close this MR?

Ok to keep open, but maybe we should change the title of the MR of we plan follow up.


Change versioning in package-lock

0.1.1 -> 0.2.0

I thought this file can be excluded from check-in?


Add pkgutil to azure-cli uninstall stanza.

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Merged as 74003c3cc30d4a94931fb1b70663533b49628ecb.


📝 Punctualize, stylize CLI Guide

What problem does your feature solve?
Re @ElliotFriend in #991, there are a number of pages which are materially-difficult to edit. One such page has an obvious typo whereby there is no period at the end of a sentence, which might be caused by a lack of a functional ✏ Edit this page button. 🤔 Might we make it easier to rectify this and future typos for further contributions, and maybe even entice creative permissionless innovation?[^idea] At a minimum, the diction across the Guides might benefit from consistent "proper" syntax.
[^idea]: Innovation in the sense that anyone could easily ready, ideate, and upgrade the docs. 💡
What would you like to see?
I can think of two solutions to this challenge. 💭

Preferred Simplicity: 🌌 Change the edit links to reference the actual base page via yarn build settings.

Technical Explainer: 👩🏭 Add README explainers to the direct pages to edit in GitHub for all instances[^ident] where this happens.[^dir]

[^dir]: One option could be to duplicate instructions for each placement in the parent directory of the rendered source host. 📂
[^ident]: This issue presumes we can identify all the places in the code where this phenomenon happens. As I understand it, Tyler originally migrated this guide, but others likely have a wholistic concept on the infrastructure side. 👨👩👧👦
What alternatives are there?
We could leave it as challenging as it is to edit a relatively large amount of the Stellar docs. While this could be an easier approach, I think we can look at the state of XRPL's documentation to see just how well the closed-source approach works. Might we make crowdsourced documentation a staple of the network? 🤝

Hi, @JFWooten4! Thanks for your continued attention and effort toward making our documentation as accessible as possible, for both readers and contributors! The particular example you bring up, is another instance of our content being "generated at build-time," although through a different means than it is for the OpenAPI docs in #991.
You bring up a really good point, though. The places where we are doing this kind of "trickery" isn't well-documented, and isn't obvious to the contributor how someone might go about just fixing a stinkin' period 🤣.
I think we can accomodate a bit of both approaches 1 and 2, as you outlined above:

There is custom_edit_url field available in the frontmatter for docs pages, so we can indeed specify what the URL should be for those pages. I almost forgot, but there's an existing issue to address this in the stellar-cli repo: stellar/stellar-cli#1608 (there's also the potential of doing this programmatically, akin to how pnpm.io's docs site does for its localized pages. this is achievable, but maybe more of a long-term approach, since it may indeed be complex to encompass the various "edit this page" cases we have.)
I think the start you've made to a CONTRIBUTING.md file is a great effort! We could include in that file a section on "hard to edit" or "not obvious sources" or something like that to document as much of this kind of stuff as we can.


LTFF/LME viewing issue

Viewing the LTFF/LME Emissions is incorrect reported in RT#72826. This configurations has a common pipe and two units.  The common pipe should  show 1 record of LTFF.  Unit U00020 should show 11 records of LME.  Unit00021 has no LME record.  When toggling between these three configuration the view shows inconsistent template.Private Zenhub Image
Private Zenhub Image
Private Zenhub Image
Private Zenhub Image
Private Zenhub Image

PR: https://github.com/US-EPA-CAMD/easey-ecmps-ui/pull/1397

I verified that this issue is fixed.  Ready for deployment


Look for peer nodes at 'dnsseed.argentumcoin.cc' DNS Seeder

Pull request still open ..

Outdated