Support arrays as control types

Problem
Closes #201
Solution
This fixes a couple of issues, of both logic and omissions in code which prevented this feature from existing. It makes use of the existing dropdown class.
Checklist

[ ] Ran ./bin/test.sh locally before merging

Also it looks like this doesn't support non-strings used as array values. It would be great if you could update this to also support Enums as values, and ideally generalizing it enough that any datatype can be used as a value

Also it looks like this doesn't support non-strings array values.

That's a great idea, and it only took some minor changes to implement. Thank you for taking the time to provide an example story! This made it much easier to jump right in and implement this addition.

Also it looks like this doesn't support non-strings array values.

That's a great idea, and it only took some minor changes to implement. Thank you for taking the time to provide an example story! This made it much easier to jump right in and implement this addition.

This is great, thanks a ton for getting that supported. Could you also include the example story in this PR? This will make it easier to catch regressions later


Simulations in python

I looked through several ROBOTIS repos and most seem to be in C++. I am currently working on a project, involving ROS, Gazebo and Turtlebot3, where my code is all in Python. I was wondering whether there have been any plans to have the code from this repo translated to Python? Right now I am writing my own gazebo_ros_turtlebot3 and turtlebot3_fake, translating your .cpp files to .py files. I think for beginners who want to pick up robotics, Python would definitely be a more friendly environment to work in.

Hi, @PandaJules  :)
Yes, I couldn't agree with you more. So our team is ready to Python code. It will be released next year.
Thank you for your opinion.
Thanks
Darby


Explore AMP - for performance

What
https://github.com/ampproject
We should look at the amp project to see if we can learn + utilise the best practices recommended by AMP
HTML

Add a canonical link
Maybe a structured data

JS

also https://github.com/GoogleChrome/lighthouse - more actionable/impactful steps without needing to setup/dev/serve completely different pages.
I'm still on the fence for AMP vs just making the actual site faster

Yep - good point. I think we should look at this to decide what we can apply to our site.
Using amp itself is too imposing as part of the boilerplate imo

What we can learn from AMP (I'm actually at a conference now lol):

Efficient font loading ** We should look into this - maybe split out as a separate card to get us into position for next
Inline CSS

Inline important styles (above the fold), defer the rest

Static layout
Content prioritization
DOM mutation batching (

DOM reads trigger style recalc
Goal: 1 paint per frame

Pre-connect, pre-fecth, pre-render

browser prefetching
Leverage Page Visibility API

Lighthouse is very good for checking speed and improving it. And I found that my blog got only 38 score...

Hey Guys. I've been pretty quiet, but lurking. My new job is all in on web components, so I haven't been keeping up with React. If you haven't checked out Polymer it is just about ready for prime time with 2.0.
But I digress..  This issue caught my eye because i was at  the chrome dev summit and saw this talk if you are on the fence about AMP, I think this is compelling enough to change your mind.

thanks @caranicas! giving it a watch. I've been having a play with polymer as well, mainly digging through the Polymer Shop app. If you have any good resources/examples let me know :)
wow there are so many Pauls doing Google Frontend stuff

I built this generator to scaffold out all the different flavors of templates. as for docs google dev primers and webcomponents, are probably the best place to get started for general info. Rob Doddson on medium and polycasts on youtube. but you need to take the early ones with a grain of salt because things have changed. This component search tool is showcase for the growing component options and libraries.
We are working on app generator that meets some of our specific company needs and quite a few components, some of which should transitioning to open source soon.

Awesome posting related with PWA

@choonkending @psimyn I got 94 score from lighthouse after adding service worker and manifest.json. (It was 38 point before adding them) I'll share my code as PR next month!


Moonbeam not applying effects

Active Auras 0.3.03
Times Up 0.8.6
Deleted all my AA macros and reimported from the compendium. Removed Moonbeam from the Actor and then re-added from the compendium. Nothing happens, no effects applied to the creatures in the aura template.
Other Active Auras are working fine

Should be fixed in 0.3.05


TBB not found when installed with pip

Numba do not find TBB on my system while it has been installed via pip as mentioned in the documentation, and lead to the following warning

NumbaWarning: The TBB threading layer requires TBB version 2021 update 6 or later i.e., TBB_INTERFACE_VERSION >= 12060. Found TBB_INTERFACE_VERSION = 12050. The TBB threading layer is disabled.

also confirmed by running numba -s|grep True:
CUDA Device Initialized                       : True
llvmlite Using SVML Patched LLVM              : True
OpenMP Threading Layer Available              : True
Workqueue Threading Layer Available           : True

However, running: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/:/usr/lib/:/usr/lib64/:/home/username/.local/lib fixes the problem:
CUDA Device Initialized                       : True
llvmlite Using SVML Patched LLVM              : True
TBB Threading Layer Available                 : True
OpenMP Threading Layer Available              : True
Workqueue Threading Layer Available           : True

I guess there is an issue in the default path numba is looking for tbb, maybe because there is another tbb version installed somewhere in my system?
Details:

Ubuntu (20.04)
numba (0.60.0)
tbb: 2021.13.1

Reporting a bug

[x] I have tried using the latest released version of Numba (most recent is
visible in the release notes
(https://numba.readthedocs.io/en/stable/release-notes-overview.html).
[ ] I have included a self contained code sample to reproduce the problem.
i.e. it's possible to run as 'python bug.py'.

Thanks for the report. I think this is a known issue (or is related to), #6018. It has a long investigation, a summary of which is towards the end of the comments: https://github.com/numba/numba/issues/6108#issuecomment-675365997.
Numba's TBB based threading layer is linked against libtbb.so.2, how this linkage is resolved is based on the system linker's configuration etc. If a TBB version is present on the system and in a library search location that is searched ahead of the location of the desired TBB library, it will be found first and I think this is why you are seeing the problem described and also why setting the LD_LIBRARY_PATH fixes it.
Hope this helps?

Oh Indeed, I did not see this. I'll update the system one via apt or set the LD_LIBRARY_PATH at the beginning of my scripts then.
Thanks!

No problem @cgadal, am glad you have found something that works!


Can't change into hinese

Environment
Windows build number: [run `[Environment]::OSVersion` for powershell, or `ver` for cmd]
Windows Terminal version (if applicable):

Any other software?

Steps to reproduce

Expected behavior

Actual behavior

不能切换中文输入法

From a really rough internet translation of this issue, I'm going to guess that this is #2213. Feel free to correct me if I'm wrong.
/dupe #2213


Improve packaging and installation

This PR includes mechanisms to start publishing releaeses to PyPI. Once we have a package available on PyPI, we can make it available on conda-forge as well.
This PR also updates some of the documentation related to installation, in anticipation of this.

@clpetix if this all looks good to you, let's merge so that we can move onto tagging a release as discussed yesterday.


[Bug]: puttie install failure because putty.exe can't be shimmed

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
puttie
Expected/Current Behaviour
Got the following output
Updating 'puttie' (20240507-31a335e7 -> 20240523-7604753a)
Downloading new version
Loading PuTTie-file-Release-7604753a.zip from cache.
Checking hash of PuTTie-file-Release-7604753a.zip ... ok.
Uninstalling 'puttie' (20240507-31a335e7)
Removing shim 'pageant.shim'.
Removing shim 'pageant.exe'.
Removing shim 'plink.shim'.
Removing shim 'plink.exe'.
Removing shim 'pscp.shim'.
Removing shim 'pscp.exe'.
Removing shim 'psftp.shim'.
Removing shim 'psftp.exe'.
Removing shim 'psocks.shim'.
Removing shim 'psocks.exe'.
Unlinking ~\scoop\apps\puttie\current
Installing 'puttie' (20240523-7604753a) [64bit] from 'extras' bucket
Loading PuTTie-file-Release-7604753a.zip from cache.
Extracting PuTTie-file-Release-7604753a.zip ... done.
Linking ~\scoop\apps\puttie\current => ~\scoop\apps\puttie\20240523-7604753a
Creating shim for 'pageant'.
Making C:\Users\ךינשגכהד\scoop\shims\pageant.exe a GUI binary.
Creating shim for 'plink'.
Creating shim for 'pscp'.
Creating shim for 'psftp'.
Creating shim for 'psocks'.
Creating shim for 'putty'.
Get-Command : The term 'putty.exe' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of
the name, or if a path was included, verify that the path is correct and
try again.
At C:\Users\ךינשגכהד\scoop\apps\scoop\current\lib\install.ps1:757 char:21
+             $bin = (Get-Command $target).Source
+                     ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (putty.exe:String) [Get-Comm
   and], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShel
   l.Commands.GetCommandCommand

Can't shim 'putty.exe': File doesn't exist.

Steps to Reproduce
scoop update puttie

Possible Solution
Perhaps include putty.exe as part of executable shims within the manifest?
Scoop and Buckets Version
Current Scoop version:
dec42327 (HEAD -> develop, origin/develop) fix(decompress): Match `extract_dir`/`extract_to` and archives (#5983)

'main' bucket:
e494ce96c (HEAD -> master, origin/master, origin/HEAD) yt-dlp: Update to version 2024.05.27

'extras' bucket:
952da45b3 (HEAD -> master, origin/master, origin/HEAD<EMAIL_ADDRESS>Fix hash (Closes #13362)

'versions' bucket:
27355d686 (HEAD -> master, origin/master, origin/HEAD) yt-dlp-nightly: Update to version 2<IP_ADDRESS>744

'nirsoft' bucket:
08dbf0e (HEAD -> master, origin/master, origin/HEAD) 'updated'

'sysinternals' bucket:
e669cc0 (HEAD -> main, origin/main, origin/HEAD) chore(ci): switch to `pull_request_target` trigger

'nerd-fonts' bucket:
a6b9261c (HEAD -> master, origin/master, origin/HEAD) SarasaGothic: Update to version 1.0.13

'nonportable' bucket:
55968d38 (HEAD -> master, origin/master, origin/HEAD) xysubfilter-libass-np: Update to version 20240526

'java' bucket:
dcc2673f (HEAD -> master, origin/master, origin/HEAD) temurin8-nightly-jre: Update to version 8.0.422-2.0.202405231342

'games' bucket:
e4f0a5bb1 (HEAD -> master, origin/master, origin/HEAD) cataclysm-dda-tiles-experimental: Update to version 2024-05-27-2230

'.sm' bucket:
fatal: not a git repository (or any of the parent directories): .git

'404NetworkError_scoop-bucket' bucket:
9a07edd (HEAD -> main, origin/main, origin/HEAD) imagemagick: Update to version 7.1.1-33

'ACooper81_scoop-apps' bucket:
d28b6a324 (HEAD -> master, origin/master, origin/HEAD) ZigDevCLI-Portable: Update to version 0.13.0-dev.274

'aegoroff_scoop-bucket' bucket:
808e624 (HEAD -> main, origin/main, origin/HEAD) release: 5.3.3

'akirco_aki-apps' bucket:
6c3a33e5 (HEAD -> master, origin/master, origin/HEAD) yt-dlp: Update to version 2024.05.27

'anderlli0053_DEV-tools' bucket:
289b70f24a (HEAD -> master, origin/master, origin/HEAD) chromium-dev: Update to version 127.0.6506.0-r1306534

'AntonOks_scoop-aoks' bucket:
533be1b (HEAD -> master, origin/master, origin/HEAD) swagger-codegen-aoks: Update to version 3.0.57

'brian6932_dank-scoop' bucket:
d549a1bd (HEAD -> master, origin/master, origin/HEAD) streamlink-nightly-lean: Update to version 6.7.4-6-g9f5983b

'Capella87_capella-bucket' bucket:
ad82eaa (HEAD -> master, origin/master, origin/HEAD) lrcget: Update to version 0.3.2

'cc713_ownscoop' bucket:
dfb11825 (HEAD -> master, origin/master, origin/HEAD) LunaTranslator: Update to version 2.53.3

'chawyehsu_dorado' bucket:
a0342ba5 (HEAD -> master, origin/master, origin/HEAD) swift-nightly: Update to version 20240527.3

'crisipa_scoopbucket' bucket:
f74d8ce (HEAD -> master, origin/master, origin/HEAD) add scilab

'Deskehs_personalBucket' bucket:
7ba0f32 (HEAD -> master, origin/master, origin/HEAD) 86box-experimental: Update to version b5797

'detain_scoop-emulators' bucket:
b9cfc59ef (HEAD -> master, origin/master, origin/HEAD) ruffle-nightly: Update to version 2024-05-28

'Donaldduck8_malware-analysis-bucket' bucket:
207c5ee (HEAD -> master, origin/master, origin/HEAD) cyberchef: Update to version 10.18.6

'DoveBoy_Apps' bucket:
9ac63b09 (HEAD -> master, origin/master, origin/HEAD) pywxdump: Update to version 3.0.26

'duzyn_scoop-cn' bucket:
a0c8b89e (HEAD -> master, origin/master, origin/HEAD) Updated on 2024-05-28 01:25 +00:00

'FlawlessCasual17_MyScoop' bucket:
ad9348a00 (HEAD -> master, origin/master, origin/HEAD) securefs: Add version 1.0.0

'hermanjustnu_scoop-emulators' bucket:
72370cc2e (HEAD -> master, origin/master, origin/HEAD) simple64: Update to version 2024.05.3

'hoilc_scoop-lemon' bucket:
8257865af (HEAD -> master, origin/master, origin/HEAD) ytdlp: Update to version 2024.05.27

'HUMORCE_nuke' bucket:
57436fd4 (HEAD -> master, origin/master, origin/HEAD) yt-dlp: Update to version 2024.05.27

'icecreamZeng_scoop-bucket' bucket:
96044f9 (HEAD -> master, origin/master, origin/HEAD) imfile: Update to version 1.1.0

'IsaacShoebottom_scoop-bucket' bucket:
c573e5b (HEAD -> master, origin/master, origin/HEAD) vpkedit: Update to version 4.2.1

'Jadeiin_scoop' bucket:
23af197 (HEAD -> master, origin/master, origin/HEAD) qbittorrent-cli: Update
 to version 1.8.24148.1

'joaoricarte_jr-bucket' bucket:
7282fef (HEAD -> main, origin/main, origin/HEAD) Updated apps

'JourneyOver_scoop-buckets' bucket:
2d7374c (HEAD -> main, origin/main, origin/HEAD) warcraft-logs: Update to version 8.5.9

'kazzarin_bucket' bucket:
a203c68 (HEAD -> master, origin/master, origin/HEAD) yt-dlp-nightly: Update to version 2<IP_ADDRESS>744

'kkzzhizhou_scoop-apps' bucket:
fac79e578 (HEAD -> master, origin/master, origin/HEAD) Update Mon May 27 04:46:42 UTC 2024

'lazuee' bucket:
7a6e6f9 (HEAD -> main, origin/main, origin/HEAD) lapce-nightly: Update to version 0.4.1-nightly.6a64a53

'lewis-yeung_scoop-bucket' bucket:
3e31a2f (HEAD -> main, origin/main, origin/HEAD) oh-my-posh: Update to version 20.2.2

'liaoya_scoop-bucket' bucket:
a8d0a3e (HEAD -> master, origin/master, origin/HEAD) Update winlibs and codeblocks

'littleli_Scoop-littleli' bucket:
6ad72e3 (HEAD -> master, origin/master, origin/HEAD) netsurf: Update to version 6742

'lzwme_scoop-proxy-cn' bucket:
6765b037e (HEAD -> main, origin/main, origin/HEAD) Updated at 2024-05-28T01:32:11.308Z

'mapleafgo_scoop-bucket' bucket:
f51c84b (HEAD -> master, origin/master, origin/HEAD) utools: Update to version 5.1.1

'mgziminsky_scoop-bucket' bucket:
231887f (HEAD -> master, origin/master, origin/HEAD) qbittorrent: Update to version 4.6.5

'MMKubicki_ScoopBucket' bucket:
6a7c05d (HEAD -> main, origin/main, origin/HEAD) workerd: Update to version 1.20240524.0

'nicerloop_scoop-nicerloop' bucket:
18c2451 (HEAD -> master, origin/master, origin/HEAD) sourcegit: Update to version 8.14

'noql-net_scoop' bucket:
a66f5cd (HEAD -> master, origin/master, origin/HEAD) sing-box: Update to version 1.9.0

'NyaMisty_scoop_bucket_misty' bucket:
cad2a3fd (HEAD -> master, origin/master, origin/HEAD) wireshark-nightly: Update to version 4.3.0rc0-2573-g91cdcb2737ff

'Pagliacii_pagliacii-bucket' bucket:
43de838 (HEAD -> main, origin/main, origin/HEAD) neovim-nightly: Update to version v0.11.0-dev-110

'petlyh_scoop-bucket' bucket:
983befe (HEAD -> main, origin/main, origin/HEAD) wiiu-downloader: Update to version 2.57

'pinebright_scoop-bucket' bucket:
f01ec25 (HEAD -> master, origin/master, origin/HEAD) tablacus-explorer: Update to version 24.5.11

'qwerty12_scoop-alts' bucket:
505656f (HEAD -> master, origin/master, origin/HEAD) dnspyex-nightly: Update to version 2<IP_ADDRESS>659+cf574ea

'qyurila_scoop-bucket' bucket:
fe4f4f1 (HEAD -> master, origin/master, origin/HEAD) media-downloader: Update to version 4.7.0

'RecursiveMaple_scoop' bucket:
bb37c15 (HEAD -> master, origin/master, origin/HEAD) zotero7: Update to version 7.0.0-beta.81

'Small-Ku_turbo-bucket' bucket:
5fc5613 (HEAD -> main, origin/main, origin/HEAD) packwiz: Update to version
0.0.198+7b4be47.9259662367

'snyk_scoop-snyk' bucket:
e612f8e (HEAD -> master, origin/master, origin/HEAD) Upgraded to latest Snyk version skip-checks: true

'tleepa_scoop-bucket' bucket:
c077fdb (HEAD -> main, origin/main, origin/HEAD) doublecmd-snapshot: Update to version 1.2.0.r11344

'topstone_scoop-bucket-t_misc' bucket:
56b473b (HEAD -> main, origin/main, origin/HEAD) SQLite DLL: Update to version 3.46.0

'topstone_scoop-bucket-t_shogi' bucket:
cf096dc (HEAD -> main, origin/main, origin/HEAD) たけわらべ: Fix JSON data

'verymucho_knick-knacks' bucket:
f4679b9 (HEAD -> master, origin/master, origin/HEAD) git-annex-autobuild: Update to version 10.20240431-g9442937865677f469e792e5c5a471667c46f7703

'WenSimEHRP_OpenTTD-bucket' bucket:
ca6c0bd (HEAD -> master, origin/master, origin/HEAD) openttd-nightly: Update to version 20240527-master-g692943669d

Scoop Config
last_update    : 2024-05-27T23:15:50.4147739-04:00
update_nightly : True
scoop_branch   : develop
scoop_repo     : https://github.com/ScoopInstaller/Scoop
alias          : @{si=scoop-si; sb=scoop-sb}

PowerShell Version
Name                           Value
----                           -----
PSVersion                      7.5.0-preview.3
PSEdition                      Core
GitCommitId                    7.5.0-preview.3
OS                             Microsoft Windows 10.0.26217
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Additional Softwares
No response

Seems to be caused by https://github.com/lalbornoz/PuTTie/issues/25#issuecomment-2122787818.


Add print op to transformation dialect.

the commit revives the old PrintIR transform and with print after all etc.

Rebased and landed in #385


无法连接到服务器

一直以来都没问题，25 号之后突然用不了了。
错误信息：
xia@vultr-tokyo:~$ bypy info
Refreshing, please be patient, it may take upto 60.0 seconds...
Authorizing/refreshing with the OpenShift server ...
<E> [15:18:21] Exception:
<type 'exceptions.ValueError'> - No JSON object could be decoded
Stack:
  File "/usr/local/bin/bypy.py", line 4368, in <module>
    main()
  File "/usr/local/bin/bypy.py", line 4347, in main
    result = getattr(by, args.command[0])(*uargs)
  File "/usr/local/bin/bypy.py", line 2070, in info
    return self.quota()
  File "/usr/local/bin/bypy.py", line 2076, in quota
    return self.__get(pcsurl + 'quota', pars, self.__quota_act)
  File "/usr/local/bin/bypy.py", line 1823, in __get
    return self.__request(url, pars, act, 'GET', actargs, retry, addtoken, dumpex, **kwargs)
  File "/usr/local/bin/bypy.py", line 1801, in __request
    result = self.__request_work(url, pars, act, method, actargs, addtoken, dumpex, **kwnew)
  File "/usr/local/bin/bypy.py", line 1670, in __request_work
    if ENoError == self.__refresh_token(): # refresh the token and re-request
  File "/usr/local/bin/bypy.py", line 2022, in __refresh_token
    result = self.__get(url, pars, self.__refresh_token_act, retry = retry, addtoken = False)
  File "/usr/local/bin/bypy.py", line 1823, in __get
    return self.__request(url, pars, act, 'GET', actargs, retry, addtoken, dumpex, **kwargs)
  File "/usr/local/bin/bypy.py", line 1801, in __request
    result = self.__request_work(url, pars, act, method, actargs, addtoken, dumpex, **kwnew)
  File "/usr/local/bin/bypy.py", line 1652, in __request_work
    perr(formatex(ex))
  File "/usr/local/bin/bypy.py", line 476, in formatex
    type(ex), ex, ''.join(traceback.format_stack()))

<E> [15:18:21] Maximum number (1) of tries failed.
OpenShift server failed, authorizing/refreshing with the Heroku server ...
<E> [15:18:22] Exception:
<type 'exceptions.ValueError'> - No JSON object could be decoded
Stack:
  File "/usr/local/bin/bypy.py", line 4368, in <module>
    main()
  File "/usr/local/bin/bypy.py", line 4347, in main
    result = getattr(by, args.command[0])(*uargs)
  File "/usr/local/bin/bypy.py", line 2070, in info
    return self.quota()
  File "/usr/local/bin/bypy.py", line 2076, in quota
    return self.__get(pcsurl + 'quota', pars, self.__quota_act)
  File "/usr/local/bin/bypy.py", line 1823, in __get
    return self.__request(url, pars, act, 'GET', actargs, retry, addtoken, dumpex, **kwargs)
  File "/usr/local/bin/bypy.py", line 1801, in __request
    result = self.__request_work(url, pars, act, method, actargs, addtoken, dumpex, **kwnew)
  File "/usr/local/bin/bypy.py", line 1670, in __request_work
    if ENoError == self.__refresh_token(): # refresh the token and re-request
  File "/usr/local/bin/bypy.py", line 2022, in __refresh_token
    result = self.__get(url, pars, self.__refresh_token_act, retry = retry, addtoken = False)
  File "/usr/local/bin/bypy.py", line 1823, in __get
    return self.__request(url, pars, act, 'GET', actargs, retry, addtoken, dumpex, **kwargs)
  File "/usr/local/bin/bypy.py", line 1801, in __request
    result = self.__request_work(url, pars, act, method, actargs, addtoken, dumpex, **kwnew)
  File "/usr/local/bin/bypy.py", line 1652, in __request_work
    perr(formatex(ex))
  File "/usr/local/bin/bypy.py", line 476, in formatex
    type(ex), ex, ''.join(traceback.format_stack()))

<E> [15:18:22] Waiting 10 seconds before retrying...
^CSignal 2 received, Abort

感谢反馈。现在还有问题吗？Openshift的服务器偶尔就会无反应，得重新启动下服务程序。

不行，错误依旧

手动删除~.bypy目录重新授权呢？

现在heroku服务器基本稳定了。

谢谢！
在 2017年1月8日，上午3:44，Hou Tianze <notifications<EMAIL_ADDRESS>写道：
现在heroku服务器基本稳定了。
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/houtianze/bypy/issues/253#issuecomment-271138440, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIVPX1AwE48rm_s9tedICZS4XMpi--3zks5rQKHVgaJpZM4IqPkL.


refactor: frontier provider and add api documentation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 85 (3.53%)  changed or added relevant lines in 3 files are covered.
413 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-4.2%) to 69.701%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

plugins/providers/frontier/provider.go
0
13
0.0%

plugins/providers/frontier/client.go
0
69
0.0%

Files with Coverage Reduction
New Missed Lines
%

plugins/providers/frontier/config.go
9
80.0%

plugins/providers/frontier/resource.go
97
0.0%

plugins/providers/frontier/provider.go
148
0.0%

plugins/providers/frontier/client.go
159
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-4.2%

Covered Lines:
8201

Relevant Lines:
11766

💛  - Coveralls


'sqlite3.Connection' object has no attribute 'enable_load_extension'

I saw this error when I tried running the example listed on the docs.
AttributeError: 'sqlite3.Connection' object has no attribute 'enable_load_extension'

After doing some digging, it seems like this might have been a remedy:
LDFLAGS="-L/usr/local/opt/sqlite/lib -L/usr/local/opt/zlib/lib" CPPFLAGS="-I/usr/local/opt/sqlite/include -I/usr/local/opt/zlib/include" PYTHON_CONFIGURE_OPTS="--enable-loadable-sqlite-extensions" pyenv install 3.7.6

However, this also seems to break on my M1 mac mini. Logs here:
Traceback (most recent call last):
  File "/Users/vincent/Development/probabl/sqlaight.py", line 14, in <module>
    db.enable_load_extension(True)
    ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'sqlite3.Connection' object has no attribute 'enable_load_extension'
(venv) ➜  probabl LDFLAGS="-L/usr/local/opt/sqlite/lib -L/usr/local/opt/zlib/lib" CPPFLAGS="-I/usr/local/opt/sqlite/include -I/usr/local/opt/zlib/include" PYTHON_CONFIGURE_OPTS="--enable-loadable-sqlite-extensions" pyenv install 3.10.3

python-build: use<EMAIL_ADDRESS>from homebrew
python-build: use readline from homebrew
Downloading Python-3.10.3.tar.xz...
-> https://www.python.org/ftp/python/3.10.3/Python-3.10.3.tar.xz
Installing Python-3.10.3...
python-build: use readline from homebrew
python-build: use ncurses from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 13.4.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240812122149.78466
Results logged to /var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240812122149.78466.log

Last 10 log lines:
        if test $? -ne 0 ; then \
                echo "generate-posix-vars failed" ; \
                rm -f ./pybuilddir.txt ; \
                exit 1 ; \
        fi
DYLD_LIBRARY_PATH=/var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240812122149.78466/Python-3.10.3 CC='clang' LDSHARED='clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/vincent/.pyenv/versions/3.10.3/lib -Wl,-rpath,/Users/vincent/.pyenv/versions/3.10.3/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/zlib/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/vincent/.pyenv/versions/3.10.3/lib -Wl,-rpath,/Users/vincent/.pyenv/versions/3.10.3/lib -L/usr/local/opt/sqlite/lib -L/usr/local/opt/zlib/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib  ' OPT='-DNDEBUG -g -fwrapv -O3 -Wall'      _TCLTK_INCLUDES='' _TCLTK_LIBS=''       ./python.exe -E ./setup.py  build
running build
running build_ext
error: System version of SQLite does not support loadable extensions
make: *** [sharedmods] Error 1

My sqlite version checks out.
> python -c 'import sqlite3; print(sqlite3.sqlite_version)'
3.42.0

Any hints on how to proceed? It seems that I might need to update my sqlite, even though the version checks out. If you happen to have a Docker container somewhere for this then this might also allow me to move on to the next step.

The Python version you're trying is using the default SQLite build that MacOS ships with, which turns off SQLite extension loading for security reasons. I'd say try the homebrew python version brew install python, which will use the homebrew SQLite library, which supports SQLite extensions.
I haven't tried pyenv before - does it compile + install a new Python version for you? It also looks like the paths you provided in LDFLAGS may not exist (they change between MacOS x86_64 and MacOS M1), you could try these instead:
  export LDFLAGS="-L/opt/homebrew/opt/sqlite/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/sqlite/include"

(I got those from brew info sqlite3)

I have also never tried pyenv before but after trying your suggestion it still does not work to compile it.

Logs can be found here
I also check my brew info and found the same exports.
➜  ~   export LDFLAGS="-L/opt/homebrew/opt/sqlite/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/sqlite/include"

➜  ~ pyenv install 3.7.6
python-build: use<EMAIL_ADDRESS>from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.6.tar.xz...
-> https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz
Installing Python-3.7.6...
python-build: use readline from homebrew
python-build: use ncurses from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 13.4.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240813140851.27180
Results logged to /var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240813140851.27180.log

Last 10 log lines:
checking for --with-cxx-main=<compiler>... no
checking for clang++... no
configure:

  By default, distutils will build C++ extension modules with "clang++".
  If this is not intended, then set CXX on the configure command line.

checking for the platform triplet based on compiler characteristics... darwin
configure: error: internal configure error for the platform triplet, please file a bug report
make: *** No targets specified and no makefile found.  Stop.
➜  ~ rm -rf /var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240813140851.27180
➜  ~ pyenv install 3.7.6
python-build: use<EMAIL_ADDRESS>from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.6.tar.xz...
-> https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz
Installing Python-3.7.6...
python-build: use readline from homebrew
python-build: use ncurses from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 13.4.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240813140926.28285
Results logged to /var/folders/2t/sfwwk1yd3mdf4p2b83_zw4200000gn/T/python-build.20240813140926.28285.log

Last 10 log lines:
checking for --with-cxx-main=<compiler>... no
checking for clang++... no
configure:

  By default, distutils will build C++ extension modules with "clang++".
  If this is not intended, then set CXX on the configure command line.

checking for the platform triplet based on compiler characteristics... darwin
configure: error: internal configure error for the platform triplet, please file a bug report
make: *** No targets specified and no makefile found.  Stop.
➜  ~ brew info sqlite
==> sqlite: stable 3.46.0 (bottled) [keg-only]
Command-line interface for SQLite
https://sqlite.org/index.html
Installed
/opt/homebrew/Cellar/sqlite/3.41.1 (11 files, 4.5MB)
  Poured from bottle using the formulae.brew.sh API on 2023-03-22 at 12:06:38
/opt/homebrew/Cellar/sqlite/3.43.1 (11 files, 4.7MB)
  Poured from bottle using the formulae.brew.sh API on 2023-10-09 at 15:03:25
/opt/homebrew/Cellar/sqlite/3.46.0 (12 files, 4.8MB)
  Poured from bottle using the formulae.brew.sh API on 2024-08-12 at 12:08:41
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/s/sqlite.rb
License: blessing
==> Dependencies
Required: readline ✔
==> Caveats
sqlite is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have sqlite first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"' >> ~/.zshrc

For compilers to find sqlite you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/sqlite/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/sqlite/include"

For pkg-config to find sqlite you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/sqlite/lib/pkgconfig"
==> Analytics
install: 199,573 (30 days), 683,749 (90 days), 2,785,922 (365 days)
install-on-request: 6,108 (30 days), 29,312 (90 days), 183,122 (365 days)
build-error: 11 (30 days)

However, the brew install seems to have worked.
➜  ~ which python3.12
/opt/homebrew/bin/python3.12

➜  ~ python3.12 -c 'import sqlite3; print(sqlite3.sqlite_version)'
3.46.0

Will dive deeper here and will also report back. Thanks!

Ah sweet, yeah this totally works!
That also means that I am comfortable doing a livestream over at probabl next week on this library. I have some ideas for a cool demo, but if there are things you would like me to try out/benchmark I am all ears!

Ah cool! Getting binary embeddings to work is also nice and easy! This isn`t supported by lancedb out of the box but this plugin seems to preform very nicely here.

Now documented here, closing: https://alexgarcia.xyz/sqlite-vec/python#macos-blocks-sqlite-extensions-by-default


[MXNET-984] Add Java NDArray and introduce Java Operator Builder class

Description
This is a PR based on @andrewfayres PR: https://github.com/apache/incubator-mxnet/pull/12757. Please merge the previous one first and then this one.
In this PR, Java NDArray were introduced as well as a brand new Builder Operators. Deprecated operators were removed from Java API Macros. Please see the unit test for more information.
@andrewfayres  @nswamy @yzhliu @gigasquid
Special thanks for @zachgk @piyushghai for guidance and support on Java new API!
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Awesome contribution! Thanks a lot :)
Do you think it's possible to introduce test coverage early on so we can track improvements early on?

Awesome contribution! Thanks a lot :)
Do you think it's possible to introduce test coverage early on so we can track improvements early on?

Hi @marcoabreu, there is unit test covered on Java side to make sure the handmade operators and generated operators are tested. Unfortunately, we cannot have full unit test coverage for generated operators since there are 200+ and already tested on Python end. I would be grateful if you could request more tests if you find some part of the code is not covered.

Sure, I fully understand and agree. I was thinking about targeted coverage measurement for the Java API. The Backend calls would be mocked and we would validate that the passthrough is properly working. The actual logic is still tested under scala.
What do you think?

I like the idea of getting a test coverage measurement working early on the java api. I think that this is something we can add to our plan. Our current testing strategy is that the Java unit tests will be aimed at testing the compatibility of the java/scala interaction and all behavior testing will occur in the Scala side. With that said, the current Scala testing is lacking in some areas and needs be be improved.

IMO it is not always "bad" to expose Scala classes. Scala classes are not necessary a "new language" that requires users to learn. e.g., scala.Tuple, many Java 3rd parties (Guava, Apache Common, javatuples) provide exactly the same thing.
Spark only re-implement a very small set of classes, mostly RDDs, and not every RDD have a Java version.
At least these four classes are already "java-friendly". Duplicating will only increase maintenance efforts.
It makes sense to me to have Java version of NDArray, (and maybe also Module, etc), because they have too many functions that are not java-friendly. But not every class is in such situation.

Also I can easily find a java example using Scala object: https://github.com/apache/spark/blob/master/examples/src/main/java/org/apache/spark/examples/JavaSparkPi.java#L34-L37
And in their document, they at least recommend java users to use scala.Tuple2: https://spark.apache.org/docs/0.9.1/java-programming-guide.html
And here https://spark.apache.org/examples.html , if you click tab "Java", there's a bunch of usage of Spark-Scala objects: LogisticRegression, Vector, etc.

I'm not taking a position that Scala objects should never be exposed to Java users. I have no objections to doing so when it's appropriate. My objection is about exposing half a package to them because it is already Java friendly and requiring them to know which parts they are expected to cherry pick from.
I think everything you linked to is from outside the core module which I was talking about. The reason I was making that distinction is that it seems to be where they have separate java and scala APIs. At a cursory glance, it looks like the entire mllib module is Java friendly and doesn't have a separate API (like it had been originally designed to be that way). If we'd planned on Java support from the very beginning this is probably how we'd of done things.
I have no objections to the idea that we could have them use scala.Tuple2. It's useful, straight forward, is a concept everyone knows, and has no analog in Java SE.
I agree that DataDesc is Java-friendly (or at least good enough) but there are plenty of other classes (even in the same IO file as DataDesc) that aren't. I think it's an unreasonable ask to expect the Java Developer to know that they're expected to only select certain things from that package but other things are off limits.
I'm not particularly concerned about the maintenance costs because they're just  wrappers. The only time I foresee us doing maintenance is if we make a breaking change to the corresponding method of the Scala API which should be very rare (and when it happens there's already so much to update that an extra wrapper should make little difference).

Then I do not agree the opinion of, even though DataDesc is java-friendly, we still duplicate it because there're other things duplicated.
User types DataDesc and there's only one choice exists - I feel it is way better than two things under different namespaces pop-up, have same API, behave the same, but not compatible to each other.
I think you agree that, if one class is already designed to be java-friendly, then we can just expose it - this is how you took spark-mllib as an example. But why tangle about the namespace.
The main objective of providing "Java API", is not to have a java namespace - as a user, why do I care about which namespace I'm using? As a remedy of not making APIs java-friendly at the very beginning, Spark invents JavaRDD, we are just facing the same problem here.
Also be careful saying maintenance is easy. Count how many lines you wrote for only 4 tiny, simple classes. And when API changes, increases, removes, we'll suffer from maintaining two things - And remember IO/Optimizer/etc are very likely to be extended.

In offline discussions we've agreed that we'll collectively craft an email with both positions, send it out for feedback, and go with the consensus that emerges.
In the meantime, development of the Java api will proceed on a new branch.

Here is the alternative one, closing this now! https://github.com/apache/incubator-mxnet/pull/12816


Add transformer to extract an item out of a list.

Problem
It is often the case that an API has an interface for performing an operation over multiple items, however the user of the API would like to offer an operation that operates over a single item.
An example is a delete item operation. Imagine a theoretical API:
DELETE www.example.com/api/v1/items?ids=[12,43,4]
Which returns a list of ids.
But we want to offer a Wundergraph operation deleteItem(id: int)
At the moment, I need to do some mangling in the hooks to convert the return type, which means I cannot use the typed helpers, and the transformation is not happening in the fast go codebase.
Suggested solution
Add a transformer to allow extraction of an indexed item from a returned list.
maybe @transform(index: 0)
Where "index" is the transformation over a list type item that converts it to a single item. The argument it the 0-based position of the item.
The resulting type would need to be nullable because the item at the index may not exist.
Alternatives
The alternative it to use a mutatingPostResolve hook, but this is less desirable for the reasons stated above.

Have you tried something like this:
www.example.com/api/v1/items?ids=[{id}]
I think this should work.
As an alternative, I think it would be interesting to have a directive like @transform(list: {index: 0}} or similar.

Yeah, I can call the API no problem, with the following operation definition:
mutation deleteItem($id: Int!) {
object: ns_deleteItems(ids : [$id]) {
id
}
}
but the result type is a list, which needs to be unpacked somehow to the single item.

I think I like your idea of adding @transform(index: 0).
Do you need guidance on how to add it?

I'll start by setting up my dev environment for the codebases, and creating a unit test for the go part of the code. If I have any issues, I'll PM you on Discord.


Use hidden filename for temporary code file

The temporary file name should be a hidden file, such that the ls command would not list the unwanted temporary file.

Why are these changes needed?

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

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

Comparison is base (b548e55) 30.38% compared to head (7326b0e) 35.89%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1200      +/-   ##
==========================================
+ Coverage   30.38%   35.89%   +5.50%
==========================================
  Files          32       32
  Lines        4302     4302
  Branches      994     1045      +51
==========================================
+ Hits         1307     1544     +237
+ Misses       2901     2651     -250
- Partials       94      107      +13

Flag
Coverage Δ

unittests
35.86% <100.00%> (+5.53%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

There is an issue #1069 due to the filename is being used as docker's tag name so it cannot start with a period (https://docs.docker.com/engine/reference/commandline/tag/). PR #1127 looks to fix it. Still, under the current behavior this PR will cause error.

I see. It makes sense. I will try another way to get around.

There is an issue #1069 due to the filename is being used as docker's tag name so it cannot start with a period (https://docs.docker.com/engine/reference/commandline/tag/). PR #1127 looks to fix it. Still, under the current behavior this PR will cause error.

I see. It makes sense. I will try another way to get around.

why not just use tempfile instead?


Remove not required prerequisite

@mjcaparas - can you please assist to check, approve and merge the content for this PR?
Thank you.

@mjcaparas - I would like to follow up on this. Can you please assist to check, approve and merge the content for this PR?
Thank you.


Details on the inference process and reproducing the scores

Hello,
Thank you for publishing your code online.
I have trained your model using the HEMIT dataset and attempted to reproduce the results presented in your paper.
While I achieved similar R and PSNR metrics, the SSIM value decreased significantly.
I performed patch-wise inference (1024x1024) as per the post_process.py code.
Could you please share the details of the inference process for result reproduction?
Additionally, if possible, would you be willing to release your checkpoint online?

Hi,
Thank you for your interest in our work. We have uploaded the checkpoints to the main branch of our repository. You can find the download link and details in the README document.


Fix Experiments table multi-select context menu

Experiments table multi-select context menu actions were broken by the react table upgrade. The row's new ID was being used instead of the row's original ID. Understandable mistake as the behaviour was not tested.
Before
https://user-images.githubusercontent.com/37993418/214477748-51c5e58e-8add-4919-ab03-83e5df0bf7fc.mov
After
https://user-images.githubusercontent.com/37993418/214477820-4a2be603-94ca-496d-bd41-a064e19c9551.mov

@sroy3 anywhere else this could have happened in the upgrade?


GUI::process should return true if it consumed the message

This is the current spec. to optimize simple event loops:
/**
 * Process events from the backend (i.e. SFML)
 * Returns false if the GUI is inactive, or when the underlying backend's
 * CLOSE event has been received. In that case close() will also be called
 * (which will deactivate the GUI).
 */
bool process(const sf::Event& event);

But for cases, where there are multiple event listeners (not just a GUI, but game controls or other subsystems), where the event loop is more complex, it would be kinda crucial to know if a module has eaten a message, or...
OK, now wait a sec... The deciding factor is NOT whether a particular message was randomly consumed or not, likely depending on some random state (e.g. which widget was used at all...), but whether the message was INTENDED for that particular subsystem! :-o
And that can't be decided based on the "accidental" results of process!

Hmm... OK, but... Wouldn't it still be useful in some (quite a few?) cases, so that it could still be enabled, and let the user decide to use or ignore it?


User Awards in Profile

I see I can call upon the awards a user has, in profile/index.blade.php, by:
        {{$user->awards}}
Is there a connection I can make within the profile blade to display the name of this award?
Thanks!

I've got this one! Need to wrap it within a @foreach.
            @foreach ($user->awards as $award)
            {{$award->award->name}}
            @endforeach


Support no-cache execution

There are use cases that call for always running a certain step of a pipeline. Examples include an step that checks to see if a remote resource has drifted from the last known cached state, in which case other steps may need to run in order to correct it.
This requires being able to specify that a step should always run. A few open questions:

Who configures this: the extension author (or us as dagger devs in the case of core api)? the api invoker? both?
Do we use buildkit's IgnoreCache metadata to implement this (and accept the baggage of, i.e. cache mounts being empty) or do we use the "random env" approach (and accept the baggage of creating cache entries in buildkit that will never be reused)?

Or do we do some upstream work to implement a better approach than those two?

https://discord.com/channels/707636530424053791/1042823572000886854/1042823572000886854
https://discord.com/channels/707636530424053791/1042418867487645736/1042418867487645736
https://discord.com/channels/707636530424053791/1040899837232681003/1041222646576189560
🔥

Some updated thoughts on this, another benefit to having official support for this is in our API that we can have our remote caching skip these execs (which would obviously be a waste of time+space to cache).
I think a good potential implementation here would be to re-use @vito's idea w/ services where we stop buildkit from caching these by forcing them to fail. In this case we wouldn't cancel them though, we can instead have the shim always exit non-zero so buildkit thinks it's failed and thus won't cache it. We store the real exit code in the meta mount already, so we'll just use that to return the "real" error or no error if it's 0.
This would avoid the problems with buildkit's default IgnoreCache setting which results in cache mounts being empty while also avoiding unneeded saving of layers in the local and remote cache.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 237 ms

Resolved: ClamAV performance has improved in a677614 after 5 minutes.


Selenium support

I have added selenium support. This allows solving captchas manually if they show. It is still possible to use the default requests implementation. To this end I introduced a get_scholarly_instance() method that returns either a selenium or requests instance of scholarly. The interface stayed the same.

Pull request is outdated.


Update SystemExecutioner to investigate adding a delay before exiting to allow for checking if the app has exited

Note: the original comment in the code was:
// TODO: Should we wait some number of seconds as a daemon thread before shutting ourselves down to see if we actually
//       die?  How to do that??

Note: the original comment in the code was:
// TODO: Should we wait some number of seconds as a daemon thread before shutting ourselves down to see if we actually
//       die?  How to do that??

My original TODO comment doesn't really make much sense...why would it matter whether this thread or some other one shuts us down? Answer: it doesn't. And, if ewe know that we need to shut ourselves down, might as well do it quickly and fail fast so our monitoring can detect the problem more quickly...

My original TODO comment doesn't really make much sense...why would it matter whether this thread or some other one shuts us down? Answer: it doesn't. And, if ewe know that we need to shut ourselves down, might as well do it quickly and fail fast so our monitoring can detect the problem more quickly...

Instead, I did some experimenting with SystemExecutioner and changing it to use an ExecutionStrategy internally. The code I produced lets you easily use SystemExecutioner in unit tests by creating it with a NoOpExecutionStrategy instead of the default SystemExitExecutionStrategy.
Does something like this make sense? I will push a branch up for discussion and consideration.

Instead, I did some experimenting with SystemExecutioner and changing it to use an ExecutionStrategy internally. The code I produced lets you easily use SystemExecutioner in unit tests by creating it with a NoOpExecutionStrategy instead of the default SystemExitExecutionStrategy.
Does something like this make sense? I will push a branch up for discussion and consideration.

Here is the pull request: #90

Here is the pull request: #90

Closing this investigation. See #91

Closing this investigation. See #91


Google Music Downloader has stopped working

Everytime I log in to the application it crashes and I get Google Music Downloader has stopped working.
2 step authentication is off.
I've tried Setup and Standalone verisons.
I'm on a windows 10 system

Same here. Did you got fixed it.
If yes, how you did it ?

I never figured it out completely but I did figure out it's something with my login security or something. My friend was able to use it on his computer perfectly. I logged in using his computer and it crashes. Had him login with his account on my computer and it works perfectly. i try logging in and it crashes. If you figure it out please let me know. Thanks!!

Thanks i play now a little around with my google-account settings...i let you know if i got it working...
For Windows there is no other tool available like this ?

There's another application that I found but it costs $$$ http://songspout.com/
I currently use an android app called musicmate that works really well but its a pain to transfer music between my android device and my PC.

I tried now with 3 different gmail accounts....and always it always crashes....2factor auth is disabled everywhere....i tried to start with "admin rights"....but no luck :(

I have found the "bug" now. you need to create a PLAYLIST in your google-music account then the tool works fine :)
if you dont have created a playlist the app crashes after login.

Since few days it saves the MP3's only in 160kbps, and not 320kbps anymore :(
Anyone have the same problem ? I tried with different accounts...and only 160kbps anymore...

I do have the same problem with 160kbps.
BTW coman3, I love you for making this app <3. Was very hard to find and I was looking for it a long time  :)

Thanks, if you maybe have found out, how to save in 320kbps again, let us know :)

Just for anyone, this error is occurred when the logged in user does not have an custom playlists.... Might fix up the error in the next couple of days as i should have time 😄

I've tried creating a playlist, app still crashes on me :(

@Alia5 do you have 2 factor auth enabled? maybe try and set a "app specific password" Check Here?

Nope, no 2 factor here... Can't use and app specific PW 'cause of that.
Will prob. have to check myself once I get the time

Found the issue...
I Never thumbs-upped a song ;)

ah that makes sense! Seeing this was supposed to be just for example use i never bothered with null checks 😜


Create do_invite functions in fruniques pallet

Description
Currently, the invite extrinsic is not encapsulated in a helper function, meaning that only users with admin permissions can invite other users to the system. We want to create a helper function called do_invite that encapsulates the invite extrinsic and can be used by any user, regardless of their permissions.
Why
By encapsulating the invite extrinsic in a helper function, we will make it easier for users to invite others to the system, which can improve user adoption and engagement. Additionally, this will make the codebase more modular and easier to maintain in the long term.
Changes

Create a new helper function called do_invited that encapsulates the invite extrinsic
Update the codebase to use do_invited instead of calling the invite extrinsic directly
Call that function in Afloat when a user signs in

Impact
Users without admin permissions will be able to invite others to the system
The codebase will be more modular and easier to maintain in the long term
There may be minor performance implications due to the added layer of abstraction, but this is not expected to be significant
Additional Notes
It is important to ensure that the new do_invited function follows best practices for security and data privacy to prevent unauthorized access to the system.
This change may require updating documentation or user-facing materials to reflect the new process for inviting others to the system.

done 47161ab50e0d5a485e2ae97591c10e1bbbeddac4


Make #push functional

This PR changes #push to be functional and therefore simplifies the identity proof to a single claim.

I've made significant changes to the code in this PR. I'm closing this. Refer to #244 for the new revision


Bugfix: Stop sending all records in one websocket message

When using the missingRecords or requestedRecords message, it turned out there is a maximum message size that can be exceeded. The effects are bad!
Change the protocol so that it sends the records one by one.
This will break the moo protocol.

Ready for testing in 2.1.0-beta

No problems noticed.


A bug about the 3dtiles model is offset in 2d view

My English is poor, the following is the translation
When the original point of the model is inconsistent with the actual center point of the model, when switching from SCENE3D view to SCENE2D view, the model is offset, and errors are eliminated. Zooming and panning will make the model display incomplete。
Is it true that the center point of the model is not at the origin when doing ortho correction

@Eva-Skye could you try constructing the tileset with projectTo2D: true in Cesium JS 1.97?

@Eva-Skye你能尝试用projectTo2D: true. 这个选项是在 Cesium JS 1.97 中添加的。
Thank you for your timely reply, but after using projectTo2D, the problem seems even worse.

This is the effect of projectTo2D: false

This is the effect of projectTo2D: true

I will show their origin and center point, which may better reflect the image of two difference points on them.

I have another question, would you like to help me.
When loading a 3dtiles, the model was missing. I tried to reduce the maximumScreenSpaceError to 0, hoping to show all the finest tiles, but there was still a speckled missing.

The latest test shows that the exception of projectTo2D may not be related to the origin and center point.
Is this related to the texture format processed by cesiumlab?

@Eva-Skye Would you be able to share the tileset you're using so we can help debug?

@lilleyse The data file has a certain degree of privacy. I don't know how to transfer it to you. I created a private library and invited you to download the data l use there. There may be a time difference of several hours between us, sorry to bother you.
The url is:https://github.com/Eva-Skye/test-3dtiles

@lilleyse My login to github is limited. I failed to upload data several times 10 hours ago. It was late at night, so I had to go to bed.

@lilleyse From the perspective of data, I found that there is a common feature in the files that will make mistakes when using projectTo2D. When a json file loads multiple b3dms, the mesh displays normally. When a json file and b3dms correspond one by one, the mesh displays incorrectly. Hope this information will help solve the case.

@lilleyse From the perspective of data, I found that there is a common feature in the files that will make mistakes when using projectTo2D. When a json file loads multiple b3dms, the mesh displays normally. When a json file and b3dms correspond one by one, the mesh displays incorrectly. Hope this information will help solve the case.

The same display error will be displayed wiith :“RTC_CENTER".
point cloud data not only one json file but also use “RTC_CENTER":
https://sandcastle.cesium.com/index.html?src=3D Tiles Point Cloud.html
viewer.scene.mode = 1;


Querying long storage data times out.

Thanos, Prometheus and Golang version used
Thanos 0.3.2 && 0.4.0
Prometheus 2.9.2

What happened
Querying data older than 2 hours, which requires the GCP bucket to be queried, causes for Error executing query: query timed out in expression evaluation errors.
An example query is:
histogram_quantile(0.99, sum(rate(my_metric[5m])) by (le))

What you expected to happen
The query to be preformed smoothly like it would if you query prometheus directly.
How to reproduce it (as minimally and precisely as possible):
Setup thanos with GCP bucket, 6 prometheus shards + replica, produce a lot of metrics for my_metric and preform the above query for greater than 2 hours.
Full logs to relevant components
Store spits out a bunch of logs containing the message: msg="stats query processed" and msg="No block found" it produces a lot of entries so not sure if these entries are useful or not.

Anything else we need to know
I have a feeling that this might be related to compactor not compacting the data accordingly but not sure. By looking at this graph of disk space usage of compactor, it looks like it was not doing anything despite the thanos_compactor_halted  metric being 0 at that time.

The logs indicate the following error from compactor logs:
prometheus-thanos-compact-0 thanos-compact level=error ts=2019-05-09T12:28:15.427101955Z caller=compact.go:265 msg="retriable error" err="compaction failed: sync: retrieve bucket block metas: downloading meta.json for 01DAC3J8RH97E1XYJNZ1JWPNK4: meta.json bkt get for 01DAC3J8RH97E1XYJNZ1JWPNK4: storage: object doesn't exist"

After updating to 0.4.0 the above "resolved itself" and compactor started running again. That is the fast decline in storage you see at the end of the graph.

Example:

Thanks for reporting.
How Thanos Store resources looks like during the request? Is it OOM?
What is the bucket used?
What are the index-cache file and chunk pool? We have seem similar thing if the value is super low.

How Thanos Store resources looks like during the request? Is it OOM?

It had 50 Gi of ram and now 100 Gi, it was not getting OOM'ed. So memory is not the case. When it had 50Gi it was consuming 80%. So now it has more men. But the symptoms remained the same.

What is the bucket used?

Google GSC

What are the index-cache file and chunk pool?

The default values,
     --index-cache-size=250MB
      --chunk-pool-size=2GB

I will increase these and report back.

Increased to 1000MB and 5Gb still have the same symptoms. Any recommendation on how to determine if this is the bottleneck or not? E.g. is there a metric for this?

Ok, so it's just OOM then, this is then duplicate to this: https://github.com/improbable-eng/thanos/issues/448 Closing, let's move discussion to 448 if that's ok? (:
Also v0.4.0 uses Go1.12 which supposedly allocs more even if not used.
On slack: https://improbable-eng.slack.com/archives/CADR0UWS2/p1557927049160600

managed to reclaim half of the 5GB by adding this GODEBUG=madvdontneed=1

Dup of https://github.com/improbable-eng/thanos/issues/448

Hmm, im not sure if its OOM... as store hasn't OOMed in days. it never hit 100% when it had 50Gi.

Also v0.4.0 uses Go1.12 which supposedly allocs more even if not used.

Yea I'm indeed aware of this one 👍
On what did you conclude that this is an OOM issue?

As you can see, it never crossed 50% and the same symptoms apply of queries greater then 2 hours are timing out.


Accounts: General feedback on instance settings view

:point_down:  feedback notes in screenshot

@zcolah @ardeay
What to display when the "?" Icon got hover and text below Domain?
All of the page has this pattern not only the Domain page.


Add additional values to StationaryPhaseEnum

These values will be needed for the GC/MS and LC/MS metabolomics process samples.
Addresses https://github.com/microbiomedata/nmdc-schema/issues/1909 .

@anastasiyaprymolenna and @brynnz22.  Would you two take a look at this PR and let me know if I'm missing anything with regards to best practices for dev in this repo?

Yes, annotations! I can help.

Here's the LinkML documentation about the slots available for use on a PermissibleValue

@anastasiyaprymolenna I see that you were intended as a reviewer too. I apologize for merging before you got a chance to comment. Please let me know if you think anything needs to be reverted or changed.


Pull setWithIntegrityPacket up into PGPDataEncryptorBuilder interface

Both the Jce as well as the Bc implementation of PGPDataEncryptorBuilder do have a setWithIntegrityPacket(boolean) method, which however is not present in the parent interface.
This PR simply pulls up the method declaration into the interface.

Thanks for the patch. Merged!


Reason tests

There's some subtle stuff in here that we need to make sure is correct.

Adding some tests isn't controversial i hope.


requestSubscription and finishTransactionIOS  doesn't seem to work...

Thanks for an awesome bridge for IAP! I have one issue tho...
Version of react-native-iap
3.4.1
Version of react-native
0.60
Platforms you faced the error (IOS or Android or both?)
iOS
Expected behavior
When i try to buy a subscription without billing added to iOS account, purchaseUpdatedListener should catch the purchase after billing added.
Actual behavior
After added billing and staring app purchase is gone thru and i cant attach sub to user.
Tested environment (Emulator? Real Device?)
real device
Steps to reproduce the behavior
requestSubscription(selectedProduct.productId)
purchaseUpdatedListener((purchase: ProductPurchase) => {
const receipt = purchase.transactionReceipt
if (receipt) return validateReciept(purchase, kid) // our server validation
.then((deliveryResult) => {
if (isIOS()) finishTransactionIOS(purchase.transactionId)
if (isAndroid()) acknowledgePurchaseAndroid(purchase.purchaseToken)
return receipt
})
})
has anyone got this to work?

@hyochan okay! but the IAP is purchased from appStore, but not attached to my user. So i was hoping for this method to catch the payment?

All the error should be returned to purchaseErrorListener.

@hyochan thats what i was hoping for, but does not seem to be the case... shouldnt purchaseUpdatedListener listen for this purchase until i run finishTransactionIOS?
Or do i assume wrong?


Android EditText view width not grown to fill the width of its parent YogaLayout

Report
I put an Android EditText view in a YogaLayout directly. Its layout width is set to fill_parent. But it never fills the width of its parent yogalayout. But if I put an RelativeLayout as a wrapper between EditText and YogaLayout ， EditText's width is set to YogaLayout's width as expected. This problem never happens if I use Android LinearLayout as the container of EditText.

[X] I have searched existing issues and this is not a duplicate

Issues and Steps to Reproduce
Create a xml which you can see in the code below as a regular content_main xml
Expected Behavior
EditText's width is supposed to fill the parent, so it should be 600dp.
Actual Behavior
EditText's width is very small, only 73dp.
Link to Code
This xml does not work properly.
<com.facebook.yoga.android.YogaLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yoga="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
yoga:yg_flexDirection="row"
yoga:yg_width="600dp">

</com.facebook.yoga.android.YogaLayout>
The following xml will set EditText width properly. But it requires a RelativeLayout  as wrapper.
<com.facebook.yoga.android.YogaLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yoga="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
yoga:yg_flexDirection="row"
android:layout_marginTop="100dp"
yoga:yg_width="600dp">
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </RelativeLayout>
</com.facebook.yoga.android.YogaLayout>

If we use Android LinearLayout as container, it also works.

I found the EditText height not grow automatic when used inside a YogaLayout and set its height to wrap_content,but when used inside a constraintlayout，it grow automatic

We're deprecating the com.facebook.yoga.android.YogaLayout ViewGroup in the next major release of Yoga. We intend to still push out a new version aligned to the core Yoga 2.0. I have bulk closed ViewGroup issues to reflect that we are not planning to invest time into functional changes of the ViewGroup. and eventually intend to remove it from the repo.


ESP32 UART devicetree binding design issue

Describe the bug
Creating a bug from the discussion here:
https://github.com/zephyrproject-rtos/zephyr/pull/41941#discussion_r789262385
The espresssif,esp32-uart devicetree binding has a required peripheral property which specifies an index into the available UARTs.
This is a binding design problem because the index number is not hardware description: according to @sylvioalves , the value is not used to describe or configure hardware, and is present in the binding as a work-around for interfacing with the HAL-based zephyr UART shim driver for this peripheral. Such properties go against devicetree design principles.
Expected behavior

The property should be removed from the binding
Another hardware-appropriate workaround should be implemented in the shim driver

Impact
Annoyance

@sylvioalves I'm working on my backlog and I looped around on our discussion in https://github.com/zephyrproject-rtos/zephyr/pull/41941 to make this issue.

If the driver index is not correct when using this DT macro, how would the macro (you shared) be helpful to fill idx value in U##idx##TXD_OUT_IDX accordingly?

My point is not that you should be using instance numbers in the shim driver, my point is that you should do this type of hard-coding, because the issue is a software limitation in the HAL itself, and should be worked around in software, not devicetree.


feat: Add support for Entity.mergeWithStore()

Motivation

Better separation of logic between core normalize algorithm and schema definitions.
1) Normalize logic should be based on its context
The normalize algorithm is aware of an existing entity in the store, but it should not care how that is handled beyond that. This mirrors the merge() lifecycle that existed before in-store concepts were added. We should try to push as much code to the schemas to make control easier and stick to stuff relevant to our store implementation in the store.
Compatibility and composability principals:

interface between the two should be minimized
changes should be minimized

2) Some iterate on this logic is needed in a way that would introduce new lifecycles, but can be hidden from normalize
It would be good to have distinct overrides for handling of merge, choosing ordering, and choosing to ignore.
Solution

if (inStoreEntity) {
  const inStoreMeta = entityMeta[schemaKey][id];
  entities[schemaKey][id] = schema.mergeWithStore
    ? schema.mergeWithStore(inStoreMeta, meta, inStoreEntity, processedEntity)
    : mergeWithStore(
        schema,
        inStoreMeta,
        meta,
        inStoreEntity,
        processedEntity,
      );
}

Pull out the current logic into the schema and a helper in case the schema does not have the new method yet. Run this code when inStoreEntity is detected.
Open questions

Not sure about the naming. mergeWithStore() sounds better, but is much longer than all other lifecycles. Is there a more terse way of putting it?

Codecov Report

Merging #2384 (321b111) into master (6469d80) will decrease coverage by 0.05%.
The diff coverage is 89.47%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master    #2384      +/-   ##
==========================================
- Coverage   98.19%   98.14%   -0.05%
==========================================
  Files         123      123
  Lines        1991     1996       +5
  Branches      309      310       +1
==========================================
+ Hits         1955     1959       +4
- Misses         16       17       +1
  Partials       20       20

Impacted Files
Coverage Δ

packages/normalizr/src/normalize.ts
97.46% <81.81%> (-1.25%)
:arrow_down:

packages/core/src/state/reducer/createReducer.ts
100.00% <100.00%> (ø)

packages/endpoint/src/schemas/Entity.ts
98.13% <100.00%> (+0.07%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Support for iFrames

On https://servicing.capitalone.com/C1/Login.aspx, the P button doesn't show up, and Ctrl-Shift-P doesn't fill in the password field either.

The reason that website does not work is because the login box is actually an iframe inside the main page. I can try to add support for iframes. The title of this issue has been changed to reflect this.


Add clang format

It would be easier to submit pull request, if the indentation/format rules were enforced by an automatic tools like clang-format.

Sounds like a good idea.

I don't know if this is what we want. When we will add the formater, the first commit will contain a huge amount of lines changed, which will ruin git blame in almost all files. This must be taken into account before adding it.

I think it would more reasonable, since history is less important between major releases.

A note about that. We had a similar discussion in aseba. Beside breaking the history, automatic formatting also breaks some special formatting done on purpose by the programmer (for example to define a matrix or highlight the specifics of an equation). For new code, a // clang-format off/on comment allows to disable automatic formatting, and thus it is acceptable. But for old code, I do not see the benefit. My advise is to apply it to new and changed code only.

Specifications:

[ ]  Encode our loosely defined formatting rules
[ ]  Limit automatic parsing to PR
[ ]  Add delimiters to protect from automatic formatting, this could be // clang-format off/on

This file might be a useful starting point for the formatting rules, as both aseba and libpointmatcher kind of follow "my" style.

I try 2 weeks ago to create a clang-format which cover the libpointmatcher style. It seems libpointmatcher follows aseba style.
We could add a git commit hook to the project, which run clang format on the modified files when creating a commit.
I suggest to add this feature after #282 is merged, since boost::list_ofare not correctly handle by clang-format.

Hi all,
Would it be possible to re-consider integrating a formatter? Both to old and new code. It would simplify debugging, reviewing pull requests, and contributing (if you have a fork), without spending too much time on style discussions and fixing syntax.

I fine with the idea. Could you prepare a PR?

Yes.
I propose using clang format, which is easy to run with modern IDEs (for example, VSCode), is also used by other ASL projects, and gives quite a bit of flexibility.
I would divide the contribution in two PRs

The actual formatting tool, along with a small example on how to run it.
Formatting the repo or some files at a time.


odd ?scale? problem with resizing frames

As my window changes shape via user interaction, I change the size fed to begin frame
however as the window gets larger the drawn items on the window shrink, rather than stay the same size
I don't mean that a rectangle thats half the window in size should automagically scale up with the size of the window but rather it should stay the same physical size in pixels rather than shrinking!
basically if you started with a 640 wide window and resized it to 1280 making a 1280 wide item would not cover the full size of window but rather less than half of it...
sorry if I've not explained myself too well!
I'm using Nanovg with GLES2.0

sorry I assumed that begin frame called glViewport ! adding a call to glViewport fixed my issue...


ESP32-C3 esp_wifi::init fails with Store/AMO access fault

Bug description
After updating dependencies in a project (was quite a rabbit hole due to all the breaking API changes from the past couple of months) the WiFi initalization (function esp_wifi::init) fails with the error Store/AMO access fault, here is the full error log:
INFO - esp_hal::init done

Exception 'Store/AMO access fault' mepc=0x420036f6, mtval=0x00000000
0x420036f6 - esp_wifi::preempt::allocate_main_task
    at ??:??
TrapFrame
PC=0x420036f6         RA/x1=0x420036f4      SP/x2=0x3fc87f80      GP/x3=0x3fcce280      TP/x4=0x00000000
0x420036f6 - esp_wifi::preempt::allocate_main_task
    at ??:??
0x420036f4 - esp_wifi::preempt::allocate_main_task
    at ??:??
0x3fc87f80 - __global_pointer$
    at ??:??
T0/x5=0x00000027      T1/x6=0x42005c5c      T2/x7=0x0000000b      S0/FP/x8=0x3fcce2b0   S1/x9=0x0000009c
0x42005c5c - esp_hal::rtc_cntl::rtc::init
    at ??:??
A0/x10=0x00000000     A1/x11=0x80000000     A2/x12=0x00000000     A3/x13=0x00000001     A4/x14=0x00000000
A5/x15=0xffffdfff     A6/x16=0x3c0505bc     A7/x17=0x0000000f     S2/x18=0x00000001     S3/x19=0x00000000
0x3c0505bc - .Lanon.fad58de7366495db4650cfefac2fcd61.54
    at ??:??
S4/x20=0x3fc89000     S5/x21=0x00000000     S6/x22=0x00000000     S7/x23=0x00000000     S8/x24=0x00000000
0x3fc89000 - embassy_executor::_export::ARENA
    at ??:??
S9/x25=0x00000000     S10/x26=0x00000000    S11/x27=0x00000000    T3/x28=0x3c0505bc     T4/x29=0x0000000f
0x3c0505bc - .Lanon.fad58de7366495db4650cfefac2fcd61.54
    at ??:??
T5/x30=0x00000000     T6/x31=0x00000000

MSTATUS=0x00001801
MCAUSE=0x00000007
MTVAL=0x00000000

0x42003ff8
0x42003ff8 - esp_wifi::tasks::init_tasks
    at ??:??
0x42000842
0x42000842 - esp_wifi::init
    at ??:??
0x4200035c
0x4200035c - embassy_executor::raw::TaskStorage<F>::poll
    at ??:??
0x42004bb8
0x42004bb8 - embassy_executor::raw::Executor::poll
    at ??:??
0x4200020a
0x4200020a - esp_hal_embassy::executor::thread::Executor::run
    at ??:??
0x420008c0
0x420008c0 - main
    at ??:??
0x4200587c
0x4200587c - hal_main
    at ??:??
0x42000132
0x42000132 - _start_rust
    at ??:??

To Reproduce
I've created a minimal test case to reproduce the issue:
Cargo.toml:
[package]
name = "minimal_testcase"
version = "0.1.0"
edition = "2021"

[dependencies]
embassy-executor    = { version = "0.6.1", features = ["task-arena-size-40960"] }
embassy-futures     = "0.1.1"
embassy-usb         = { version = "0.3.0", default-features = false, optional = true }
embedded-hal        = { version = "1.0.0"}
embedded-hal-async  = "1.0.0"
embassy-time = { version = "0.3.1", features = ["generic-queue"]}
esp-backtrace = { version = "0.14.2", features = ["esp32c3", "panic-handler", "exception-handler", "println"] }
esp-hal = { version = "0.21.1", features = ["esp32c3"] }
esp-hal-embassy = { version = "0.4.0", features = ["esp32c3"] }
esp-println = { version = "0.12.0", features = ["esp32c3", "log"] }
esp-wifi = { version = "0.10.1", features = ["esp32c3", "wifi", "async", "embassy-net"] }
embassy-net = { version = "0.4.0", features = ["dhcpv4", "dhcpv4-hostname"] }
log = "0.4.22"
static_cell = { version = "2.1.0" , features = ["nightly"]}

src/main.rs:
#![no_std]
#![no_main]
use esp_backtrace as _;  // Required for panic handler via "panic-handler" feature
use esp_println::println;
use esp_hal::prelude::{main, entry, CpuClock};
use embassy_executor::Spawner;
use esp_hal::interrupt::Priority;
use esp_hal::peripherals::Peripherals;
use esp_hal::timer::timg::TimerGroup;
use esp_hal_embassy::InterruptExecutor;
use embassy_time::{Ticker, Duration, Instant, Timer};
use esp_hal::rng::Rng;
use esp_hal::timer::systimer::SystemTimer;
use esp_wifi::{EspWifiInitFor};
use esp_wifi::wifi::{ClientConfiguration, Configuration, WifiController, WifiDevice, WifiEvent, WifiStaDevice, WifiState};
use embassy_net::{Config, DhcpConfig, Stack, StackResources};
use esp_hal::Blocking;
use esp_hal::gpio::{Io, Level, Output};
use esp_hal::rmt::{Channel, Rmt};
use esp_hal::gpio::OutputPin;

use log::{info, error, trace};

use static_cell::{StaticCell, make_static};

#[main]
async fn main(_low_prio_spawner: Spawner) {
    esp_println::logger::init_logger_from_env();
    let peripherals = esp_hal::init({
        let mut config = esp_hal::Config::default();
        config.cpu_clock = CpuClock::max();
        config
    });
    info!("esp_hal::init done");
    let timg0 = TimerGroup::new(peripherals.TIMG0);
    let init = esp_wifi::init(
        EspWifiInitFor::Wifi,
        timg0.timer0,
        Rng::new(peripherals.RNG),
        peripherals.RADIO_CLK
    ).expect("esp_wifi::initialize failed");

    panic!("This will not be reached due to this bug");
    loop{
        Timer::after_secs(10).await;
    }
}

.cargo/config.toml:
[target.riscv32imc-unknown-none-elf]
runner = "espflash flash --baud 1152000 --monitor"

[build]
target = "riscv32imc-unknown-none-elf"

rustflags = [
  "-C", "link-arg=-Tlinkall.x",

  # This is required for WiFi
  "-C", "link-arg=-Trom_functions.x",

  # Required to obtain backtraces (e.g. when using the "esp-backtrace" crate.)
  # NOTE: May negatively impact performance of produced code
  "-C", "force-frame-pointers",
]

[env]
ESP_LOG = "TRACE"

Environment

Board: esp32-c3-devkit-m1 (with an ESP32-C3 WROOM module)
Dependency/package versions: See Cargo.toml above
Rust version: The issue can be reproduced with stable (rustc 1.82.0 (f6e511eec 2024-10-15)) and nightly (rustc 1.84.0-nightly (fbab78289 2024-11-04))

Thanks for providing your minimal reproducer.
Seems you are missing a heap allocator like it's done here: https://github.com/esp-rs/esp-hal/blob/39c0baf2c7bf3a45cd16a844f100c52d84c9b727/examples/src/bin/wifi_embassy_dhcp.rs#L59
For more information refer to the migration guide here: https://github.com/esp-rs/esp-hal/blob/v0.21.1/esp-wifi/MIGRATING-0.9.md#memory-allocation
In the upcoming version we'll provide a better error message in this case.
Going to close this issue - feel free to re-open if my suggestions don't fix the issue

Thanks for the suggestion, it indeed fixes the issue.
However it might still be a good idea to add compile-time safety for this (so that the code doesn't compile if the memory allocator is missing). If that is not possible it would also help to have at least a panic message with a clear indication of what the problem is.

Thanks for the suggestion, it indeed fixes the issue.
However it might still be a good idea to add compile-time safety for this (so that the code doesn't compile if the memory allocator is missing). If that is not possible it would also help to have at least a panic message with a clear indication of what the problem is.

I don't see a (good) way to get compile-time safety but in the upcoming release you will get a more helpful panic in this case


add gems needed

we need to install a gem kramdown-parser-gfm

And the gems mentions in the _config.yml

Close #1


chore: remove use of deprecated default_node_pool.node_taints

Closes #12
Signed-off-by: Mateusz Łoskot<EMAIL_ADDRESS>

Hmm, I have pre-commit installed and the hooks did run for my commit. No idea why the CI fails for docs.


Raw type in UniZip.unis

    public UniAndGroupIterable unis(Uni<?>... unis) {
        return unis(Arrays.asList(unis));
    }

Appears to be missing its type argument.

It appears to be already fixed :-)


Arbitrary precision integers v2!

Does this:

Instead of parsing int in type annotations, parses bit<n>.
When there are operations between single-value index types (i.e. index types with trivial static components), the resulting index type has a dynamic component that envelops both of the operands' dynamic ranges.
The type strings in the error messages for index types now say bit<n> when appropriate.

Also updated the test files to have bit<32> annotations instead of int.
Closed the other PR and just did this in a fresh new branch.

Add some tests to show that type checker fails in the right cases.

Also seems like you're missing the emit code.

Oh, oops! I'll add that in right now.


SNOW-1657456 Improved  to persist the original timezone offset for TIMESTAMP_TZ type

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

Fixes SNOW-1657456

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

The problem was that to_pandas use Snowflake Python connector to read query result into a pandas dataframe. However, the connector will convert TIMESTAMP_TZ result to timestamps using the local session timezone which does not match with the pandas behavior in our scenario.
The goal is to preserve the original timezone offsets for timestamp_tz.
The idea here is to convert timestamp_tz to string before calling to_pandas and then cast them back to datetime64tz on the native pandas result.

This looks great! One quick ask: In the PR description, can you start with explaining the original problem and then explain how this PR provides a solution for it?

qq: this is not in Snowpark Pandas GA release, right? so this fix is not in the scope of the GA ?

qq: this is not in Snowpark Pandas GA release, right? so this fix is not in the scope of the GA ?

Correct, this not a GA release blocker/requirement


How do I get ngrx binded to the model

Question
Hi, I am trying to learn and use formly for a project at work. I am learning ngrx at the same time, and have been struggling to get ngrx and formly to work correctly together.
I can get the data to bind correctly to the form, but when I change one of the fields, it is returning:
Cannot assign to read only property 'transactionType' of object '[object Object]'
my model that I am binding to formly is
data$ = this.store.select(getRmvData).subscribe(x => this.formModel = x);
so in the template I am binding via async pipe, but I can't even get it to trigger the modelChange function to try to dispatch an action, before it errors out on read only from the ngrx store
is there any tutorials or examples that clearly explain how to use ngrx with formly?
A clear and concise description of what the question is.

Can you try with immutable mode:
@NgModule({
  imports: [
    FormlyModule.forRoot({
+     extras: { immutable: true }
    }),
  ],
})

thank you @aitboudad That seems to solve my issue


Line Plot with Grouped Dataframes

I would like to visualize flight tracks around an airport and aggregate them as line-objects instead of point data. The issue I have been running into is that importing the CSV data into a Pandas dataframe and grouping the data based on a flight track identifier ('Msn') is not compatible with datashader's aggregation capabilities.
df = pd.read_csv("data_trim_small.csv")
dfg = df.groupby('Msn')
cvs = ds.Canvas(plot_width=plot_width, plot_height=plot_height, x_range=x_range, y_range=y_range)
agg = cvs.line(dfg, 'Long', 'Lat', ds.count())

# NotImplementedError: Don't know how to discover type 'DataFrameGroupBy'

There are too many different flight tracks to set each track as its own category (memory issues). Below are the results:

Note that the spoke-like lines at the gate should not be there as shown in the points density map.
I did have some success with creating an OrderedDict of line objects and summing over them:
agg = OrderedDict((ii, cvs.line(df.loc[df['Msn']==Msn_uniq[ii]], 'Long', 'Lat')) for ii in range(0,Msn_tot))
agg_sum = sum(agg.values())
tf.shade(agg_sum, cmap=inferno)

However, the workaround is rather inefficient. Is there a specific datastructure I should be using instead?

You can separate each path by inserting rows of NaNs between each of them. So you can apply your groupby, accumulate each group into a list, insert a dataframe with a single all NaN row between each group and then concatenate the dataframes again.
Have a look at the get_paths function in this notebook or the split_flights function in this notebook. In future there should be a helper function or a simpler API for this kind of thing.

Your work-around did the trick.
However, having the grouping handled internally might be a better solution. After I applied filters to the flight tracks based on runway usage, the NaN row insertion needs to be re-applied. Perhaps modifying the row of NaN to retain the Msn primary key is needed in the data preparation step so that it can follow through subsequent filtering steps. This should be straightforward to implement.
Thanks!

Followed the same procedure to visualize street lines as opposed to street center points. It worked when working with the entire dataset, though when filtering for just a segment of the data (e.g. time of day), now some lines are connected and out of order, as seen below. Any thoughts on why this might be occurring?  (The image "should" represent street lines)

Your slice of the data did not preserve the row of NaN's which was introduced in the original split. You need to reapply the splitting routine. The example split_flight code doesn't scale well with large numbers of flight tracks.
Alternatively, a faster approach would be to find the index of the last element using pd.groupby('some_key').last() and replace your plotting coordinates (Lat/Lng) with NaN's by finding it's index; however, this means the last segment is lost.
last_pt_idx = tp_filtered[['Msn', 'index']].groupby('Msn').last()['index']
tp_filtered.loc[last_pt_idx,['Lng','Lat', 'Alt']]= np.NaN

You can compensate by padding one extra point in your time buffer query by incrementing the selection range by 1 (add additional logic). Also, in your original trajectory splitting routine, you will need to replicate the last point and replace the Lat/Lng with NaN's for plotting purposes. The time should not be NaN since you want to query it within a numeric range.


Customize layer control position and solve bug-changing layer

Hello I'm using the leaflet directive to make the google map and I have a problem to position the control layers I researched a lot and found the map.zoomControl.setPosition code ('bottomleft'); positioning the zoom control more get nothing to do the same with the layers and I am with this view with the code below (screen 1) and how I want to stay in (screen 2)
Another problem is that the control is over the issue bar that is solved when I add the class class = "has-header" in  </ leaflet> but when I click to change the map to satellite it negates that class and returns to run out of the top margin (screen 3)
I thank those who could help follows the code below;

MapController.js

angular.extend($scope, {
                center: {
                    lat:mylat,
                    lng:mylng,
                    zoom: 14
                },
                layers: {
                    baselayers: {
			   googleRoadmap: {
                            name: 'Map',
                            layerType: 'ROADMAP',
                            type: 'google'
                        },
                        googleHybrid: {
	                        name: 'Satelite',
	                        layerType: 'HYBRID',
	                        type: 'google'
	                    }
                    },
					options: {
					position: 'bottomleft'
				}
                },
				markers: [],
				events: {}
			});

		  leafletData.getMap().then(function(map) {
		   map.zoomControl.setPosition('bottomleft');
		   //control position - allowed: 'topleft', 'topright', 'bottomleft', 'bottomright'
		  });

Map.html
<ion-view title="Map" ng-controller="MapController" id="map" can-swipe-back="false">

	<ion-nav-bar class="bar-positive">
      <ion-nav-back-button>
      </ion-nav-back-button>
    </ion-nav-bar>

	<ion-nav-buttons side="left">
    <button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
	</ion-nav-buttons>

    <ion-nav-buttons side="right">
    <button ng-click="locate();" class="button button-icon2 icon ln-magnifier ico-ajst"></button>
	</ion-nav-buttons>

	<leaflet lf-center="center"  layers="layers" markers="markers" width="100%" height="100%" class="has-header"></leaflet>

	 <ion-tabs class="tabs-icon-top tabs-positive">

        <ion-tab title="locate" icon="ln-locate" ng-click="locate();">
          <ion-nav-view name="about-tab"></ion-nav-view>
        </ion-tab>

      </ion-tabs>

</ion-view>

I managed to solve with some css below:
.leaflet-control-container {
display: block;
}
.leaflet-control-zoom {
left: 5px;
top: 50px;
}
.leaflet-control-layers {
left: 5px;
top: 50px;
}
.leaflet-touch .leaflet-control-attribution {
display: none;
}


[Question]: when searching the best sparse attention type ,why to caculate the score just pick the 2500 cols?

Describe the issue
I hope this messages find u well!
def stream_llm(vertical_size, slash_size):
q_len = q.shape[2]
    mask = torch.triu(torch.tril(torch.ones(q_len, q_len), 0), -slash_size).to(q)
    mask[:,:vertical_size] = 1
    mask = mask.unsqueeze(0).unsqueeze(1)

    est_attn = torch.tril(mask)
    attn_weights_x = attn_weights * est_attn
    res3 = attn_weights_x[:,:,2500:].sum(-1).mean(-1).squeeze().float().detach().cpu().numpy()
    return res3

why this only pick the 2500: columns? If the head is A-shape, this may lead to mis-classification to V-S type?

Hi @unicorneeee, thanks for your interest in MInference.
The value 2500 here is used to exclude the dense upper triangular part of the lower triangle, which doesn’t affect any results.

Thanks for your answering,! I wander why pick the 2500? Because I draw the attn_weights on the top 30000 tokens, and I notice that there isn't show the dense part in the top 2500, the attn_weights distribute very discrete. Is there any experiment to show pick the 2500 is the best number?


Update to the June 2018 GraphQL spec

A new spec is out (https://github.com/facebook/graphql/releases/tag/June2018). It looks like a lot of our error handling questions / behaviors have been clarified among other things.

We should come up with a checklist of what we have to implement.

https://github.com/graphql-rust/juniper/pull/219 switched from data to extensions for custom error data.

@LegNeato I think it would be useful to have a test suite based on https://github.com/graphql-cats/graphql-cats. That project seems to cover many scenario's, I think also beyond the June 2018 spec, but at least then we have an idea of what is supported and what is not.
I'm not sure what the implementation would be exactly (a simple dynamic schema executor based on the scenarios'?) but the project is useful at least as a point of reference :)

@dvic I already made an issue for this a while ago.
https://github.com/graphql-rust/juniper/issues/245

@LegNeato Ah nice, next time I'll make sure to do a search ;) Maybe I have this weekend time to have a look at it to see what we can do with it.

@LegNeato I guess this has been fixed in #631?

Yes, this should be fixed.


Reordering of favorites

Is your feature request related to a problem? Please describe
Have long been annoyed at the way favorite tags are handled and only ever list in the order of when you added them. This makes for great headaches when moving between devices or trying to sync.
Describe the solution you'd like
A way to properly organise the favorite tags by things such as: Alphabetical, most recently added, etc.
A way to export all current favourites/blacklists would be greatly appreciated as well. (Currently only settings is copied for the android app).

Are you talking about Android? Because on desktop there's a dropdown to sort the favorites:

Are you talking about Android?  My apologies, I should have known better.
Yes, this issue is specifically for the Android version.
Something like three dots in the upper right corner could work as an access to a sorting menu.


Bit of cleanup for a test

Code Climate declared this the worst file in -core, so I've cleaned it up a bit. Notably, I've added a docstring for every test and moved a great deal of duplicated code into a single helper function.
I also added a file to instruct code climate to ignore document files, as those are more or less generated.

Looks good to me.


Add Claude 3.5 Haiku Model Support and Update Dependencies

PR Type
Dependencies, Enhancement

Description

Added support for the new Claude 3.5 Haiku model across different providers
Updated multiple project dependencies to their latest versions
Expanded model token configurations for improved compatibility

Changes walkthrough
Relevant filesDependencies

__init__.pyAdd Claude 3.5 Haiku Model Token Configurations

pr_agent/algo/init.py
Added support for new Claude 3.5 Haiku model with token limit of 100,000  Included new model variants for Vertex AI and Anthropic providers

+2/-0

requirements.txtUpdate Project Dependencies to Latest Versions

requirements.txt
Upgraded Anthropic library from version 0.37.1 to 0.39.0  Updated LiteLLM from version 1.50.2 to 1.52.0  Updated OpenAI library from version 1.52.1 to 1.54.1  Updated Tiktoken from version 0.7.0 to 0.8.0

+4/-4

🌴 🎆 I have synchronized the PR description with the latest commit (https://github.com/Codium-ai/pr-agent/commit/c5ed2f040a086c16bf34fc6997dbe24592819ccb).

👑 🌔 The PR description has been modified to accurately represent the latest commit (https://github.com/Codium-ai/pr-agent/commit/04496f9b0eb2a246ef86ebcb43c228a2525c7524).

PR Analysis 🌗
🌖 🌓 Here are some essential notes to support our PR review process:

⏰  Estimated effort to review 2, because the changes primarily involve adding new model support and updating dependencies, which are straightforward but require verification of compatibility and testing.🥇  Score 85, because the PR effectively adds new model support and updates dependencies, but it lacks accompanying tests to ensure the new configurations work as expected.🧪  No relevant tests🔒  No security concerns identified 🌆 Recommended focus areas for review
Dependency ArrayEnsure that the new model 'vertex_ai/claude-3-5-haiku@20241022' is correctly integrated and compatible with existing configurations.
Dependency ArrayVerify the addition of 'anthropic/claude-3-5-haiku-20241022' for compatibility and correctness.
Dependency UpdateConfirm that the updated dependencies do not introduce any breaking changes or compatibility issues.

I tested it locally several times, and it works as expected.


public HTTP2StreamMultiplexer.SendableView

Motivation:
Bench1Conn10kRequests performance tester incorrectly used a NIOLoopBound to access the HTTP2StreamMultiplexer to create streams.
Modifications:
Make HTTP2StreamMultiplexer.SendableView public and use it to pass the multiplexer into the event loop execute.
Result:

HTTP2StreamMultiplexer.SendableView is public
Bench1Conn10kRequests are not broken

https://github.com/apple/swift-nio-http2/pull/434


Early stop jobs that are over configured

There are times when users who are not familiar with the cluster's max capability, and they submit jobs that over requiring the resources. i.e. A cluster with only 4 GPU nodes, a user submitted a job need 8 GPU per node. this happens to memory and cpu core as well.
These jobs are failure by its nature, but PAI is still trying to fulfill the resource needs today, which causes other normal jobs waiting and on hold till these jobs are failed (by time out).
We should figure out approaches to do this more gracefully. i.e. avoid users from submitting these jobs, or let the system has the capability to early stop these jobs.

should be fixed in pure k8s version.

Fixed by https://github.com/microsoft/pai/pull/3812


Running average for smooth PVOutput graphs is broken

The running average for smooth PVOutput graphs is broken since the update from version 1.2.1 to 1.2.2. The resolution for produced energy is back to 0.1 kWh, so on a cloudy day it will report the same value multiple times and then increment with 0.1.
Before the update this worked correctly, but version 1.2.1 didn’t reset the produced energy back to 0 after midnight…
I am running gw2pvo version 1.2.2 on a RPi3. Both the script and PVOutput are set to a 5-minute interval.
Example:
https://www.pvoutput.org/intraday.jsp?id=77613&sid=68817

This seems to be a duplicate of #20, so I close this issue.