can't login via iframe in chrome (working with firefox)

A clear and concise description of what the bug is.
Added iframe to my application to login with iframe
what you expected to happen.
the login should be process and move to welcome dashboard page (Working with Firefox)
what actually happens.
nothing. sames like the submit request is not reaching the server from the iframe
If applicable, add screenshots to help explain your problem.
None
How to reproduce the bug
1- create i frame in simple html page
2- try to open the page and login only with chrome .. working normal in firefox
3- nothing happen even if the password is not correct
Changes in Config.py :
SESSION_COOKIE_NAME = 'supeset_session'
SESSION_COOKIE_HTTPONLY = False  # Prevent cookie from being read by frontend JS?
SESSION_COOKIE_SECURE = False  # Prevent cookie from being transmitted over non-tls?
SESSION_COOKIE_SAMESITE = 'None'  # One of [None, 'Lax', 'Strict']
WTF_CSRF_ENABLED = False
PUBLIC_ROLE_LIKE_GAMMA = True
DEFAULT_HTTP_HEADERS: Dict[str, Any] = {}
OVERRIDE_HTTP_HEADERS: Dict[str, Any] = {}
HTTP_HEADERS: Dict[str, Any] = {}
Env :
CentOS server
Iframe and parent application have different domains and i don't use any reverse proxy
(please complete the following information):

superset version: 0.37.2
python version: 3.6
node.js version: 6.17.1

Checklist
Make sure to follow these steps before submitting your issue - thank you!

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

Additional context
If the iframe and the parent application are using the same domain, it works in chrome

the issue is rooted here - https://blog.heroku.com/chrome-changes-samesite-cookie
disabling 'SameSite by default cookies' using chrome://flags on Chrome browser is a temporary solution.

Yes, it was samesite problem and with samesite cookie you have to enable ssl 👍

HI @ronozoro what changes needed to be done to resolve above issue


Update template

Update to AArnott/Library.Template@c2b0252d

@AArnott I'm having a bit of trouble applying the template changes. Is there something I missed?

Yes: The build is failing because it can't find VS 2019. Looking at that step in your yaml reveals you have a hard-coded path in there that you'll need to update for the new VS version (2022) that you're now consuming.
Also, I see you still have the expand-template.yml file, which you can delete.


WIP: Refactoring

[x] Drop ancient python/django supports
[x] Remove code for backward compatibilities
[ ] Remove handlers and directly use logics

Coverage decreased (-96.8%) to 0.0% when pulling 138b245b7325b1246ed023ba25f9ac7b532553b4 on refactoring into bef196dc61acf989524f8606516b974ed846d574 on master.

Coverage decreased (-96.8%) to 0.0% when pulling 7162d768a7d30ba9c4d2c6efd7c609d6a43bf3f9 on refactoring into 70d9cbd3412ed19fb31740804d0f587b9b515550 on master.

Coverage decreased (-96.8%) to 0.0% when pulling 272afd409f5c939ab718aad661dae05ce1f53e23 on refactoring into 70d9cbd3412ed19fb31740804d0f587b9b515550 on master.

Coverage decreased (-96.8%) to 0.0% when pulling b975698f6e3b56ab201dc7b879347a9316a5fa80 on refactoring into 70d9cbd3412ed19fb31740804d0f587b9b515550 on master.

Coverage decreased (-2.2%) to 94.569% when pulling 0dc8aeb5ee4a7c5fe6faecfe0f5f1a5a4d9f3b87 on refactoring into 70d9cbd3412ed19fb31740804d0f587b9b515550 on master.

Coverage increased (+0.4%) to 97.233% when pulling d922c4f4eeeb2020f1989431693c5ab0ec99763b on refactoring into 70d9cbd3412ed19fb31740804d0f587b9b515550 on master.

Coverage increased (+0.4%) to 97.233% when pulling 0bb010faf7fde25d145efda570b8be3046533519 on refactoring into 70d9cbd3412ed19fb31740804d0f587b9b515550 on master.


Documentation Request: How to determine total resource size

Hi!  I can think of a few sites worth adding, but I would need to test them first, and I'm not clear on how to easily make a determination of the total size of resources for a page.
So my ask would be for documentation to be added to the README so that myself and others can easily find out the total size of resources downloaded from a website.
Thanks!
-- Doug

I would also like to know how to count "total" here. Does this mean the total amount of data downloaded by the initial request? What about dynamically loaded content after user interaction?


Running multiple instances of CBC in parallel [Java]

Hi!
I'm trying to run multiple instances of MPSolver / CBC_MIXED_INTEGER_PROGRAMMING concurrently on a single JVM. It works, but the work load doesn't seem to be distributed across multiple cores. On a 16 core machine CPU utilization looks worse than running a single instance of MPSolver.
I use OR-TOOLS v 6.10 on Windows built from src with default flags.
Can you advise?
Best regards
Slawomir

Thanks for response! I gave it plenty of memory and it's 16 physical cores. I'm just using fixed thread pool in Java and I did not put any threading settings into or-tools. Looking at CPU utilization I thought there is some synchronization happening down the line. I will investigate more.

I have tested on 2 cases:

Test case. DietMIP example (small problem) with CBC. I run 50_000 problems in parallel using Executors.newFixedThreadPool. If solver.delete() is called after solver.solve() parallel performance is great. I didn't use solver.delete() before, in which case CPU utilization is high at the beginning and then radically drops. It doesn't seem to be memory related as both jvm and system show less than 50% of physical memory utilized. Using more threads than physical cores doesn't seem to be a significant problem in this case.

Real case: problem has 18_502 binary variables, 528 continuous variables, 288 constraints. I'm running about 20 of those in parallel. I'm calling solver.delete() after each solver.solve(). With 3 concurrent jobs I can see 3 cores fully utilized as I would expect. With more than 3 concurrent jobs I can see more cores utilized at a low percentage resulting in overall throughput close to single-threaded. I look at jvm and system memory utilization and both are below 50%.

Case 1 running fine and 2 having problems makes me think that the issue is with CLP.
I tried to build or-tools with GLPK 4.65 precompiled binaries to test that. I followed
https://developers.google.com/optimization/install/java/source_windows
https://developers.google.com/optimization/support/release_notes#glpk-support
http://or-tools.blogspot.com/2017/03/linking-glpk-with-or-tools-on-unix.html
but I'm getting
glpk_interface.cc
.\ortools\linear_solver\glpk_interface.cc(38): fatal error C1083: Cannot open
include file: 'glpk.h': No such file or directory
I'd rather avoid building GLPK from source. Any hints?
Best regards!
Slawomir

Thanks a lot for your help!
Looks like I didn't install GLPK correctly. I will build it first and try again.
I just added
WINDOWS_GLPK_DIR=C:\dev\glpk-4.65\w64
to Makefile.local in or-tools
The directory above contains all pre-compiled GLPK 4.65 binaries from
http://winglpk.sourceforge.net/
that contain .lib, but not glpk.h. Looking at tools\make print-CFLAGS the folder I tried to use doesn't contain the expected structure of lib, include.
C:\dev\or-tools-6.10>tools\make print-CFLAGS
'python' is not recognized as an internal or external command,
operable program or batch file.
CFLAGS = -nologo  /D__WIN32__ /DPSAPI_VERSION=1 /DNOMINMAX /O2 -DNDEBUG /I. /Ior
tools/gen /I"dependencies\install\include" /I"dependencies\install\include"
/DGFLAGS_DLL_DECL= /DGFLAGS_DLL_DECLARE_FLAG= /DGFLAGS_DLL_DEFINE_FLAG= /I"depen
dencies\install\include" /DGOOGLE_GLOG_DLL_DECL= /I"dependencies\install\inc
lude" /I"dependencies\install\include" /I"dependencies\install\include\coin
" /I"dependencies\install\include" /I"dependencies\install\include\coin" /I
"dependencies\install\include" /I"dependencies\install\include\coin" /DUSE_
CLP /I"dependencies\install\include" /I"dependencies\install\include\coin"
/I"dependencies\install\include" /I"dependencies\install\include\coin" /DUS
E_CBC /DUSE_GLOP /DUSE_BOP /IC:\dev\glpk-4.65\w64\include /DUSE_GLPK
full trace when I try to build or-tools with GLPK
C:\dev\or-tools-6.10>tools\make java
'python' is not recognized as an internal or external command,
operable program or batch file.
cl /EHsc /MD /nologo -nologo  /D__WIN32__ /DPSAPI_VERSION=1 /DNOMINMAX /O2 -DNDE
BUG /I. /Iortools/gen /I"dependencies\install\include" /I"dependencies\instal
l\include" /DGFLAGS_DLL_DECL= /DGFLAGS_DLL_DECLARE_FLAG= /DGFLAGS_DLL_DEFINE_FL
AG= /I"dependencies\install\include" /DGOOGLE_GLOG_DLL_DECL= /I"dependencies\
install\include" /I"dependencies\install\include" /I"dependencies\install\i
nclude\coin" /I"dependencies\install\include" /I"dependencies\install\inclu
de\coin" /I"dependencies\install\include" /I"dependencies\install\include\
coin" /DUSE_CLP /I"dependencies\install\include" /I"dependencies\install\inc
lude\coin" /I"dependencies\install\include" /I"dependencies\install\include
\coin" /DUSE_CBC /DUSE_GLOP /DUSE_BOP /IC:\dev\glpk-4.65\w64\include /DUSE_GLP
K    -c .\ortools\linear_solver\glpk_interface.cc /Foobjs\linear_solver\glp
k_interface.obj
glpk_interface.cc
.\ortools\linear_solver\glpk_interface.cc(38): fatal error C1083: Cannot open
include file: 'glpk.h': No such file or directory
tools\make: *** [objs/linear_solver/glpk_interface.obj] Error 2
Best regards!
Slawomir

I built or-tools with GLPK included. I tested again with my real-world problem - 18_502 binary variables, 528 continuous variables, 288 constraints, ~20 of those run in parallel.

With CBC_MIXED_INTEGER_PROGRAMMING I see low CPU utilization (~8%) across multiple cores. I monitored jvisualvm and taskmgr. I see no GC activity to speak of and memory utilization in both JVM and system is well below 50%.

With GLPK_MIXED_INTEGER_PROGRAMMING I see full CPU utilization, however the time to solution seems orders of magnitude slower than CBC_MIXED_INTEGER_PROGRAMMING. Memory consumption and GC are just like 1.

I would like to use CBC_MIXED_INTEGER_PROGRAMMING in parallel mode. Could it be that each CBC instance attempts their own multi-threaded execution and they clash causing slowness? Do you think it might help to include CBC built in single-threaded mode? Each CBC instance should then run in it's own thread? If this is indeed a memory problem could you advice what would be the way to monitor and confirm it?
Best regards
Slawomir

Just in case it helps someone - to build or tools with GLPK I carried out following steps:

Download GLPK source.
Build using w64\Build_GLPK_with_VC14.bat -> this will create glpk.lib. I used Visual Studio 2015.
Create a directory containing:
a) lib\glpk.lib
b) include\glpk.h
The rest as per or-tools build instructions - include WINDOWS_GLPK_DIR = glpk_dir in makefile.local

You can.
Not sure it will improve performance.
Anyway, if you use SetNumThreads() on the linear_solver using CBC, it does pass the right parameters to CBC.
And we do compile with CBC support. So if it does use all threads, it is a CBC bug.


"Lucky" cookie warning/caution for buildings/upgrades does not account for the increase in the "Lucky" minimum due to purchase

I've noticed a few times after purchasing an upgrade or a building that did not have the warning/caution about falling below the level for the max reward for a Lucky cookie, that after purchasing the item, I fall below the maximum anyway. This is because purchasing buildings and upgrades raises the level for cookies required for a max Lucky reward. The warning/caution boxes should account for this and raise the items' deficits accordingly.

Actually, the more efficient way is the default way, but there is an option to change it. under Calculations

Ah, I didn't realize that's what that was. My mistake!


Trouble installing package serpapi in OS

Hello, I'm having trouble installing the package sperapi, I am on MacOS, using Python3.9
(base) surfer-172-29-61-245-hotspot:~ esthersong$ python --version
Python 3.9.13

(base) surfer-172-29-61-245-hotspot:~ esthersong$ pip3 install serpapi
ERROR: Could not find a version that satisfies the requirement serpapi (from versions: none)
ERROR: No matching distribution found for serpapi

(base) surfer-172-29-61-245-hotspot:~ esthersong$ pip --version
pip 22.2.2 from /Users/esthersong/opt/anaconda3/lib/python3.9/site-packages/pip (python 3.9)

I tried both pip install serpapi-python & pip3 install serpapi-python but all of them do not work?

Installing google-search-results worked, not serpapi

May you try again?
$ python3 --version
Python 3.7.3

$ pip3 install serpapi
Collecting serpapi
  Downloading https://files.pythonhosted.org/packages/62/3a/298614aa9b25a47e76796afa643d7837d43db2e44884145f85371b974124/serpapi-0.1.2-py2.py3-none-any.whl
Requirement already satisfied: requests in /home/runner/.local/lib/python3.7/site-packages (from serpapi) (2.28.1)
Requirement already satisfied: idna<4,>=2.5 in /home/runner/.local/lib/python3.7/site-packages (from requests->serpapi) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/runner/.local/lib/python3.7/site-packages (from requests->serpapi) (1.26.9)
Requirement already satisfied: charset-normalizer<3,>=2 in /home/runner/.local/lib/python3.7/site-packages (from requests->serpapi) (2.1.1)
Requirement already satisfied: certifi>=2017.4.17 in /home/runner/.local/lib/python3.7/site-packages (from requests->serpapi) (2022.9.24)
Installing collected packages: serpapi
Successfully installed serpapi-0.1.2


[Cache] cache control header handling

currently, the CachePlugin does not cache when the no-store or private directive is active. however, we ignore no-cache. should we respect that one as well?
btw, not caching on the private header might be wrong. "private" means a shared proxy may not cache this. it depends on the scenario whether our client is a shared "proxy" or only for a single end user. (api calls with an api username would be single user and caching "private" should be fine).
maybe we should add an option to specify which headers are considered uncacheble, defaulting to all 3 of private, no-cache and no-store. users could then overwrite the default list with their things, possibly even work around no-store from a faulty server.

Maybe having 2 plugins would be best for that : a CacheBrowserPlugin, CacheProxyPlugin, where the defaults are corectly set for each use case ?

they would simply differ by what default settings they propose? i think this would make sense for clarity, the roles are different and you need to understand rather a lot of caching if you need to set the right options manually.

I also think the code would be different, really not the same purpose and options for this two behavior, for me the actual implementation is closer to a Browser One.
And like you said, would be best to have a functional view before a technical one for each of the plugin we propose, so user would know which plugin for its use case without learning all the different options.

I also think the code would be different, really not the same purpose
and options for this two behavior, for me the actual implementation is
closer to a Browser One.

not sure how much differences there really are. maybe we can at least
have an abstract base class for common functionality.

maybe we can at least
have an abstract base class for common functionality.

Sure, at least caching and restoring the response with stream is a bit special and can be abstracted, maybe we can provide a base cache class where we only have to write the cache decision logic and this may be used by the CacheStalePlugin (not sure if possible)


Subgroups with long names don't break our grid

When subgroups had names that span two lines, it used to break our hand-woven fragile grid.
That's not the case anymore.
Addresses:  https://trello.com/c/sflS0NpH/248-layout-issues-on-team-pages

I think I'll have to take your word for it!

Merged.


Need some help...

I have knowledge of HTML and CSS, but very little regarding API, REST, etc. etc. Is there a more comprehensive resource anyone can point me to which explains the process of implementing PayPal Advanced Checkout step-by-step (in very small steps)? The documentation on PayPal's site is vague and incomplete. As is the documentation within the code posted here. I searched all over the internet, and of course found nothing. I can't be the only one with this problem; I'm sure many other people are attempting to implement this without spending a fortune on a proper development team. Thanks in advance for any help! P.S. I was able to create a page where the requisite customer entry spaces, but the CC areas are not clickable to populate and enter info.

Apologies for such a long time waiting for a response, @HelloAlHere. We've got an updated YouTube video on how to complete this. Hope this helps in the future.


[Codelab Issue] Testing Codelab 5.#, Step # - Issue description

Describe the problem
Typo catched
("u8sually")
In which lesson and step of the codelab can this issue be found?
5. Task: Running tests,
Step 2: Make the test fail
How to reproduce?
you can just delete typo "8" in "u8sually"
Versions

What version of Android Studio are you using?
4.1 I guess

Additional information
Add any other context about the problem here.
Thank you guys for developing tools and enlightening us
codelab: advanced-android-kotlin

#160


Update from 'substitutions 2'

A whole bunch more substitutions were added in this comic.

See open PRs #34 and #36, and merged https://github.com/Posnet/xkcd-substitutions/pull/35.

#35 isn't merged, I just noticed it was a duplicate of #34. I don't know what #36 is about, looks like it's just repeating itself repeating itself.
Upon further investigation, it looks like #34 isn't actually a direct update from the new substitutions (aweful?), but at any rate, we now have 4 issues/PRs for the same thing. It's the most activity this repo has seen in a long while. :-p

I fixed #34, didn't catch the spelling mistake that I put in there (and copy pasted)
#36 is the same as #34 except that there is a reference to "XKCD 1625" in the list.  I don't think that is really needed since none of the other updates have it called out (not that it may be a good idea).
#38 is another copy... of a copy... of a copy...

#34 was merged, this can be closed

#34 was merged, this can be closed


Test API endpoints (shopping api)

Set up insomnia requests to test api endpoints

Tested product and category endpoints using insomnia


tf.print usage throws SyntaxError: invalid syntax

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): n/a
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: n/a
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.0.0
Python version: 2.7 (Ubuntu 18.04 system default + latest pip from get-pip.py)
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: n/a
GPU model and memory: n/a

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
Wile playing with tf.print as described in docs, the following error happens:
$ python
Python 2.7.15+ (default, Oct  7 2019, 17:39:04)
[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> import sys
>>> tensor = tf.range(10)
>>> tf.print(tensor, output_stream=sys.stderr)
  File "<stdin>", line 1
    tf.print(tensor, output_stream=sys.stderr)
           ^
SyntaxError: invalid syntax
>>>

Describe the expected behavior
tf.print should print out values as was specified in https://www.tensorflow.org/api_docs/python/tf/print
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
import tensorflow as tf
import sys
tensor = tf.range(10)
tf.print(tensor, output_stream=sys.stderr)

Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

@yongtang
You can add from __future__ import print_function before your code then you will not see the syntax error.Please, find the gist here..Thanks!

@ravikyram Yes I missed from __future__ import print_function line. 👍 Thanks for the help!


CollisionShape not getting detected by RayCast

Godot version
v3.4.stable.official [206ba70f4]
System information
Windows 10, GLES3, Intel Core i3 7100
Issue description
This might just be a freak incident, but I want to make sure that this is reported just in case this is an actual bug.
There is an FPS controller and 2 RigidBodies in there that are supposed to interact with the player. It seems that WeaponA is not getting collided by the raycast at all but WeaponB is.
A helper and I even tried to see what was happening and ended up without any solutions.
I have provided a google link for the project entirely, apologies since it will print out per frame due to the checks we did to see the issue.
This is my first issue ever sent so there was probably a lot of protocol that I just broke, but I want to make sure to get this to the devs in case this is an actual bug that needs to be fixed.
Thank you for everything and this amazing engine that you brought to us, and I can't wait for the next update :)
Steps to reproduce

I finished the RigidBody scene (WeaponB)
I duplicated to create WeaponA and make the material unique to give a different albedo
I set up the code the same way

Minimal reproduction project
https://drive.google.com/drive/folders/1cRCcQFpGmGYh3W6D6JEGfIzlK5DWBzPU?usp=sharing

@Calinou Tested, it's user error. I don't see any in-engine bug in here.
@MilkAndBanana01 Detection works fine, it's something with your logic. I removed your print and added one like this:
func _physics_process(delta):
	print(reach.get_collider().name if reach.is_colliding() else "---")
	...

Result:

And indeed your logic is the issue:
func detectEquip():
	if reach.is_colliding():
		if reach.get_collider().get_name() == "WeaponA":
			weaponToSpawn = weaponAHR.instance()
		if reach.get_collider().get_name() == "WeaponB":
			weaponToSpawn = weaponBHR.instance()
		else:
			weaponToSpawn = null
	else:
		weaponToSpawn = null

You wrote if...if...else but you're expecting it to work like if...elif...else.
If you're not sure whether you're facing an in-engine bug you can ask for help in other Community channels (like Q&A/Discord/Reddit) in the first place. This is a bugtracker, it's not a place for "help me with my code" stuff. :wink:
Also please don't ignore the errors in the console/debugger. Specifically in your case instead of:
if node.get_child(0) != null:
	var first_child = node.get_child(0)
	...

you can write:
if node.get_child_count() > 0:
	var first_child = node.get_child(0)
	...

to not produce an error.

Closing per @kleonc's comment.


Automate PR reviews

Need a way to add testing of some sort and automate the PR review process for the tutorial.

Proposal is here: https://github.com/carbon-design-system/carbon-website/issues/986

Matt Rosno  10:54
there's two parts to automating this. 1) PR CI passing tests -> through a GH action or something we add a label saying the step was successfully completed and we comment and close. 2) the whole survey gizmo part and acclaim part.
10:54
the first part, the part that you do, will be the biggest time saver.

Alison Joseph  10:54 AM
so many PRs

Matt Rosno  10:54 AM
because if looking for a label, it's easy to search GH by author and that label to verify they deserve the badge.

Alison Joseph  10:55 AM
and yep for sure, does EDT fully automate their badging?

Matt Rosno  10:55 AM
ya, and for the second part, we can eventually get there. i already have acclaim API access for carbon insights.
10:59
and actually, we could use a serverless function for the second part. a form we host that has inputs for GH username, which tutorial, and their email address. in the lambda function we hit GH API to look for their PRs with the completion labels. if all good, pass that email to acclaim API or return an error with what steps are missing and to apply again once all steps are done.
11:00
acclaim returns error if recipient already has badge, so all good there. technically, person A could apply for badge on person B's behalf, but all good because once issued a badge, the recipient has to accept it so if not accepted, no harm no fowl.
11:00
all in all, no database needed to track tutorial completion which is great

Phase 1, PR review

Duplicate carbon-tutorial repo so there's a sandbox repo for development
Add CI to the repo so every PR runs tests
Write tests that fail at the start of each tutorial step, so completion of the step results in passing tests
Write a GH action that fires on a new PR, if CI passes, add a label, comment, and close the PR
Update tutorial instructions to reflect new process

Phase 2, badge application

New form that asks for person's email address, GH username, submits to a serverless function that 1) hits GH API and looks for completion of all tutorial steps and if all looks good, 2) issues the badge through Acclaim's API

Phase 2 - in that form that we put in the wrapping up page, as we gather the person's email and GH username, maybe we can make sure that email is associated with that GH account through GH API?

Proof of Concept for Phase 1 can be seen here: https://github.com/tw15egan/tutorial-tester/pull/13


Added alerts for missing/bad IMERG files.

Description
Added alert files for missing or bad IMERG files.
Also extended alert messages to 255, and lengthened maximum length of alert filename.

@emkemp - This compiles with strict checks with the intel and the gnu compilers.

Apologies, I added a late commit to handle problems with rain gage (preobs) files, at the request of project management.  I am now "pens down."

Compiles with the Cray compilers.


How to set args like .launch({ args: [] }) ?

How to set args like .launch({ args: [] }) ? i dont see if this package support that

 this.cluster = await Cluster.launch({       puppeteerOptions: {         args: []       }     });

 this.cluster = await Cluster.launch({       puppeteerOptions: {         args: []       }     });

ok thanks i will try


distinguish with unaligned region and deletion region

Hi, @HuiyangYu
Thanks for this super-fast tool. Is it possible to distinguish between the unaligned region (not in PAF) and deletion (D in the CIGAR) in the whole genome alignment?

Thank you very much for your appreciation of PanDepth. However, I regret to inform you that our tools may not directly meet your requirements. I am unsure whether you are looking for deletion type structural variants or have other specific needs. If it is the former, you may consider using tools such as Manta (short reads), cuteSV (long reads), paftools (genome), among others. For specialized requirements, you can temporarily utilize the ' -w ' parameter in PanDepth and set it to 50, 100, or other window size (bp). Regions with the coverage of 0 indicate unaligned region or deletion.

No, I don't want to call variants from PAF. But I am curious what's the exact meaning of coverage 0 in the PAF.  I think I could go back to the origanl PAF and use their coordinate as aligned region. If one deletion in the CIGAR, then PanDepth counts this region as 0, right?

The coverage of 0 indicates that this genomic region lacks any read/genome aligned, or that all reads/genome in this region are completely covered by a deletion.

Thank you for the clarification.


Add optimization option

Optimization is true by default. When set to false the routing results are more accurate however a tad slower.

Which optimization is this? Using a different algorithm? Do we want people to be able to choose this? I suppose accuracy, if the algorithm works correctly, is within rounding error limits which means irrelevant to any practical application, thus no need for an option.


Add Android Annotations Support.

https://github.com/excilys/androidannotations/wiki
http://androidannotations.org/

androidannotations - is requires apt http://docs.oracle.com/javase/7/docs/technotes/guides/apt/
It deprecated in Java 7
And it increase compilation time
After removing apt usage from gradle my big project compiles for 5 seconds
Сompilation time with apt takes ~1 minute

You should use them instead of Activities, Fragments etc
:)

ButterKnife is better. It not using apt in 7.x.x versions
I was using it after androidannotations
But ButterKnife not works with layouts in android library modules
Your plugin is better solution :)
And it works in all cases! :+1: :)

Thanks for the comments.
If I understand it correctly, your opinion is that I should not implement 'code generation' for Android Annotations?


fix add pattern for partial splits when removing old duckb index files

fix for https://github.com/huggingface/datasets-server/issues/2344

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

Comparison is base (9ba6ec8) 85.88% compared to head (41d9b43) 92.75%.
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2346      +/-   ##
==========================================
+ Coverage   85.88%   92.75%   +6.87%
==========================================
  Files          11       91      +80
  Lines         680     6075    +5395
==========================================
+ Hits          584     5635    +5051
- Misses         96      440     +344

Flag
Coverage Δ

services_api
?

services_worker
92.75% <100.00%> (?)

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.


Implement branch coverage on chosen functions

Manual instrumentation of branch coverage for the following functions.
This is done by writing to the file data/branch-coverage with 'a' (append) flag enabled.
Before function starts, write <function-name>:-n, where n is the highest number of a branch.
Each branch index starts with 1..., i.e. 1 is the lowest number.
Each time testing is run, the file is truncated.
Make sure to close the file before return or raising an error.

[x] maximum_flow_bfs - Zakaria
[ ] delete_fixup - Zakaria
[ ] edmonds_karp
[ ] fix_insert
[ ] sort_diagonally - Glacier
[ ] knuth_morris_pratt - Einar

One thing. If we encounter if-statements without else sections, I think we need to add the else section to keep track of those branches. For example:
if pattern[i] == pattern[j]:
        branches.add(3)
        j += 1
        pi[i] = j
else:
        branches.add(4)

Agree?

One thing. If we encounter if-statements without else sections, I think we need to add the else section to keep track of those branches. For example:
if pattern[i] == pattern[j]:
        branches.add(3)
        j += 1
        pi[i] = j
else:
        branches.add(4)

Agree?

TA said it was necessary to add the else section.


Bug : Missing Submit Button for Email Input Field

Description:
The email input field in the contact section lacks a visible submit button for users to complete their subscription or signup process. While there is an arrow icon, its functionality and purpose may not be clear to all users. For a better user experience, a clearly labeled Submit button should be added alongside the input field.
Proposed Solution:

Add a Visible Submit Button:
Introduce a standard submit button with a clear label like "Submit" or "Sign Up" next to the email input field to ensure users understand how to complete their email subscription.

Enhanced Button Design:
Style the button to be more prominent, using appropriate colors, hover effects, and font size to improve visibility and usability.
Accessibility Improvements:
Ensure that the button is accessible for users with disabilities, such as those using screen readers, by providing appropriate aria-labels and making it keyboard-navigable.
Screenshot of Current UI

Confirmation Feedback:
After the user submits their email, provide a clear confirmation message (e.g., “You’ve been subscribed!”) to enhance the overall user experience.

Can I use the Sonner library for toast message for confirmation feedback?

you can assign this task to me

@Saurabhchaudhary9799 you can start working on this, add button and once button is clicked, try to implement email functionality that will send email to the registered email


[Fix] Add null checking in concatenation

Hi @othmanekahtal 👋.
Sorry for the late reply.
Thanks for the contribution, but as of today this code is already taken into account by the resolution of #64 by @giero .
So I'm closing this PR


Add user-level email address visibility setting.

This PR adds user-level email address visibility setting (and also the realm-level default for new users) and removes the existing realm setting.
This PR replaces #20102 since it had a lot of clutter and was difficult to review.
Commits and changes are same.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Left one comment above. A couple of more points -

We still show fake emails in search input box. There was some discussion to instead show name if the real email is not visible and I tried doing it but it resulted in some complex changes (#20282 ). There is no problem in typeaheads as we have changed them to show user pills now. Also, note that we show fake emails in search input box even if the real email is available since the visibility setting is not set to everyone and we consider the email field always and not delivery_email field.
We discussed here that we want to add user ID to user deactivation modal. We need to discuss the design but I am mentioning it here so that it does not go unnoticed.

Adding a GIF above for the first bullet in above comment. Here the user actually can access Cordelia's real email but the search box still has fake email.

@timabbott opened this PR as replacement of #20102.

We can still do some work on live-updating the email at various places in UI like admin users list, stream subscribers list, etc. We also do not live-update email at these places when user changes their email. I am not sure how quick it will be to do it, so probably better as a separate project.

Thanks! The only thing I noticed in manual testing is that we should probably display the user's real email when they search for themselves in the top search bar (e.g., from:me).

That's the same issue as it is there with other users. We show the email field of the user object (which is not the real email in case user has visibility other than everyone) and that is used to execute the search. I think it would better to instead work on changing the search to pills which I have started working on.

Ah, OK, that's all right, then. @timabbott ready for your review.

I have updated the PR. Posted replies to the comments above. Have also updated the documentation as suggested above, but would be good to have a look at once again if it needs any change.

I'm waiting to attempt to review this further and try to integrate this on the API detail of how client_gravatar and email_address_visibility interact to be resolved, since I'm guessing I won't have material further comments once that's handled.

Updated the PR as discussed on CZO. There are not much changes from previous state.

Removed the email_address_visibility field from event objects and instead we do a database query in apply_event code to get the setting.
The order of commits have changed and commit for Always passing delivery_email in user objects is now first commit. I changed the commit order while working to set email to real email for visibility setting other than EVERYONE, so have kept it as it is now.
Documentation changes are same as were done for the previous round of feedback.

Have not renamed reset_emails_in_zulip_realm as discussed before in this PR. I think would be better to do it separately, since this PR is already large enough.

Cool, this is great work. I posted a bunch of tactical comments mostly on API documentation, plus https://github.com/zulip/zulip/pull/22994#discussion_r1099519185 which revisits a few details of the database model worth at least making an explicit decision on. My current opinion is that probably all things considered, it's better to integrate this as written on both points, but wanted to make sure you're thinking about it too.

Updated the PR. Made the documentation changes and changes related to comments. Also replied to the other API discussion in the comments above.
One more change that I have done is that removed target_is_bot parameter from can_access_delivery_email, since we set the visibility to EVERYONE for bots.

@gnprice updated the docs and replied to the two comments above.

Cool I posted a small comment, but my plan is to try to integrate this to main tomorrow.

Done the documentation change as suggested above.

Merged, after amending the last commit to close two of the issues related to this feature. Huge thanks for all the hard work on this @sahil839!
#16920 is still open.


Unable to test LoginView

I extended two_factor.view.core import LoginView to my custom MyLoginView class.  This class redirects users based on OTP enabled status.
MyLoginView works fine when I test it manually on browser.
I am unable to write tests for MyLoginView.
When I make a post request I get 400 error:
response = self.client.post(
            path=reverse('login'),
            data={
                'auth-username': 'aseem',
                'auth-password': self.password
            }
        )

I also tried disabling csrf check by removing it from MIDDLEWARE in settings.py
I would like to be able to make a post request and get a response url which I can check if equal to desired url.

After reverse engineering the UI form tag:
response = self.client.post(
            path=reverse('login'),
            data={
                'auth-username': 'aseem',
                'auth-password': self.password,
                'my_login_view-current_step': 'auth'
            }
        )

If your custom LoginView is named AseemLoginView() your 3rd post data input para will be aseem_login_view-current_step:'auth'
This works.

The login view is based on a wizard, so you need to make sure you have the required POST data. This page gives a good overview of what needs to be done for testing.


Add transformers to the pipeline

Add transformers to the pipeline
https://hjlabs.in/

Hello, hemangjoshi37a.
Please describe the case that you want to solve using transformer models in FEDOT.

I want to do time series forecasting of power plant and electrical substations. Also I want to use it in some language models.

Partially implemented in https://github.com/aimclub/Fedot.Industrial


Dynamically construct 'Union' like type

Feature Request
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.4
            pydantic compiled: False
                 install path: /Users/jiangqiao/.pyenv/versions/3.8.1/lib/python3.8/site-packages/pydantic
               python version: 3.8.1 (default, Feb 29 2020, 20:08:03)  [Clang 11.0.0 (clang-1<IP_ADDRESS>)]
                     platform: macOS-10.15.4-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions']

I have a modularized class definition that injects classes to the main module and then runs pydantic to deserialized some json like configurations. In this case, I have to write something very dirty using eval like:
import pydantic
def construct_union(modules: List):
    # modules is a list of class constructors and has to be accessible in the current global scope
    eval_string = ', '.join([i.__module__ + '.' + i.__name__ for i in modules])
    return eval(f'Union[{eval_string}]')

class FullConfig(BaseModel):
    ...
    Driver: Optional[Dict[str, construct_union(driver_config)]]

    ExtensionConfig: Optional[Dict[str, construct_union(extension_config)]]

    @validator('Driver', pre=True, always=True)
    def generate_empty_dict_if_none(cls, v):
        return v or {}

    @validator('ExtensionConfig', pre=True, always=True)
    def generate_empty_dict_if_none2(cls, v):
        return v or {}

Is there a better way to achieve the same goal without eval?

Not really.
Personally I would Dict[str, Any] and use a validator to check the type is valid.
The problem is that fundamentally pydantic uses type annotations to validate data - that's great because it works with static type analysis like mypy, IDEs like pycharm and python developers like me.
dynamic unions wouldn't really work with any of those things, so I don't really seem much point in them (or any other dynamic type hints).

@jqqqqqqqqqq  Not sure I understand the question, but you can pass a dynamic list of classes to a Union. Just like the syntax for __getitem__ in python, you need to provide the list of arguments as a tuple to the Union.__class_getitem__ call. I do this sometimes to dynamically generate anyOf lists in json schemas at runtime.
You didn't give any example modules, so I can't say for sure, but something like this might work for you:
def construct_union(modules: List):
    return Union[tuple(modules)]

@jqqqqqqqqqq Not sure I understand the question, but you can pass a dynamic list of classes to a Union. Just like the syntax for __getitem__ in python, you need to provide the list of arguments as a tuple to the Union.__class_getitem__ call. I do this sometimes to dynamically generate anyOf lists in json schemas at runtime.
You didn't give any example modules, so I can't say for sure, but something like this might work for you:
def construct_union(modules: List):
    return Union[tuple(modules)]

Thank you! This seems to be a better workaround.

Anything for one less eval ;)


Python 3 : sagemaker-tensorflow-scriptmode:1.11.0-cpu-py3 fails

Hi Team,
Is python 3 officially supported??
I have tried using the following samples provided as part of Sagemaker sample notebooks
a. tensorflow_abalone_age_predictor_using_keras
b. tensorflow_keras_CIFAR10
I have also tried with my own entry point
Steps to reproduce:

Change the estimator call to use py3 and train and deploy the model for the 2 sample notebooks,  tensorflow_abalone_age_predictor_using_keras and tensorflow_keras_CIFAR10
estimator = TensorFlow(entry_point='cifar10_cnn.py',
                       role=role,
                       framework_version='1.11.0',
                        py_version="py3",
                       hyperparameters={'learning_rate': 1e-4, 'decay':1e-6},
                       train_instance_count=1, train_instance_type='ml.c4.xlarge')
estimator.fit(inputs)
predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')

The training completes successfully  using the  container sagemaker-tensorflow-scriptmode:1.11.0-cpu-py3, but deploy fails with error
 ClientError: An error occurred (ValidationException) when calling the CreateModel operation: Could not find model data at s3://**mybucket...**/sagemaker-tensorflow-scriptmode-2018-12-01-02-08-33-766/output/model.tar.gz.

I tried to use my own entry point file (see below), where I save the model to the Sagemaker Env model path os.environ.get('SM_MODEL_DIR', None) value.  In this instance the estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge') is able to create the model, but the endpoint fails with error
   Traceback (most recent call last):
    File "/sagemaker/serve.py", line 178, in <module>
    ServiceManager().start()
    File "/sagemaker/serve.py", line 152, in start
    self._create_tfs_config()
    File "/sagemaker/serve.py", line 53, in _create_tfs_config
    raise ValueError('no SavedModel bundles found!')"

** Note: I have a Keras snapshot and the container (sagemaker-tensorflow-serving:1.11.0-cpu) doesn't seem to take into account my model_fn and uses its own which looks for a file named "saved_model.pb". How can I override the default model?? **
import argparse
import glob
import json
import logging
import os
import sys
from io import StringIO

import numpy as np

from constants import SCALE_FACTOR

def model_fn(model_dir):
    from keras.models import load_model
    # locate model file from dir
    model_files = glob.glob(os.path.join(model_dir, '*.hdf5'), recursive=False)
    assert len(model_files) == 1, "Expecting just one model file but found {} files, {}".format(len(model_files),
                                                                                model_files)

    # load model
    model = load_model(model_files[0])

    return model

def input_fn(input_data, content_type):
    """
    Format the input from binary to numpy array
    :param input_data:
    :param content_type:
    :return:
    """
    if content_type == "application/json":
        data = np.array(json.loads(StringIO(input_data.decode("utf-8")).getvalue()))
    else:
        raise Exception("The content_type  {} is not supported".format(content_type))
    return data

def predict_fn(input_object, model):
    return model.predict(input_object) * SCALE_FACTOR

# Serialize the prediction result into the desired response content type
def output_fn(prediction, response_content_type):
    logger = logging.getLogger(__name__)
    logger.debug("Calling output for content_type ..{}".format(response_content_type))
    prediction_list = prediction.tolist()
    if response_content_type == "application/json" or response_content_type == "*/*" or response_content_type == "":
        return json.dumps(prediction_list)

    raise Exception("The response content_type  {} is not supported".format(response_content_type))

if '__main__' == __name__:

    parser = argparse.ArgumentParser()

    parser.add_argument("--traindata", help="The input file wrt to the training directory", required=True)
    parser.add_argument('--traindata-dir',
                        help='The directory containing training artifacts such as training data',
                        default=os.environ.get('SM_CHANNEL_TRAIN', "."))
    parser.add_argument("--outputdir", help="The output dir to save results",
                        default=os.environ.get('SM_OUTPUT_DATA_DIR', "result_data")
                        )

    parser.add_argument("--model_dir", help="Do not use this.. required by sagemaker", default=None)

    parser.add_argument("--snapshot_dir", help="The directory to save the snapshot to..",
                        default=os.environ.get('SM_MODEL_DIR', None))

    parser.add_argument("--restore-model-file", help="The model file", default=None)
    parser.add_argument("--restore-weights-file", help="The weights file", default=None)
    parser.add_argument("--restore-iter-file", help="The iter file which contains the number of epochs last run",
                        default=None)
    parser.add_argument("--epochs", help="The number of epochs", default=10, type=int)
    parser.add_argument("--batch-size", help="The mini batch size", default=30, type=int)
    parser.add_argument("--log-level", help="Log level", default="INFO", choices={"INFO", "WARN", "DEBUG", "ERROR"})

    args = parser.parse_args()

    # Set up logging
    logging.basicConfig(level=logging.getLevelName(args.log_level), handlers=[logging.StreamHandler(sys.stdout)],
                        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

    # set up dir
    if not os.path.isdir(args.outputdir):
        os.makedirs(args.outputdir)

    # if no model dir provided, Save the snapshot to output dir
    model_snapshot_dir = args.snapshot_dir if args.snapshot_dir is not None else args.outputdir

    logging.info("Running with args {}".format(args.__dict__))

    # Start process here
    from train import Train

    trainer = Train()

    trainfilepath = os.path.join(args.traindata_dir, args.traindata)

    trainer.train(inputfile=trainfilepath, outputdir=args.outputdir, model_snapshot_dir=model_snapshot_dir,
                  restore_model_file=args.restore_model_file, restore_weights_file=args.restore_weights_file,
                  restore_epoch_file=args.restore_iter_file,
                  epochs=args.epochs, batch_size=args.batch_size)

Hi,
Python 3 is officially supported with Script Mode Only you can find the documentation here:
https://github.com/aws/sagemaker-python-sdk/tree/master/src/sagemaker/tensorflow
Script Mode requires a different format of the training script so some of the the Legacy Mode scripts might not work with Script Mode. Script Mode simply just runs the training script. It does not save the model so the training script has to export the model to '/opt/ml/model' at end of training for SageMaker to save it as the model artifact and upload to S3.
As for serving, Script Mode containers only supports serving with the rest API TensorFlow-serving based containers. Since TensorFlow serving can only serve pb bundle models the model saved to /opt/ml/model has to be in the same format. We are working on some new sample notebooks for Script Mode at the moment. They will be available sometime this week or early next week.
Thanks for using Script Mode and providing feedbacks. Please let us know if you have more questions.

Where is an example of the Dockerfile that runs script mode py3 (for modification). All I see here is python 2 containers.

@ryanpeach the script mode Dockerfiles are in the script-mode branch of this repo: https://github.com/aws/sagemaker-tensorflow-container/tree/script-mode/docker

I ran into the same issue during deployment. Is there any update on the serving of model trained by the Script Mode?
If it's not ready, can we use the trained model by the Script Mode outside Sagemaker to run predictions?
Thanks!

(I realize this is a very late response, but just in case someone else stumbles across here looking for the answer...)
models trained using the Script Mode image can be hosted using the TensorFlow Serving images: https://github.com/aws/sagemaker-tensorflow-serving-container


Refactor upload stepper

Other uses of activeStep with absolute indices need updating, including
https://github.com/Sydney-Informatics-Hub/Weed-AI/blob/b9b5f9e54b79ce672eba2365ff8a36937f298134/search/src/Components/upload/upload_stepper.js#L217-L225
and
https://github.com/Sydney-Informatics-Hub/Weed-AI/blob/b9b5f9e54b79ce672eba2365ff8a36937f298134/search/src/Components/upload/upload_stepper.js#L309-L312

To keep diffs clean, I'm going to merge this, and open another issue for the remainder of the refactor.

Or do you want to wait for the non-regression testing in cypress before we merge??

Or do you want to wait for the non-regression testing in cypress before we merge??

Both are ok, maybe merge this first and cypress can work on testing this part as well


$${ should be evaluated to ${

TemplateExpr::evaluate right now will return literal $${ for $${ sequence in input.

Hey there @vlad-ivanov-name!
Thanks for reporting this and for the PR.
I closed your PR in favor of #245 and #247 as it's cleaner and more intuitive for the user to just unescape literals while parsing them and escape them when emitting the literal as HCL. This also avoids requiring the EscapedLiteral type.


Set up Spring Security authentication

Resolves #30, at least in part.
Changes:

A rudimentary login screen has been added.
A rudimentary navigation element has been added to the top of each view, except login.  This includes a logout option, and is present regardless of the user being logged in.
Three users are defined manually; no further users can be registered (this will be eventually swapped out, but it works for demonstration).
Access to any endpoint aside from login and the home page requires authentication first.
Surveys now have an "author", and creating a survey correctly sets this field.
Access to the edit page of a specific survey, as well as to the POST endpoints for adding/removing questions from that survey, requires the authenticated user to be the author of that survey.
The deleteQuestion endpoint has been converted from a GET endpoint to a POST endpoint... it already worked like one anyways.
Existing tests have been updated to not break horribly due to reduced privileges.
New tests have been added to test that access with insufficient privileges is correctly implemented.

More tests to be added, specifically to test what happens when access is attempted to an endpoint with insufficient permissions.
Also, will need to look through at how to un-expose the CRUD endpoints, or lock them behind admin privileges.

Tested the logout functionality as well and looks good. Added tests seem robust and all pass.


lots of symbols missing

TL;DR: these are missing:

__xlog_buf_printf

ifc_set_throttle

UCNV_FROM_U_CALLBACK_STOP_55

_ZN7android10AudioTrack3setE19audio_stream_type_tj14audio_format_tjj20audio_output_flags_tPFviPvS4_ES4_jRKNS_2spINS_7IMemoryEEEbiNS0_13transfer_typeEPK20audio_offload_info_tiiPK18audio_attributes_tb

( I think the 4th one needs a shim)
Too Long; Still read:

libEGL  : load_driver(/system/lib/egl/libGLES_mali.so): dlopen failed: cannot locate symbol "__xlog_buf_printf" referenced by "/system/lib/libdpframework.so"...

libc    : CANNOT LINK EXECUTABLE "/system/bin/": cannot locate symbol "__xlog_buf_printf" referenced by "/system/bin/"...

libc    : CANNOT LINK EXECUTABLE "/system/bin/thermal": cannot locate symbol "ifc_set_throttle" referenced by "/system/bin/thermal"...

libc    : CANNOT LINK EXECUTABLE "/system/bin/imsd": cannot locate symbol "_ZN7android10AudioTrack3setE19audio_stream_type_tj14audio_format_tjj20audio_output_flags_tPFviPvS4_ES4_jRKNS_2spINS_7IMemoryEEEbiNS0_13transfer_typeEPK20audio_offload_info_tiiPK18audio_attributes_tb" referenced by "/system/lib/libsec-ims.so"...

xlog and ucnv symbols should be fixed as I forgot to add Android.mk in $(DEVICE_PATH)/mtk and all libs in there are not included, thus missing symbols.
thermal symbols (ifc_) is from older patches for mt658x devices
nuked sec-ims because Samsung lolz

[move to device tree, it is inconvenience (and against the norm) to post issue/comments here lol


Update to jsdom v8

Apparently it's much better...

PR it and it shall happen!

:-) Will do. just didn't want to forget.. and I'm going to try it somewhere first


assert(false) not failing in tests but it should

Description
Public service announcement: I tried building from source to make some slight changes.  I determined by running the tests that assert(false) was not failing though it should.  One test in particular [0] calls  state.getRigidlyConnectedParentLinkModel(...) successfully though it should fail since there are dirty link transforms and that method internally calls assert(checkLinkTransforms()) [1].  Since that second method should return false, the test should fail, but it is currently passing.
Looking further I found that assert() relies on the NDEBUG macro being undefined to work correctly.  If NDEBUG is defined, the assertion is disabled, and assert() does nothing [2].  I wrote some test code to determine if NDEBUG is defined, and it is -- though I cannot determine where.
This is causing the CI tests to run in such a way that assert(false) statements are silently passing, which is not good.  Probably there are not many of these, but the one I linked to should fail.
[0] https://github.com/moveit/moveit2/blob/main/moveit_core/robot_state/test/robot_state_test.cpp#L785
[1] https://github.com/moveit/moveit2/blob/main/moveit_core/robot_state/src/robot_state.cpp#L1309
[2] https://en.cppreference.com/w/cpp/error/assert
ROS Distro
Rolling
OS and version
Ubuntu 24.04
Source or binary build?
Source
If binary, which release version?
No response
If source, which branch?
main
Which RMW are you using?
None
Steps to Reproduce
Run the test I mentioned.
Expected behavior
The test should fail.
You can force it to fail by putting this at the top of the test I mentioned [0], put this at the top to make NDEBUG undefined.  Then run the test and it will fail.
#undef NDEBUG

[0] https://github.com/moveit/moveit2/blob/main/moveit_core/robot_state/test/robot_state_test.cpp#L785
If you want to fix that particular test so it doesn't fail when NDEBUG is undefined, call this just before the line that is failing:
state.updateLinkTransforms();
EXPECT_EQ(state.getRigidlyConnectedParentLinkModel("link_b"), link_a);

Actual behavior
The test does not currently fail.
Backtrace or Console output
No response

Ah I think this explains what I'm seeing in #3103. After looking at the code I concluded the same thing -- the latter part of that test should be consistently failing, but only does so on the pipeline and not locally. I've fixed that test by updating the transforms, but that is concerning. I'm glad to no I wasn't going insane 😅

colcon build --cmake-args -DBUILD_TESTING=ON --packages-up-to moveit_core
colcon build --cmake-args -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Debug --packages-up-to moveit core

The tests pass after building with the former, and fail (expectedly) after building with the latter.
It feels like maybe -DBUILD_TESTING=ON should set -DCMAKE_BUILD_TYPE=Debug by default?

Build type of debug will likely slow things down considerably since you don't get optimizations with that (for some things it can be catastrophic - I remember at one point we determined that the sensor_msgs::PointCloudIterator is about 300x slower in Debug than in Release/RelWithDebInfo)

The alternative is that failing tests pass, which also feels catastrophic. In your example, are you wanting to set BUILD_TESTING on? If so, maybe the better approach is to replace the assert() call with something that isn't NDEBUG dependent, or perhaps remove that call entirely (it doesn't feel unreasonable to want to validate link transforms outside of debug mode)

@sea-bass I'm thinking of addressing this by replacing all asserts with exceptions, such that they can't be accidentally disabled by build type.
What's the general policy on using std::runtime_error vs custom exception types?

Actually, to avoid breaking behaviour it might make more sense to print an error, and let the tests use ASSERT_TRUE. That way, users making use of assert-based functions won't be presented with a bunch of new exceptions to catch

It looks like there are 106 usages of assert across 31 files. It also seems that abort calls std::abort on failure, so maybe an exception would be preferable.
It might be nicest to define a macro which provides identical behaviour, minus the turn-off with NDEBUG, and simply do a find and replace.
something like:
// We avoid calling `assert` directly, as some tests rely on these calls.
// `assert` is disabled automatically by CMake when the build type is
// Release, which can cause failing tests to pass. See #3102
#define ALWAYS_ASSERT(condition)                                           \
   if (!condition) {                                                       \
      std::err << "Assertion '" << #condition << "' failed." << std::endl; \
      std::abort();                                                        \
   }

My preprocessor knowledge is a little rusty 😅
I believe this preserves assert behaviour, i.e.:

Checks if the condition evaluates to 0 (i.e. falsy condition)
Outputs to std::err and calls std::abort if so

@sea-bass what do you think?

I might let @henningkayser chime in on this one... it may be beyond my knowledge of computers :)

So, I can see changing asserts in tests - but we should be very careful about doing this sort of change outside the tests. Typically, the "it goes away in release mode" is actually a feature that someone intended when they use an assert - especially in high performance code.
For the particular assert() you called out in RobotState - developers would want to verify they never have dirty transforms when they are creating a new feature, but at run time these RobotState functions get called many times during each plan generation and the overhead of always checking transforms can significantly slow down planning. Remember, you aren't just adding in the assert boolean check here - you're also adding the whole call to checkLinkTransforms() - because in release mode that function call is currently being removed entirely.
Actionable thoughts:

We should probably make our CI build in a debug mode - so that we catch these asserts (but, we might have to resolve some timing issues when doing that change since things will run slower)
We should probably add documentation about "test your stuff in debug" for newer developers of MoveIt - so they know about the use of these asserts (honestly, much of RobotState is so highly optimized internally, there are also lots of warnings in the C++ API docs that should be called out more prominently in developer onboarding docs).
Anywhere we actually want to change asserts in the regular codebase (anything that isn't tests), you would want to profile the impact of those changes on runtime.

Does building with RelWithDebInfo give the desired (correct) test failures? That would be better than just Debug.

RelWithDebInfo is allegedly same as Release, but with debugging symbols (so it's still optimized, and assertions are disabled) - I believe it is also what our Debians are built with by default (so that there are still some symbols when you gdb things).
For the CI, we could do something like start with Debug and then add some optimization flags back in, while keeping assert()...

Would it be possible to use macros to determine if a call is being made as part of a test, and produce a warning if this is the case? I feel like this would help developers understand these effects when writing tests, and prompt them to design the tests to use functionality that is globally available?
(this is unrelated to the CI jobs, but based on the responses I think I agree that using Debug is the best option if possible)

So, I can see changing asserts in tests - but we should be very careful about doing this sort of change outside the tests. Typically, the "it goes away in release mode" is actually a feature that someone intended when they use an assert - especially in high performance code.
For the particular assert() you called out in RobotState - developers would want to verify they never have dirty transforms when they are creating a new feature, but at run time these RobotState functions get called many times during each plan generation and the overhead of always checking transforms can significantly slow down planning. Remember, you aren't just adding in the assert boolean check here - you're also adding the whole call to checkLinkTransforms() - because in release mode that function call is currently being removed entirely.
Actionable thoughts:

We should probably make our CI build in a debug mode - so that we catch these asserts (but, we might have to resolve some timing issues when doing that change since things will run slower)
We should probably add documentation about "test your stuff in debug" for newer developers of MoveIt - so they know about the use of these asserts (honestly, much of RobotState is so highly optimized internally, there are also lots of warnings in the C++ API docs that should be called out more prominently in developer onboarding docs).
Anywhere we actually want to change asserts in the regular codebase (anything that isn't tests), you would want to profile the impact of those changes on runtime.

Regarding point 2, I've been wanting to create a Getting Started guide for new developers (see https://github.com/orgs/moveit/discussions/3096). Feedback would be appreciated!

I fully agree with https://github.com/moveit/moveit2/issues/3102#issuecomment-2480609001:

assert in tests can be (and probably should be) replaced by ASSERT_TRUE
assert in production code should not be touched

To evaluate those tests in CI we have Debug enabled for the ccov build (which requires Debug anyway):
https://github.com/moveit/moveit2/blob/2490e51444df20bf64c05deacf903785703852b7/.github/workflows/ci.yaml#L56

To evaluate those tests in CI we have Debug enabled for the ccov build (which requires Debug anyway):
moveit2/.github/workflows/ci.yaml

@rhaschke This is causing failing tests slip through the cracks between PR CI and main CI though, due to a difference in the build type. See for example (this CI job on main)[https://github.com/moveit/moveit2/actions/runs/11860308971/job/33055270697] and (the corresponding jobs on the associated PR)[https://github.com/moveit/moveit2/pull/3095/checks].

To evaluate those tests in CI we have Debug enabled for the ccov build (which requires Debug anyway):

This is causing failing tests slip through the cracks between PR CI and main CI though, due to a difference in the build type. See for example this CI job on main and the corresponding jobs on the associated PR.

The problem is that ccov-testing was disabled in #2866, which is why there is no Debug build run on PRs anymore.
There is no need to change code, but just re-enable ccov/debug testing for PRs.
This will be fixed with #3115.

Ahh I see, and thank you for looking into those issues :+1:


Use splitAfter prop to limit ids in media requests

Fixes #184

:tada: This PR is included in version 0.12.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


about SMPL-X

Thanks for your great work.
When I tried to run create.py,  I encountered a problem:
File "core/nets/ohta/network.py", line 15, in
from third_parties.smplx.manohd.subdivide import sub_mano
ModuleNotFoundError: No module named 'third_parties.smplx.manohd'
Then I check core/nets/ohta/network.py,:
import third_parties.smplx
from third_parties.smplx.manohd.subdivide import sub_mano
from third_parties.smplx.utils import vertex_normals
from third_parties.smplx.lbs import get_normal_coord_system
from third_parties.pairof.pairof_model import attach_pairof
I couldn't find the sub-files of SMPLX, so I can't run the 'create.py' script. Where can I find these sub-files of SMPLX?

I have check this link :https://github.com/vchoutas/smplx/tree/main/smplx
However, these is no 'manohd' , so I am not sure what should be included in the smplx directory.

Hi @i-dont-know-how-to-sign-up. As described in the README under the MANO-HD section, I suggest that you refer to the code at https://github.com/SeanChenxy/HandAvatar, where there is an implementation of manohd.


lxc: Changes lxc list and lxc info Type field to show instance type

Signed-off-by: Thomas Parrott<EMAIL_ADDRESS>

@stgraber updated to add type lifetime in brackets as discussed.

@tomponline I wouldn't keep "persistent" as this would make the output rather long for everyone out of the box.
So just have either "container" or "container (ephemeral)" and capitalized version of that for list.

@stgraber ok thats done.

Few more tweaks for translations and I suspect this branch will need a run of:

make i18n
git commit -a -s -m "i18n: Update translation templates"

Since the translation strings are being modified in there (will show as static analysis failure).

Oops, didn't mean to close :)


🐛 Don't requeue provider if its spec is invalid

What this PR does / why we need it:
Currently if provider fails spec validation during preflight checks, we requeue it again with a 30 seconds interval. It doesn't make sense, because the spec still will be invalid and validation will fail again and again.
This PR identifies all places where we don't need to requeue providers and updates them accordingly.

/retest

Presubmit job failures are not related to this PR but the issue with k8s test-infra itself (same in many other PRs' in different repos currently) and tracked in https://github.com/kubernetes/test-infra/issues/29622

@furkatgofurov7 thanks! good to know

/retest

/retest

/cc @alexander-demicev


Twitter Bot - Redaction

The Twitter event-bot should redact titles -- there are three -- with the n-word. Instead of the word, us "[N-word]" -- include square brackets, but not quotation marks.

@jkotin one of them is plural, how do you want to handle that?
I've looked for recommendations for redactions but not found anything helpful. Is "N-word" a known convention? I wondered what you thought of doing something like N[-----] or  N[-----]s?

None of these show up in our current review window, but here's the report output of the script for dates where they will occur.
$ ./manage.py twitterbot_100years report -d 1921-05-03
Event id: 23341
#100YearsAgoToday on Tuesday, May 3, 1921 at Shakespeare and Company, Madeleine Milhaud returned Joseph Conrad’s “The N[-----] of the Narcissus” (1897).
https://shakespeareandco.princeton.edu/members/milhaud/cards/17b3a27c-f66d-4f0f-a4e5-e38d53565950/#e23341

Event id: 28431
#100YearsAgoToday on Tuesday, May 3, 1921 at Shakespeare and Company, Mlle Tournier borrowed Oscar Wilde’s “A Critic in Pall Mall” (1919).
https://shakespeareandco.princeton.edu/members/tournier/cards/bb808b95-2c48-4e57-a777-f61918dc5b06/#e28431

Event id: 23342
#100YearsAgoToday on Tuesday, May 3, 1921 at Shakespeare and Company, Madeleine Milhaud borrowed Thomas Hardy’s “Jude the Obscure” (1895).
https://shakespeareandco.princeton.edu/members/milhaud/cards/17b3a27c-f66d-4f0f-a4e5-e38d53565950/#e23342

Event id: 23343
#100YearsAgoToday on Tuesday, May 3, 1921 at Shakespeare and Company, Madeleine Milhaud borrowed Jack London’s “Burning Daylight” (1913).
https://shakespeareandco.princeton.edu/members/milhaud/cards/17b3a27c-f66d-4f0f-a4e5-e38d53565950/#e23343

Event id: 565
#100YearsAgoToday on Tuesday, May 3, 1921 at Shakespeare and Company, Isabel Smith subscribed for 1 month, 2 volumes at a time.
https://shakespeareandco.princeton.edu/members/smith-isabel/

Event id: 566
#100YearsAgoToday on Tuesday, May 3, 1921 at Shakespeare and Company, Mr. Goldstein renewed for 1 month, 1 volume at a time.
https://shakespeareandco.princeton.edu/members/goldstein/

$ ./manage.py twitterbot_100years report -d 1934-05-03
Event id: 28833
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Chun Jen Wang returned Otto Jesperson’s “Language: Its Nature, Development, and Origin” (1922).
https://shakespeareandco.princeton.edu/members/wang-chun-jen/cards/755656ad-1599-4ab8-bc6d-dfdcd3d71106/#e28833

Event id: 11567
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Alina Prot returned James Joyce’s “Dubliners” (1914).
https://shakespeareandco.princeton.edu/members/prot/cards/5277b7a3-da52-4055-ac23-0f874f690685/#e11567

Event id: 28477
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Stephen D. Tuttle returned D. H. Lawrence’s “Mornings in Mexico” (1927).
https://shakespeareandco.princeton.edu/members/tuttle-stephen-d/cards/7ef03377-05c8-4b0a-9afd-f9f59479a214/#e28477

Event id: 25583
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Fanny Rirachowsky returned Katherine Mansfield’s “The Garden Party and Other Stories” (1922).
https://shakespeareandco.princeton.edu/members/rirachowsky/cards/00f32d69-69b1-40ab-9f4f-d8567af51f91/#e25583

Event id: 11569
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Alina Prot borrowed Carl Van Vechten’s “N[-----] Heaven” (1926).
https://shakespeareandco.princeton.edu/members/prot/cards/5277b7a3-da52-4055-ac23-0f874f690685/#e11569

Event id: 28478
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Stephen D. Tuttle borrowed John Ford’s “The Best Plays of John Ford” (1888).
https://shakespeareandco.princeton.edu/members/tuttle-stephen-d/cards/7ef03377-05c8-4b0a-9afd-f9f59479a214/#e28478

Event id: 25584
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Fanny Rirachowsky borrowed G. K. (Gilbert Keith) Chesterton’s “The Secret of Father Brown” (1927).
https://shakespeareandco.princeton.edu/members/rirachowsky/cards/00f32d69-69b1-40ab-9f4f-d8567af51f91/#e25584

Event id: 21239
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Ada MacLeish and Archibald MacLeish borrowed Ernest Hemingway’s “Winner Take Nothing” (1933).
https://shakespeareandco.princeton.edu/members/macleish-ada/cards/d60d7bf3-de21-4f80-abf3-97a36ad1d4e7/#e21239

Event id: 21240
#100YearsAgoToday on Thursday, May 3, 1934 at Shakespeare and Company, Ada MacLeish and Archibald MacLeish borrowed Archibald MacLeish’s “Poems, 1924 – 1933” (1933).
https://shakespeareandco.princeton.edu/members/macleish-ada/cards/d60d7bf3-de21-4f80-abf3-97a36ad1d4e7/#e21240

$ ./manage.py twitterbot_100years report -d 1939-12-13
Event id: 20417
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, Christine Morrow returned John Dos Passos’s “Manhattan Transfer” (1925).
https://shakespeareandco.princeton.edu/members/morrow/cards/5676b130-b5df-4803-8707-02a8811673b9/#e20417

Event id: 23831
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, Mme Gérard Prevost returned E. M. Forster’s “A Passage to India” (1924).
https://shakespeareandco.princeton.edu/members/prevost-gerard/cards/4b96da88-7e67-4337-9e90-42c24afa23bd/#e23831

Event id: 23832
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, Mme Gérard Prevost returned Dorothy Sayers’s “Gaudy Night” (1935).
https://shakespeareandco.princeton.edu/members/prevost-gerard/cards/4b96da88-7e67-4337-9e90-42c24afa23bd/#e23832

Event id: 15210
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, André de la Forest-Divonne returned E. M. Forster’s “A Passage to India” (1924).
https://shakespeareandco.princeton.edu/members/forest-divonne/cards/65011af4-2479-4819-bb51-01a47b552687/#e15210

Event id: 15211
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, André de la Forest-Divonne returned Mary Webb’s “Seven for a Secret: A Love Story” (1922).
https://shakespeareandco.princeton.edu/members/forest-divonne/cards/65011af4-2479-4819-bb51-01a47b552687/#e15211

Event id: 20389
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, Mr. Morgan returned Agatha Christie’s “Ten Little N[-----]s” (1939).
https://shakespeareandco.princeton.edu/members/morgan/cards/9e1ad67e-c3cc-4936-8e13-fa271180fbf2/#e20389

Event id: 23833
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, Mme Gérard Prevost borrowed Ann Bridge’s “Enchanter's Nightshade” (1937).
https://shakespeareandco.princeton.edu/members/prevost-gerard/cards/4b96da88-7e67-4337-9e90-42c24afa23bd/#e23833

Event id: 15212
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, André de la Forest-Divonne borrowed Ann Bridge’s “Enchanter's Nightshade” (1937).
https://shakespeareandco.princeton.edu/members/forest-divonne/cards/65011af4-2479-4819-bb51-01a47b552687/#e15212

Event id: 15213
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, André de la Forest-Divonne borrowed Mazo De la Roche’s “Jalna” (1927).
https://shakespeareandco.princeton.edu/members/forest-divonne/cards/65011af4-2479-4819-bb51-01a47b552687/#e15213

Event id: 20390
#100YearsAgoToday on Wednesday, December 13, 1939 at Shakespeare and Company, Mr. Morgan borrowed George Orwell’s “Coming Up for Air” (1939).
https://shakespeareandco.princeton.edu/members/morgan/cards/9e1ad67e-c3cc-4936-8e13-fa271180fbf2/#e20390

These look good to me!


New component: Stack/Flex/Grid

Its common to create primitive components for layout and flow purposes.
This issues is currently for gather information and needs for such components.

related to #2258

Look at this after #2311


Enable pint.yaml configuration file

yaml configuration file is better than json.
you can write comments.
Comfortable block notation. (don't bother with commas.)
priority order is

pint.json
pint.yaml

You can also use --config option.

I apologize, but currently, we intend to maintain the Pint project's simplicity. As such, we are not considering any additional configuration "extension" types. Nonetheless, I appreciate your efforts in submitting this pull request and for suggesting this idea. Thank you.

I see. thank you!


Remove BlankRawContact entity

Problem
Due to the changes in #268, it no longer makes sense to keep the BlankRawContact entity. The main purpose of the BlankRawContact in conjunction with the AccountsRawContactsQuery was to provide users a way to get a list of RawContacts and their display name and account, all of which are now a part of the regular RawContact entity.
Solution

[x] Delete BlankRawContact and replace references with RawContact
[x] Delete ExistingRawContactEntityWithContactId and replace references with ExistingRawContactEntity

Additionally;

[x] Update sample app
[x] Update cheatsheet (also move to basics section)
[x] Update relevant documentation in code
[x] Verify that there are no regressions for related API functions
[x] Provide a migration guide as a comment in this issue so that it can be copy-pasted into the release notes

Migration guide (to be included in release notes)
Now that BlankRawContact no longer exists, all you have to do is replace any references you may have to it with references to RawContact.

This is included in 0.3.0!


Normalize message and enum names parsed from *.proto files

Translates lowercase message and enum names to follow Elixir's module/function naming rules.
For example, message msgHeader { ... } will be built as MsgHeader in
Elixir's module namespace. The same rules apply to enum types.

Just found a bug when calling encode, please stand by. :)

Alright, I believe I've fixed the issues with both encoding and decoding.  Would love any feedback you have, thanks!

Sure thing.  I'll squash shortly.

Squashed. :smile:

Hey! Just wanted to check in to see if there were any other issues that needed to be resolved before this gets merged.  Anything else that needs to be done? Thanks!

Oh my bad man, I'll merge this ASAP! Thanks again!


Playlist provisioning

What is missing?
Ability to provision playlists in a similar fashion to dashboards
Why do we need it?
Creating multiple grafana installations for different environments should allow automation of this feature to remove manual work
Anything else we need to know?:
Playlists can be provisioned via API as per docs:
https://grafana.com/docs/grafana/latest/http_api/playlist/

This is something that should be done with ansible module, so please forward such request to https://github.com/ansible-collections/grafana. We are not going to provide hacky ways of doing this with uri/url modules.

This role has been deprecated in favor of a the grafana-ansible-collection collection.


How to terminate the app when an @KafkaListener throws an exception?

Looks like the default behaviour is too log the exception, ignore the record, and consume the next record.
Is there a way to cause exceptions thrown from the @KafkaListener crash the application instead?

See the new ContainerStoppingErrorHandler docs here.
If you want to stop the application completely, you can write a custom error handler based on those.
BTW, the place to ask questions is Stack Overflow (spring-kafka tag). GitHub issues are for bugs and new feature requests.

Thanks @garyrussell.


cranelift: Add LibCalls to the interpreter

👋 Hey,
This does not fix any of the issues reported by the fuzzer so far, but I think that is just a coincidence, since at some point it will generate a libcall and we cannot handle those either.
Edit: Actually this may have already been reported, but have returned the same error as  #4758 so it wasn't reported separately.
This allows the interpreter to register libcall handlers and invoke them when called.
I switched the fuzzer generated libcall from Udiv to Ishl, reason being that we don't want libcalls that can trap. Both functions have identical signatures so we shouldn't have any input format changes to the fuzzer.

Huh. I was going to suggest that if there are libcalls with undefined behavior on some inputs then we should be limiting what we pass them to ensure that we only use them in ways consistent with the semantics we want. But I went to check how libcalls like UdivI64 or IshlI64 are used, and as far as I can tell, they aren't. We should probably remove them, yeah?
These libcalls are constructed in Rust source:

ElfTlsGetAddr
ElfTlsGetOffset
Memcmp
Memcpy
Memmove
Memset
Probestack

While these are constructed in the x64 ISLE rules (but not any other backend?):

CeilF32
CeilF64
FloorF32
FloorF64
FmaF32
FmaF64
NearestF32
NearestF64
TruncF32
TruncF64

LibCall::for_inst would construct some other libcalls, but apparently its only use was removed last year in bae4ec642798ff448ca88eab771b6fcea71e7884, so I've excluded it from the above lists.

But I went to check how libcalls like UdivI64 or IshlI64 are used, and as far as I can tell, they aren't. We should probably remove them, yeah?

That sounds like a good idea.

While these are constructed in the x64 ISLE rules (but not any other backend?):

Yeah, x86 doesn't have native instructions for these without extensions, so we have to lower them as libcalls if some extensions are disabled. I only know about AArch64 but they have equivalents for these in the base ISA. Not sure about s390x but i assume its the same
We can emit something like CeilF32 or any other really. The only downside being that it puts us in the "Changes fuzzer input do not merge" category. I'm okay with that.
I think the float libcalls don't trap at all.

I've changed this in a few ways, and since we are going to change the input of the fuzzer we might as well do it properly and generate multiple libcalls, so we now do that.
I've also removed the unused libcalls and a few accessory bits.


WIP

For #

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

@rchiodo setting fully qualified path to conda exec works magically.

@rchiodo setting fully qualified path to conda exec works magically.

Not so sure about that. Same test failures cropping up

Not so sure about that. Same test failures cropping up

Lol, I thought it was working..
Ok it's worse than I thought


Unable to estimate log_flux for 1-2 stars in a 10x10 tile.

Another potential bug that I wanted to document from the meeting. I find that currently bliss is able to find (up to) 2 stars in a 10x10 tile but not their log-fluxes. This was surprising to @Runjing-Liu120 given his previous studies. It will be interesting to find out if this is actually a bug.
@Runjing-Liu120 did you have a chance to test this in your old codebase? Thanks!
Questions

Does work on 4x4 tiles?

How to reproduce issue?
Here is some code that trains an encoder which has this issue.
from hydra.experimental import initialize, compose
from bliss.datasets import simulated
from bliss import sleep

overrides = {
    'model':"basic_sleep_star_one_tile",
    'dataset':"single_tile",
    'training':"unittest", # avoid logging and plotting to speed up training.
}
overrides = [f"{key}={value}" for key, value in overrides.items()]
config_path = "../config"  # path to config folder relative to the notebook.

with initialize(config_path=config_path):
    cfg = compose("config", overrides=overrides)
    datamodule = simulated.SimulatedModule(cfg)
    sleep_net = sleep.SleepPhase(cfg)
    trainer = pl.Trainer(**cfg.training.trainer)
    trainer.fit(sleep_net, datamodule=datamodule)

trained_encoder = sleep_net.image_encoder

@Runjing-Liu120 @ismael-mendoza Any indication whether this issue/bug applies to smaller tiles too? (I suspect it doesn't, but it would be helpful to have confirmation)

@jeff-regier I'll look into this, and let you know at our meeting tomorrow

Yeah I think I got it working, both on small tiles (2x2) and larger tiles (10x10). It just wasn't training enough before.
I changed the batchsize from 64 to 6400 and the learning rate from 1e-5 to 1e-3. In other words, I updated the config files as such:
cfg.optimizer.params.update({'lr': 1e-3})
cfg.dataset.params.update({'batch_size': 6400})

You can see my notebook here
test_star_sleep.pdf

Thanks Bryan. Please remember to add a new unit test along with the batch size / learning rate changes

OK I'll add it -- pull request coming soon


chore: lint with new prettier config

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Push notification using Firebase Cloud Messaging (FCM)

https://firebase.google.com/docs/cloud-messaging

Alt: https://blog.logrocket.com/create-send-push-notifications-react-native/


[TVMScript] Allow use of relax.Expr with void type as a statement

Prior to this commit, TVMScript required all relax expressions to be part of an explicit assignment or return statement.  While this matches the structure of the C++ IR types, this can be unexpected for functions that have no return value.  For example, needing to assign the result of R.print(...) to a variable.
This commit updates the TVMScript parser/printer to allow relax expressions to be used as statements, if they have a void return type. This allows use of R.print(...) and R.assert_op(...) to be called without assigning the result to an unused variable.

Does this intersect with the quirky parsing for if-else? For example, if the value returned in an if-else is of void type. Would it be safe not to write out the return var? Would it still roundtrip?

Good call on a test to add.  Looks like this change does cause an issue with round-trips when the elided binding is the last binding in an if/else block.  I've added a currently-failing unit test for the round-trip.

And after poking at it, it looks like there an ambiguity in the relax type system.  In most cases, a zero-field TupleStructInfo is used to represent a void type (example).  However, in some cases, a zero-field TupleStructInfo is used to represent, well, a zero-field tuple (example).  Eliding the variable binding for an actual void type make sense, as there are no valid uses of a void type.  However, a zero-field tuple can be treated as an object, and so removing its variable binding may result in undefined usage.

Well, I wouldn't call that's not a type system ambiguity, but it could become one in terms of parser roundtripping. It's just that an empty tuple (unit value) cannot contain anything and is immutable, so its use is historically like a null value in functional languages. We do have the odd quirk that we have both the null_value operator that returns a void value and also the unit value. Personally, I think it would be better to use a unit value in all cases since there would be no reason to have an empty tuple at all.
I'm not sure what our stance would be on parser roundtripping: I'm fine with saying that is permitted to omit the binding and that we should go with one way or the other for parser roundtripping.

True.  I'd see the mismatch as the degree to which relax should be compatible with the python environment.  For lisp, I'd expect nil to be the empty tuple, but for Python, I'd expect None to be distinct.from the empty tuple.

I'm not sure what our stance would be on parser roundtripping: I'm fine with saying that is permitted to omit the binding and that we should go with one way or the other for parser roundtripping.

Unfortunately, this runs a little bit deeper.  Since a size-zero tuple may be used at a later point in the relax function, omitting the binding requires inspecting the function to see if that binding is being used.  Even with something like dummy_var: R.Tuple() = R.print(...), the R.Tuple() struct info is insufficient to know if dummy_var is used later in the function.

Ah I see, we don't really want the pretty printer to have to be checking if a var is later used. We could take the policy of always inlining a unit tuple value (or always doing it in the pretty printer), as this brings no harm. We could even have the normalizer do it.

We could even have the normalizer do it.

I like this as a long-term solution.  I've updated this PR to only change the TVMScript parsing, and not the printing, along with disabling the related unit tests.  That way, they can be re-enabled in a follow-up PR.

Rebased onto main, as the CI failures seemed unrelated to this PR, and main has had some CI fixes recently.

All CI tests passing, ready for review/merge.

In principle, I'm in favor of always allowing a user to omit the var and giving a warning rather than an error if they do it for a statement with a non-void return. We can consider that as a later change if others are in favor.

I agree, and would like to add this in a later PR.


power down ESP

Hi,
I'm trying to power down the ESP in this great piece of software. Disabling works well, now I'm wondering which steps to take to get the ESP back connected.
I've tried enabling, resetting and connecting the ESP. Can you describe which steps to take?
thanks for helping!

you can reinitialize same as setup code like this
void setup() {
  Serial.begin(19200);
  debugPort.begin(19200);
  esp.enable();
  delay(500);
  esp.reset();
  delay(500);
  while(!esp.ready());

  debugPort.println("ARDUINO: setup mqtt client");
  if(!mqtt.begin("DVES_duino", "admin", "Isb_C4OGD4c3", 120, 1)) {
    debugPort.println("ARDUINO: fail to setup mqtt");
    while(1);
  }

  debugPort.println("ARDUINO: setup mqtt lwt");
  mqtt.lwt("/lwt", "offline", 0, 0); //or mqtt.lwt("/lwt", "offline");

/*setup mqtt events */
  mqtt.connectedCb.attach(&mqttConnected);
  mqtt.disconnectedCb.attach(&mqttDisconnected);
  mqtt.publishedCb.attach(&mqttPublished);
  mqtt.dataCb.attach(&mqttData);

  /*setup wifi*/
  debugPort.println("ARDUINO: setup wifi");
  esp.wifiCb.attach(&wifiCb);

  esp.wifiConnect("DVES_HOME","wifipassword");

  debugPort.println("ARDUINO: system started");
}

Thank you for helping, now it is working!


Pace doesn't fire while posting formData with an image?

I have pace set up normally, it definitely works for initial page load and ajax 'GET' requests.
However, when posting a form with ajax that has an image in it, pace does not fire. While the data is being sent to the server, the status of the POST is pending... When it finishes it becomes a 200. This whole time pace just sits with the .pace-inactive class. The images and form data are successfully saved.
Here's the jquery I'm posting the form with:
var formData = new FormData(form);
$.ajax({
	type: 'POST',
	contentType: false,
	processData: false,
	url: url,
	data: formData
});

I am able to successfully catch the start and end events I want using this jquery:
$(document).ajaxStart(function() {
	$('body').addClass('loading');
});
$(document).ajaxStop(function() {
	$('body').removeClass('loading');
});

Is pace.js meant to track data that is being uploaded during a POST?

@nickforddesign I have the same problem with POST requests. I'm assuming that pace does not show a progress bar for POST.

Pace works with POST request. I edited pace.js and added track method ["POST"] it works.
Open Pace.js and find ["GET"] replace it with ["GET","POST"] after it will accept all post request :+1:

You can choose what pace tracks by setting the options. By default pace only tracks GET requests.
paceOptions = {
   ajax: {
         trackMethods: ['GET', 'POST', 'DELETE', 'PUT', 'PATCH']
   }
}

@Friss it did not work. :(
i don't know why but after edit main js file it works.

@rajlaksh did you declare that variable before including the pace.js file? Because that would explain it not working.

@Friss i tried that method before editing. It not work.
I placed my pace.js before declare. so it won't give any error. if i added it before pace.js it will return error.
That method didn't work so i edit pace.js and Happy :)

@Friss Thanks. It worked like a charm.

@Friss just what I was looking for! Thank you!
source documentation for ajax.trackMethods

How do i set up pace for a normal form not ajax - this form accepts an address and process information about the address on another page. after the form is clicked it takes a significant amount of time for the results to come but the pace comes only for 1 second after the results page shows


Use get_cursor_shape for identifying the cursor shape in AnimationTimelineEdit

get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to change the default cursor shape on every mouse move event.
This patch changes, that the CURSOR_HSIZE is displayed during dragging.
Was part of the reason for #58960.

Thanks!

Cherry-picked for 3.5.


Server-UI: Apps aren't listed

Installed epinio-0.0.19 to Azure AKS.

created and targeted a new org "suse"
pushe the sample app

> ./epinio-0.0.19 apps list

🚢 Listing applications
Organization: suse

✔  Epinio Applications:
|  NAME  | STATUS |                 ROUTES                 | SERVICES |
|--------|--------|----------------------------------------|----------|
| sample | 1/1    | sample.<IP_ADDRESS>.omg.howdoi.website |          |

When I log into the UI, applications for org "suse" aren't listed - this also happened when I pushed the sample app within default org "workspace" - Apps aren't listed at all.
Warnings from the browser console:
DevTools failed to load source map: Could not load content for https://epinio.<IP_ADDRESS>.omg.howdoi.website/assets/js/vendor/popper.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

Errors from the browser console:
Uncaught (in promise) TypeError: Cannot read property '0' of undefined
    at eval (eval at compileToFunction (vue.js:13289), <anonymous>:84:53)
    at renderList (vue.js:7900)
    at Proxy.render (eval at compileToFunction (vue.js:13289), <anonymous>:80:68)
    at renderComponentRoot (vue.js:1888)
    at componentEffect (vue.js:5252)
    at reactiveEffect (vue.js:400)
    at callWithErrorHandling (vue.js:1351)
    at flushJobs (vue.js:1557)

This will likely be superseded by the new UI that's being built


We have created 2 repo of type docker but we are unable to push images to second repository.

Hi,
We have created 2 repository of type docker for storing docker images. but if we push images to second repo it will go to first repo. Please help on this.

Try edit ingress with this nginx config.


Inappropriate Use of Semantic HTML5 Elements

the closing head tag is coming after the body tag
the  tag should wrap the whole elements in the body, that is the opening  tag should be after the closing  tag and the closing  should come before the opening footer tag.

suggestions:

the different sections should be wrapped in the  tag so as to improve easy code maintenance, accessibility and SEO.
the images without alt property should have alt properties.

@dohoudaniel @ALX-SE-Algorithmia/code-reviewing-team

@Dprof-code Please work on this, and fix it using a PR.
It has been assigned to you.


build.xml depends on nbproject/build-impl.xml

Hi!
Thanks for sharing this project.
I've tried to run it using the ant build system but your build.xml depends on nbproject/build-impl.xml
can you please upload it as well?
thanks

Hi.
I'm noticing right now that my build.xml file must not be there (just like my nbproject isn't). Are you using NetBeans? If so, you have to create your project from the original folder sources, and let the IDE creates your own nbproject.
You also have to configure the project's properties according to the required libraries (Libraries -> Compile-time libraries -> Classpath -> add all the libraries in libs folder and JavaFX one's | Libraries -> Run-time libraries -> Modulepath -> add JavaFX lib | Run -> VM Options -> add javafx-sdk lib path).
My test was using JDK19 & JavaFX20 (I've tested again right now, and it worked well after 18 months... amazing 😂)
Confirm, please.

Hi, fair play, thanks for the clarification. While it's useful to configure the project in NetBeans, having a build.xml (or equivalent for other build tools like maven or graddle) is generally considered good practice for automating builds and managing dependencies across different environments. It would help users who prefer not to rely solely on an IDE.
I am using visual studio code. I might try to create a maven file for the build process but ultimately I might also install netbeans.
I am on a tight schedule now so I don't know when I can deliver an update.
Again, thanks for sharing this amazing work!!

Hi again.
I appreciate your words 🙂
It's just the opposite of that you are pointing out. The easy way for working with JavaFX is definitively my way. As the docs clearly (?) explain, you have several options of configurations relying on your favorite choose. JavaFX is wickedly witchy.
Do you like VSC with maven? Be my guest:
https://openjfx.io/openjfx-docs/#introduction
All this reminded me CMake... when people just leave so many options that do nothing, just because they were there, and Maven is worse than that.

Good news.
I have a pure maven working version, tested with JavaFX20 & JDK 21.
I'm using IntelliJ IDEA, with no extra configurations (angel maven will take care of you).
Jokes aside, maybe you don't like anything beyond VSC, but I'm a JetBrains disciple.

Hi @criogenox,
Just taking a moment to say that having looked at the sourcode I commend the work you've done on https://github.com/criogenox/B_ECC-Equivalent-Conicity-Calculation and aslo appreciate your prompt response on github.
(I work with @lmjordao)
Cheers
AG

Thanks for your kind words @a-gertner 🙂
New branch created (now as default). Entirely maven version.