SCons: Ignore *.gen.[h|cpp|inc] files during cleanup

When using --clean in a local repo, it's done with the intent of clearing out stray object files; so it can be annoying for build-agnostic generated files to also be removed in the process. Some of these files are already skipped during cleanup because they don't invoke SCons directly, but otherwise they will always be removed. This PR addresses this mild annoyance by wrapping any relevant *.gen.* SCons actions with NoClean, ensuring the generated files will persist after a cleanup while otherwise behaving identically.

Seems like documentation will need to be amended in the case where .gen.cpp files are outdated in major version releases to use git clean -fxd

Because the source files are targets of generation they won't be, but I can sense the appeal of working for the common case.

Interesting that some object files are persisting, this shouldn't have done anything to affect that. I was testing on Windows though, so it's possibly Linux-specific somehow?

@Calinou
Did some Linux tests to see if anything is actually awry there; here's the two different outcomes from fresh builds/cleans of both:

Live
Would remove .sconf_temp/
Would remove .scons_env.json
Would remove .scons_node_count
Would remove .sconsign5.dblite
Would remove __pycache__/
Would remove config.log
Would remove core/__pycache__/
Would remove core/disabled_classes.gen.h
Would remove core/extension/__pycache__/
Would remove core/input/__pycache__/
Would remove core/object/__pycache__/
Would remove core/script_encryption_key.gen.cpp
Would remove core/version_generated.gen.h
Would remove core/version_hash.gen.cpp
Would remove editor/__pycache__/
Would remove editor/doc_data_class_path.gen.h
Would remove editor/icons/__pycache__/
Would remove editor/register_exporters.gen.cpp
Would remove editor/themes/__pycache__/
Would remove main/__pycache__/
Would remove modules/__pycache__/
Would remove modules/astcenc/__pycache__/
Would remove modules/basis_universal/__pycache__/
Would remove modules/bmp/__pycache__/
Would remove modules/camera/__pycache__/
Would remove modules/csg/__pycache__/
Would remove modules/cvtt/__pycache__/
Would remove modules/dds/__pycache__/
Would remove modules/enet/__pycache__/
Would remove modules/etcpak/__pycache__/
Would remove modules/fbx/__pycache__/
Would remove modules/freetype/__pycache__/
Would remove modules/gdscript/__pycache__/
Would remove modules/glslang/__pycache__/
Would remove modules/gltf/__pycache__/
Would remove modules/gridmap/__pycache__/
Would remove modules/hdr/__pycache__/
Would remove modules/interactive_music/__pycache__/
Would remove modules/jpg/__pycache__/
Would remove modules/jsonrpc/__pycache__/
Would remove modules/ktx/__pycache__/
Would remove modules/lightmapper_rd/__pycache__/
Would remove modules/mbedtls/__pycache__/
Would remove modules/meshoptimizer/__pycache__/
Would remove modules/minimp3/__pycache__/
Would remove modules/mobile_vr/__pycache__/
Would remove modules/mono/__pycache__/
Would remove modules/msdfgen/__pycache__/
Would remove modules/multiplayer/__pycache__/
Would remove modules/navigation/__pycache__/
Would remove modules/noise/__pycache__/
Would remove modules/ogg/__pycache__/
Would remove modules/openxr/__pycache__/
Would remove modules/raycast/__pycache__/
Would remove modules/regex/__pycache__/
Would remove modules/register_module_types.gen.cpp
Would remove modules/squish/__pycache__/
Would remove modules/svg/__pycache__/
Would remove modules/text_server_adv/__pycache__/
Would remove modules/text_server_fb/__pycache__/
Would remove modules/tga/__pycache__/
Would remove modules/theora/__pycache__/
Would remove modules/tinyexr/__pycache__/
Would remove modules/upnp/__pycache__/
Would remove modules/vhacd/__pycache__/
Would remove modules/vorbis/__pycache__/
Would remove modules/webp/__pycache__/
Would remove modules/webrtc/__pycache__/
Would remove modules/websocket/__pycache__/
Would remove modules/webxr/__pycache__/
Would remove modules/xatlas_unwrap/__pycache__/
Would remove modules/zip/__pycache__/
Would remove platform/android/__pycache__/
Would remove platform/android/export/logo_svg.gen.h
Would remove platform/android/export/run_icon_svg.gen.h
Would remove platform/ios/__pycache__/
Would remove platform/ios/export/logo_svg.gen.h
Would remove platform/ios/export/run_icon_svg.gen.h
Would remove platform/linuxbsd/__pycache__/
Would remove platform/linuxbsd/export/logo_svg.gen.h
Would remove platform/linuxbsd/export/run_icon_svg.gen.h
Would remove platform/macos/__pycache__/
Would remove platform/macos/export/logo_svg.gen.h
Would remove platform/macos/export/run_icon_svg.gen.h
Would remove platform/register_platform_apis.gen.cpp
Would remove platform/web/__pycache__/
Would remove platform/web/export/logo_svg.gen.h
Would remove platform/web/export/run_icon_svg.gen.h
Would remove platform/windows/__pycache__/
Would remove platform/windows/export/logo_svg.gen.h
Would remove platform/windows/export/run_icon_svg.gen.h
Would remove scene/theme/__pycache__/
Would remove scene/theme/icons/__pycache__/

PR
Would remove .sconf_temp/
Would remove .scons_env.json
Would remove .scons_node_count
Would remove .sconsign5.dblite
Would remove __pycache__/
Would remove config.log
Would remove core/__pycache__/
Would remove core/authors.gen.h
Would remove core/disabled_classes.gen.h
Would remove core/donors.gen.h
Would remove core/extension/__pycache__/
Would remove core/extension/ext_wrappers.gen.inc
Would remove core/extension/gdextension_interface_dump.gen.h
Would remove core/input/__pycache__/
Would remove core/input/default_controller_mappings.gen.cpp
Would remove core/io/certs_compressed.gen.h
Would remove core/license.gen.h
Would remove core/object/__pycache__/
Would remove core/object/gdvirtual.gen.inc
Would remove core/script_encryption_key.gen.cpp
Would remove core/version_generated.gen.h
Would remove core/version_hash.gen.cpp
Would remove drivers/gles3/shaders/canvas.glsl.gen.h
Would remove drivers/gles3/shaders/canvas_occlusion.glsl.gen.h
Would remove drivers/gles3/shaders/canvas_sdf.glsl.gen.h
Would remove drivers/gles3/shaders/cubemap_filter.glsl.gen.h
Would remove drivers/gles3/shaders/effects/copy.glsl.gen.h
Would remove drivers/gles3/shaders/effects/glow.glsl.gen.h
Would remove drivers/gles3/shaders/effects/post.glsl.gen.h
Would remove drivers/gles3/shaders/particles.glsl.gen.h
Would remove drivers/gles3/shaders/particles_copy.glsl.gen.h
Would remove drivers/gles3/shaders/scene.glsl.gen.h
Would remove drivers/gles3/shaders/skeleton.glsl.gen.h
Would remove drivers/gles3/shaders/sky.glsl.gen.h
Would remove editor/__pycache__/
Would remove editor/doc_data_class_path.gen.h
Would remove editor/doc_data_compressed.gen.h
Would remove editor/doc_translations.gen.h
Would remove editor/editor_translations.gen.h
Would remove editor/extractable_translations.gen.h
Would remove editor/icons/__pycache__/
Would remove editor/property_translations.gen.h
Would remove editor/register_exporters.gen.cpp
Would remove editor/themes/__pycache__/
Would remove editor/themes/builtin_fonts.gen.h
Would remove editor/themes/editor_icons.gen.h
Would remove main/__pycache__/
Would remove main/app_icon.gen.h
Would remove main/splash.gen.h
Would remove modules/__pycache__/
Would remove modules/astcenc/__pycache__/
Would remove modules/basis_universal/__pycache__/
Would remove modules/bmp/__pycache__/
Would remove modules/camera/__pycache__/
Would remove modules/csg/__pycache__/
Would remove modules/cvtt/__pycache__/
Would remove modules/dds/__pycache__/
Would remove modules/enet/__pycache__/
Would remove modules/etcpak/__pycache__/
Would remove modules/fbx/__pycache__/
Would remove modules/freetype/__pycache__/
Would remove modules/gdscript/__pycache__/
Would remove modules/gdscript/editor/script_templates/templates.gen.h
Would remove modules/glslang/__pycache__/
Would remove modules/gltf/__pycache__/
Would remove modules/gridmap/__pycache__/
Would remove modules/hdr/__pycache__/
Would remove modules/interactive_music/__pycache__/
Would remove modules/jpg/__pycache__/
Would remove modules/jsonrpc/__pycache__/
Would remove modules/ktx/__pycache__/
Would remove modules/lightmapper_rd/__pycache__/
Would remove modules/lightmapper_rd/lm_blendseams.glsl.gen.h
Would remove modules/lightmapper_rd/lm_compute.glsl.gen.h
Would remove modules/lightmapper_rd/lm_raster.glsl.gen.h
Would remove modules/mbedtls/__pycache__/
Would remove modules/meshoptimizer/__pycache__/
Would remove modules/minimp3/__pycache__/
Would remove modules/mobile_vr/__pycache__/
Would remove modules/modules_enabled.gen.h
Would remove modules/modules_tests.gen.h
Would remove modules/mono/__pycache__/
Would remove modules/msdfgen/__pycache__/
Would remove modules/multiplayer/__pycache__/
Would remove modules/navigation/__pycache__/
Would remove modules/noise/__pycache__/
Would remove modules/ogg/__pycache__/
Would remove modules/openxr/__pycache__/
Would remove modules/raycast/__pycache__/
Would remove modules/regex/__pycache__/
Would remove modules/register_module_types.gen.cpp
Would remove modules/squish/__pycache__/
Would remove modules/svg/__pycache__/
Would remove modules/text_server_adv/__pycache__/
Would remove modules/text_server_fb/__pycache__/
Would remove modules/tga/__pycache__/
Would remove modules/theora/__pycache__/
Would remove modules/tinyexr/__pycache__/
Would remove modules/upnp/__pycache__/
Would remove modules/vhacd/__pycache__/
Would remove modules/vorbis/__pycache__/
Would remove modules/webp/__pycache__/
Would remove modules/webrtc/__pycache__/
Would remove modules/websocket/__pycache__/
Would remove modules/webxr/__pycache__/
Would remove modules/xatlas_unwrap/__pycache__/
Would remove modules/zip/__pycache__/
Would remove platform/android/__pycache__/
Would remove platform/android/export/logo_svg.gen.h
Would remove platform/android/export/run_icon_svg.gen.h
Would remove platform/ios/__pycache__/
Would remove platform/ios/export/logo_svg.gen.h
Would remove platform/ios/export/run_icon_svg.gen.h
Would remove platform/linuxbsd/__pycache__/
Would remove platform/linuxbsd/export/logo_svg.gen.h
Would remove platform/linuxbsd/export/run_icon_svg.gen.h
Would remove platform/macos/__pycache__/
Would remove platform/macos/export/logo_svg.gen.h
Would remove platform/macos/export/run_icon_svg.gen.h
Would remove platform/register_platform_apis.gen.cpp
Would remove platform/web/__pycache__/
Would remove platform/web/export/logo_svg.gen.h
Would remove platform/web/export/run_icon_svg.gen.h
Would remove platform/windows/__pycache__/
Would remove platform/windows/export/logo_svg.gen.h
Would remove platform/windows/export/run_icon_svg.gen.h
Would remove scene/theme/__pycache__/
Would remove scene/theme/default_font.gen.h
Would remove scene/theme/default_theme_icons.gen.h
Would remove scene/theme/icons/__pycache__/
Would remove servers/rendering/renderer_rd/shaders/blit.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/canvas.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/canvas_occlusion.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/canvas_sdf.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/cluster_debug.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/cluster_render.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/cluster_store.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/blur_raster.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/bokeh_dof.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/bokeh_dof_raster.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/copy.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/copy_to_fb.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/cube_to_dp.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/cubemap_downsampler.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/cubemap_downsampler_raster.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/cubemap_filter.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/cubemap_filter_raster.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/cubemap_roughness.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/cubemap_roughness_raster.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_accumulate_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_autogen_reactive_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_compute_luminance_pyramid_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_depth_clip_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_lock_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_rcas_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_reconstruct_previous_depth_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr2/fsr2_tcr_autogen_pass.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/fsr_upscale.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/luminance_reduce.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/luminance_reduce_raster.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/motion_vectors.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/resolve.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/roughness_limiter.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/screen_space_reflection.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_filter.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/screen_space_reflection_scale.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/shadow_frustum.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/sort.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/specular_merge.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ss_effects_downsample.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssao.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssao_blur.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssao_importance_map.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssao_interleave.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssil.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssil_blur.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssil_importance_map.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/ssil_interleave.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/subsurface_scattering.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/taa_resolve.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/tonemap.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/effects/vrs.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/gi.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/sdfgi_debug.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/sdfgi_debug_probes.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/sdfgi_direct_light.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/sdfgi_integrate.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/sdfgi_preprocess.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/sky.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/volumetric_fog.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/volumetric_fog_process.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/voxel_gi.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/voxel_gi_debug.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/environment/voxel_gi_sdf.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/forward_clustered/best_fit_normal.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/giprobe_write.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/particles.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/particles_copy.glsl.gen.h
Would remove servers/rendering/renderer_rd/shaders/skeleton.glsl.gen.h
Would remove thirdparty/icu4c/icudata.gen.h

From these, we can gather a few things: firstly, which specific generated files were already not getting cleaned:
core/disabled_classes.gen.h
core/script_encryption_key.gen.cpp
core/version_generated.gen.h
core/version_hash.gen.cpp
editor/doc_data_class_path.gen.h
editor/register_exporters.gen.cpp
modules/register_module_types.gen.cpp
platform/android/export/logo_svg.gen.h
platform/android/export/run_icon_svg.gen.h
platform/ios/export/logo_svg.gen.h
platform/ios/export/run_icon_svg.gen.h
platform/linuxbsd/export/logo_svg.gen.h
platform/linuxbsd/export/run_icon_svg.gen.h
platform/macos/export/logo_svg.gen.h
platform/macos/export/run_icon_svg.gen.h
platform/register_platform_apis.gen.cpp
platform/web/export/logo_svg.gen.h
platform/web/export/run_icon_svg.gen.h
platform/windows/export/logo_svg.gen.h
platform/windows/export/run_icon_svg.gen.h

Second, that I cannot replicate the issue of .o files persisting. I think it's much more likely that those files were already persisting in that repo, as SCons seriously struggles to remove files it no longer is "aware" of.
@fire

Because the source files are targets of generation they won't be

I must be missing something, because this doesn't seem true at all. If I change any of the file dependencies for a generated file, the generated file will be rebuilt like normal. Neither setting the file to not be cleaned nor the fact that it compiles an object changes this. I verified this by tweaking gamecontrollerdb.txt, a dependency of default_controller_mappings.gen.cpp, and had this output:
...
scons: Building targets ...
[ 79%] Generating core\input\default_controller_mappings.gen.cpp ...
[ 79%] Compiling core\input\default_controller_mappings.gen.cpp ...
[ 80%] default_controller_mappings.gen.cpp
[ 83%] Linking Static Library core\core.windows.editor.dev.x86_64.lib ...
[ 86%] Linking Program bin\godot.windows.editor.dev.x86_64.exe ...
[ 97%] Building compilation database compile_commands.json
[ 99%] progress_finish(["progress_finish"], [])
[100%]    Creating library bin\godot.windows.editor.dev.x86_64.lib and object bin\godot.windows.editor.dev.x86_64.exp
[100%] Linking Program bin\godot.windows.editor.dev.x86_64.console.exe ...
[100%] scons: done building targets.

Anything outdated gets rebuilt as needed. Again, could just be totally misunderstanding the situation, but I can't see any reason that documentation would need to be updated, as this doesn't seem to actually be an issue in the first place.

I personally tend to use --clean not just to remove object files, but to remove everything that was generated by SCons. Notably this is needed when optimizing the build system itself to see how long it takes to generate files, etc.
From what I read this was already not fully effective? The alternative is git clean -fxd but the main issue with that it that it removes everything, including IDE configuration files present in the local clone.

The reason --clean doesn't remove everything is because of the way some files are currently generated; namely, they don't call to SCons directly. While I like keeping build-agnostic generated files, having them cleaned in a consistent manner makes sense. It'd be nice if SCons supported a way to force-clean files marked as "NoClean", but I don't believe such an option exists atm. I can setup an alternative PR that achieves exactly that, being an antithesis to this preserve-all implementation.


Silent Install

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
Solution 1 (Using BetterDiscord-Windows.exe):
(New-Object System.Net.WebClient).DownloadFile('https://github.com/BetterDiscord/Installer/releases/latest/download/BetterDiscord-Windows.exe', "$env:TEMP\BetterDiscord.exe")
Start-Process -FilePath "$env:TEMP\BetterDiscord.exe" -ArgumentList '/S'

Solution 2 (Using betterdiscord.asar):
(TODO: Learn how to install a .asar file using PowerShell)

Describe alternatives you've considered
I tried a this https://github.com/BetterDiscord/Installer/issues/52#issuecomment-813924646 but I get the following error:
Join-Path : A positional parameter cannot be found that accepts argument 'app-0.0.309'.
At line:1 char:31
+ ... cordPath = (Join-Path $env:LOCALAPPDATA "Discord" "app-0.0.309" "reso ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Join-Path], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.JoinPathCommand

See https://github.com/BetterDiscord/cli for GUI-less installation.

@Obegg I tried to realize something that you would like to see, small details are taken into account...
https://gitlab.com/CocoJamboo/JUScord

Hahah love it, nice, I think I see ChatGPT helping you (correct me if I'm wrong).

The scripts were made hastily, nevertheless, it did not prevent the tests, and the realization of a large part of the wishes.  First of all microsoft documentation helped in doing the routine steps, then forums for quick implementation of tostNotifications, and finally in the .NET part the response from chatGPT, yes I used all possible methods to speed up the development.

The only issue I have with installing BetterDiscord using the PowerShell script to this day is I can't find a way to automate it to detect whenever Discord has been updated
This is annoying, in linux I would create an init to check the contents of a discord file that only ran when a discord exists. This can be implemented in windows as well, but is more complicated.. For this purpose, I implemented a mechanism that allows you to open discord, wait 30 seconds (in most cases this should be enough), and eventually check the contents of the passphrase, which allows you not to replace the text if it exists, and not to restart discord.

I see you are taking a different approach than mine and actually using two .ps1 files, one for adding the task scheduler task - which could be done by something like

The only reason in several powershell scripts (install and juscord) is that not everyone needs a windows scheduler job, you can just grab juscord and start Discord with it (which makes me want to add the ability to create a shortcut in the script).


How would the movies app be unit tested?

Could we get some examples of how to unit test parts of this application, how about asserting the number of lists created and that tapping on one of them performs the appropriate action. It's not straight forward to understand how to go from the example on the ti-mocha homepage to an app like this one.

You would use ti-mocha indeed. We can add some unit tests in Q1, just follow this ticket!


TokenMismatchException in VerifyCsrfToken.php line 67

Hi there!
I clone the repository, install dependecies and migrate the database. Although, when trying to register I get the error:
TokenMismatchException in VerifyCsrfToken.php line 67
I try the 5.2 branch and comes up with the same error...

I have also same.

Same here. But I've found the answer here http://stackoverflow.com/questions/34866404/tokenmismatchexception-in-verifycsrftoken-php-line-67

Please check the crsf token in the views:

And also, make sure you have the .env file settle up, with a key:
php artisan key:generate

Same Condition with me too..

Well, the solution for this error is pretty simple. Normally, when you want to quickly test out a fresh install of Laravel most of us result to using the in built server initiated through "php artisan serve" in the command line. From my research, and I stand to be corrected, this is the cause of the error. To get your application running in Windows, setup a virtual host, using Xampp or Wampp, and your app will be up and running in no time.

By default session cookies will only be sent back to the server if the browser has a HTTPS connection. You can turn it off in your .env file
SESSION_SECURE_COOKIE=false

Or you can turn it off in config/session.php
'secure' => false,

My Local not error CsrfToken but live server error "TokenMismatchException in VerifyCsrfToken.php line 67:"
Please Any help Me

@patelsagar just generate a new secret key and you will be fine.
php artisan key:generate

I was facing such exception because of POST Content-Length Limit. I guess Laravel's exceptions are not throwing relevant messages.
https://twitter.com/GiftyMalik/status/801433322706518016

@patelsagar ı have a same problem. If you can solve the problem, I am curious about the solution.

@patelsagar  @Qh0stM4N : Have you guys find a solution ? I am having the same problem.

i have the same problem too

Please check if you have any file or route file begin with [enter] and <?php .
Remember there should not be any white space and line break in php file .
when u host project to linux server you will get token TokenMismatchException error .

all the files is ok. Laravel 5 has so many bugs

I have same issue when I was trying out Laravel 5.2 at first, then I learnt about {{!! csrf_field() !!}} to be added in the form and that solved it. But later I learnt about Form Helpers, this takes care of CSRF protection and does not give any errors. Though Form Helpers are not legitimately available after Laravel 5.2, you can still use them from LaravelCollective.

@cpapidas @sagarshah16 not solved 👎local is fine but server down session.
After a long search I could not find a solution. I could not even identify the source of the problem.
I can recommend to install the latest version of the laravel and move the old application code.
fix problem maybe in a short time.


Add support for subselect statments in FOR JSON AUTO

Description
This commit adds support for sub select statements in FOR JSON AUTO.
Issues Resolved
Task: BABEL-4701
Test Scenarios Covered

Use case based -

select top 10
U.id,
U.firstname,
(select O.productId from forjson_auto_vu_t_orders O where O.userid = U.id for json auto) as details from forjson_auto_vu_t_users U for json auto

----------------------------------------
[{"id": 1, "firstname": "j", "details": {"productId": 1}}, {"id": 1, "firstname": "e", "details": {"productId": 1}}]

CREATE PROCEDURE forjson_vu_p_15 AS
    BEGIN
        DECLARE @json_string NVARCHAR(2000)
        SET @json_string = (select P.price, O.productId from forjson_auto_vu_t_orders O JOIN forjson_auto_vu_t_products P ON (P.id = O.productid) for json auto)
        select U.id, U.firstname, @json_string as details from forjson_auto_vu_t_users U for json auto
    END
GO

----------------------------------------
[{"id": 1, "firstname": "j", "details": "[{\"price\": \"30\", \"o\": [{\"productId\": 1}, {\"productId\": 1}]}, {\"price\": \"20\", \"o\": [{\"productId\": 1}, {\"productId\": 1}]}]"}, {"id": 1, "firstname": "e", "details": "[{\"price\": \"30\", \"o\": [{\"productId\": 1}, {\"productId\": 1}]}, {\"price\": \"20\", \"o\": [{\"productId\": 1}, {\"productId\": 1}]}]"}]

select U.id,
    U.firstname,
    (select P.price, O.productId from forjson_auto_vu_t_orders O JOIN forjson_auto_vu_t_products P ON (P.id = O.productid) for json auto) as "details" from forjson_auto_vu_t_users U for json auto

----------------------------------------

[{"id": 1, "firstname": "j", "details": {"o": [{"productId": 1}, {"productId": 1}], "price": "30"}}, {"id": 1, "firstname": "e", "details": {"o": [{"productId": 1}, {"productId": 1}], "price": "30"}}]

select distinct top 10
        U.id,
        (select distinct O.productId from forjson_auto_vu_t_orders O where O.userid = U.id)
        as details
        from forjson_auto_vu_t_users U
        group by U.id
        for json auto

----------------------------------------
[{"id": 1, "details": 1}]

Boundary conditions -

Arbitrary inputs -

select U.id, (select NULL) as details from forjson_auto_vu_t_users U for json auto
go
~~START~~
nvarchar
[{"id": 1}, {"id": 1}]
~~END~~

Negative test cases -

select * from forjson_auto_vu_t_users U where U.Id = (SELECT MAX(O.userid) from forjson_auto_vu_t_orders O for json auto) for json auto
go
~~START~~
nvarchar
~~ERROR (Code: 33557097)~~

~~ERROR (Message: sub-select and values for json auto are not currently supported.)~~

select U.id,
    U.firstname,
    (select P.price from fake_table P for json auto) as "details" from forjson_auto_vu_t_users U for json auto
GO
~~ERROR (Code: 33557097)~~

~~ERROR (Message: relation "fake_table" does not exist)~~

Minor version upgrade tests -
Tests included in upgrade schedules

Major version upgrade tests -
Tests included in upgrade schedules

Performance tests -

Tooling impact -

Client tests -

Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-1 of 65 (98.46%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.008%) to 72.771%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contrib/babelfishpg_tsql/src/pl_handler.c
62
63
98.41%

Totals

Change from base Build<PHONE_NUMBER>:
0.008%

Covered Lines:
40946

Relevant Lines:
56267

💛  - Coveralls


CI/CD on feat-track-2.0

CI/CD on feat-track-2.0 should pass on this branch

Hi @gRoussac ,
Can I close this issue, please?


Link to Example Code for CSS is Broken

Hello,
When I tried to contribute to this project, I was asked to convert CSS to a component. Since I wasn't sure how to do it, I looked up the code style guide document. There was guideline for this and had link to example code, but the link provided in the document is broken, so I wasn't able to modify my code as per the maintainer's request.
Could you please update the link to a working document? Thank you.

@seanlip I was able to get the same error and the error mentioned that the 'oppia/oppia' repository doesn't contain the 'core/templates/components/summary_tile/exploration_summary_tile_directive.html' path in '37a43ca249ffd2b60bf98f791995048ce0ec5269' as shown in screenshot below.

Then I looked through the codebase and I think I found a file with a similar name that could be the file 'exploration-summary-tile.component.html' at this path 'Oppia/core/templates/components/summary-tile/exploration-summary-tile.components.html.'

Is this the correct file and if it is, can I be assigned the issue to fix the link?
Thank you!

@seoeunHong @nicoleSosa Nice catch! It looks like we will have to update the Coding style wiki page. Thanks for bringing this up!

Is this the correct file and if it is, can I be assigned the issue to fix the link?

@nicoleSosa yes that's the correct file. I've assigned you! When do you expect to fix this issue?

@U8NWXD Thank you for assigning me the issue. I expect to fix this issue by tomorrow.

@U8NWXD I think the issue is already fixed because when I try reproducing the issue and went to this guideline page. I noticed that the link for example code is fixed with this link.

I think the broken link is in the later bullet:

For directives, include the CSS in the directive template file, similar to what we do in this file. (Note that, in this case, all CSS rules should start with the top-level CSS class of the directive, so that they don't affect other elements outside it.) All other CSS should go in core/templates/css/oppia.css.

The "this file" link is broken

@U8NWXD Do we still use directives, and under what conditions do we expect developers to include the CSS within the file? Since we are now creating separate .css files

@U8NWXD I submitted a pull request for this issue . Thank you for your help.


11177: Fix standard report to mark self populated

Apparently this has broken for at least an olympiad...
The standard report was not marking itself populated properly after running, so the view wasn't rendering itself. Only happened in cases where the report data is sent in the AJAX response rather than after a refresh, when it's run anew.

Fails = flaps


Use SPDX identifier in license field of META6.json

Use the standardized identifier for the license field.
For more details see https://design.perl6.org/S22.html#license

Thanks!
CI somehow fails ... I'll check it later.

☝ It seems something unlucky (on master ci passed)


[ELE-210] Show error message in Python tests

Is your feature request related to a problem? Please describe.
Users are unable to understand why a Python test errored.
Describe the solution you'd like
The dbt error should show the error that is returned from the warehouse (Dataproc on BigQuery, Procedures on Snowflake, etc.)
Describe alternatives you've considered
Users can inspect the job history in order to get the error.
Perhaps as a short-term solution we can just log the URL of the job.
Additional context
We use a dbt macro (submit_python_job) that is used for Python models in order to run Python tests.
This macro validates that it's only used in the context of a Python model.
    @contextmember
    def submit_python_job(self, parsed_model: Dict, compiled_code: str) -> AdapterResponse:
        # Check macro_stack and that the unique id is for a materialization macro
        if not (
            self.context_macro_stack.depth == 2
            and self.context_macro_stack.call_stack[1] == "macro.dbt.statement"
            and "materialization" in self.context_macro_stack.call_stack[0]
        ):
            raise DbtRuntimeError(
                f"submit_python_job is not intended to be called here, at model {parsed_model['alias']}, with macro call_stack {self.context_macro_stack.call_stack}."
            )
        return self.adapter.submit_python_job(parsed_model, compiled_code)

We currently pass this check using this macro.
However, editing the macro stack causes dbt to crash elsewhere and therefore not return the appropriate error message.
ELE-210

Duplicate of #701.


Why use pillar in nuScenes but not voxel?

In the appendix A of  paper HEDNet, "We adopted the detection head of TransFusion-L [28]
for HEDNet and primarily followed the training and inference schemes of TransFusion-L [28]. The voxel size was set to (0.075m, 0.075m, 0.2m)" has been mentioned.
It seems a mistake or I miss something?

I found another repo of yours, where it use voxel. And the performance only drops slightly shown in README. Could you give me a hint about the reason?
Looking forward the reply.

In the appendix A of paper HEDNet, "We adopted the detection head of TransFusion-L [28] for HEDNet and primarily followed the training and inference schemes of TransFusion-L [28]. The voxel size was set to (0.075m, 0.075m, 0.2m)" has been mentioned. It seems a mistake or I miss something?

The HEDNet adopts the detection pipeline of TransFusion-L. The original implementation of HEDNet on the nuScenes dataset in the paper indeed adopts a voxel size of (0.075m, 0.075m, 0.2m) (this repo based on MMDetection3D). However, the voxel version of TransFusion-L in OpenPCDet achieves worse results than that in MMDetection3D. To unify the codebase of HEDNet on all datasets using OpenPCDet, we release a pillar version of HEDNet on the nuScenes dataset, which performs comparably to the voxel version in MMDetection3D.

Got it! Thx for the reply.


display input word

Display user input instantly at game_play_letters.dart
It needs the agtrlabs/circular_pattern#2 issue to be done, first.
Once circular_pattern updated, we can simply convert GamePlayLetters to a stateful widget. then display the builded word above the circle using onChange property.

circular_pattern is updated to v0.0.3 onChange event is now available.


Feature Request: Typescript definition file for better Angular2 integration

I am, as a lot of Angular 2 developers, working more and more with Typescript. And, as you may know, Typescript needs typings for external libraries. So it would be great if you could add the typings within the npm module.
Should I move this to https://github.com/Saulis/angular2-iron-data-table ?

This issue was moved to Saulis/angular2-iron-data-table#4


tests.yaml is failing (because there aren't any tests?)

The tests.yaml workflow is currently failing with the following error:
Run pytest -v --doctest-modules --cov=src --junitxml=junit.xml -s --ignore=docs
  pytest -v --doctest-modules --cov=src --junitxml=junit.xml -s --ignore=docs
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.10.15/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.15/x64/lib
============================= test session starts ==============================
platform linux -- Python 3.10.15, pytest-8.3.3, pluggy-1.5.0 -- /opt/hostedtoolcache/Python/3.10.15/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/MEDS-DEV/MEDS-DEV
configfile: pyproject.toml
plugins: hydra-core-1.3.[2](https://github.com/mmcdermott/MEDS-DEV/actions/runs/11132621671/job/30936885917#step:5:2), cov-5.0.0
collecting ... collected 0 items

------ generated xml file: /home/runner/work/MEDS-DEV/MEDS-DEV/junit.xml -------

---------- coverage: platform linux, python [3](https://github.com/mmcdermott/MEDS-DEV/actions/runs/11132621671/job/30936885917#step:5:3).10.15-final-0 ----------
Name                               Stmts   Miss  Cover
------------------------------------------------------
src/MEDS_DEV/__init__.py               6      2    67%
src/MEDS_DEV/configs/__init__.py       0      0   100%
src/MEDS_DEV/helpers/__init__.py       0      0   100%
------------------------------------------------------
TOTAL                                  6      2    67%

============================ no tests ran in 0.07s =============================
Error: Process completed with exit code [5](https://github.com/mmcdermott/MEDS-DEV/actions/runs/11132621671/job/30936885917#step:5:5).

I think this is just because there aren't any tests to run?
@rafgia please could you have a go at fixing this issue?

Yes, this error is caused by the absence of tests to run. There should be a directory containing the test files, or they should be specified in a section of the pyproject.toml file.
When I run pytest -v I get "Collected 0 items".

I assume this is just a placeholder for now since we don't have any things like evaluation scripts merged in yet!

I had a similar issue, and @mmcdermott suggested deleting the tests.yaml file for now and restore it once we need it. I could do this if there are no objections.

I actually added a simple doctest so this should be solved
On Fri, Oct 11, 2024, 7:32 AM Kamilė Stankevičiūtė @.***>
wrote:

I had a similar issue, and @mmcdermott https://github.com/mmcdermott
suggested deleting the tests.yaml file for now and restore it once we
need it. I could do this if there are no objections.
—
Reply to this email directly, view it on GitHub
https://github.com/mmcdermott/MEDS-DEV/issues/20#issuecomment-2407218617,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADS5X7B45FDXKOQU3JATQ3Z26ZLJAVCNFSM6AAAAABPKE6CVWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXGIYTQNRRG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

@mmcdermott so this can be closed in that case? 🙂

Yep!


Felix flo draft

@FlorianNachtigall @wagnerfe Thanks for updating this tutorial!
Ideally the notebook should run end-to-end even if the exercises are not complete. I see there is a dependency under the Results section where y_pred_xgb was defined in Exercise 1. Would you mind commenting out lines 10-12 in that cell, maybe with an instruction to uncomment them if Exercise 1 is complete? Ditto for the next cell in that section.

Hi @mdhanna,
If you want the whole notebook to run end-to-end, should we comment out all the exercise cells with ## YOUR CODE HERE since they won't run without changes?
Regarding y_pred_xgb: It is also defined in the solution to Exercise 1, so as long as this cell is run, the plotting cell in the results section you mentioned should run just fine.

You don't need to comment out the exercise cells. It's more about being able to execute the entire notebook even if they're unwilling to complete the exercises. I wouldn't expect students to still run the solution cell if they decide they don't want to engage with the exercises.


Add missing DCAP ql Cargo.toml keys

Add missing manifest keys to the Cargo.toml(s) in the DCAP ql crates
to assist with publishing.
Also fixed some comments around clippy exclusions

Current dependencies on/for this PR:

develop

PR #57   👈

This comment was auto-generated by Graphite.


Add myself as codeowner to HmIP Cloud

Description:
Add myself as codeowner to HmIP Cloud
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.

Yay 🎉


Allowing TiDB maintainers to specify TiDB dashboard SSO credentials during deployment

Feature Request
Is your feature request related to a problem? Please describe:
Currently, In order to enable TiDB dashboard SSO login, TiDB maintainers need to set up TiDB dashboard OIDC client ID, OIDC discovery URL, Impersonate SQL User username/password manually. This works when maintainers only need to manage several clusters but could be quite heavy lifting when they have to manage tens or hundreds of TiDB clusters.
Describe the feature you'd like:
Kubernetes Official Doc suggests secrets can be mounted as files so that containers can read them. Inspired by this, I am proposing to have TiDB dashboard reading these files:

/var/lib/sso-secrets/oidc_client_id
/var/lib/sso-secrets/oidc_discovery_url
/var/lib/sso-secrets/sql_username
/var/lib/sso-secrets/sql_password

to setup SSOCoreConfig.ClientID, SSOCoreConfig.DiscoveryURL and building new SessionUser.
Existence of any file will stop TiDB dashboard from accepting new oidc_client_id as well as oidc_discovery_url via SetConfigRequest, and accepting new impersonate sql user information via CreateImpersonationRequest; Users sending such requests shall receive error responses indicating these setups are managed by TiDB dashboard deployments and are immutable.
This allows maintainers who are deploying TiDB cluster via Kubernetes to manage SSO secrets with Kubernetes secrets (thus allowing automation).
Describe alternatives you've considered:
An alternative is to use environment variables (as is suggested by Kubernetes official doc). Decided to use files since environment variables can be exposed to /proc filesystems and potentially prometheus.
Teachability, Documentation, Adoption, Migration Strategy:
N/A

@baurine Cloud you take a look?

/cc @lilyjazz

Folks, this is something we need for further TiDB migration. Please let me know if your guys don't have time on it; I can create a PR.

Folks, this is something we need for further TiDB migration. Please let me know if your guys don't have time on it; I can create a PR.

Yep, recently we don't have time on this, so, please go on, welcome and appreciate PR from community!


More generic names to Add/Edit Cave

Functions and data structures that are called something along AddCave, EditCave etc. should be renamed as AddRecord, EditRecord etc. In DomainDefaults we can set a suitable display string for UI on a domain specific basis.

Yep.

This has now been done.


Error 451 with https://ghapi.huchen.dev/

Same here

Unfortunately Vercel did not want to sponsor this project as it is API only. I could no longer find a good free host for the project. I suggest you clone the repo and deploy the code somewhere 😞

That's sad news :/
@github should definitely be sponsoring this or atleast provide an API of their own.

@huchenme How about we add a simple frontend that makes use of the API, that wouldn't be breaching Vercel's TOS, right?

I can try add frontend for this actually

I can give you the code of GitNews (git.news) if you wish.

@sandoche I do have some code, let me add to the repo during nights and apply Vercel's sponsor again, if everything goes smooth it should be back in a week 🤞
Meanwhile, if you need the API now, I suggest you clone the code and deploy to somewhere like Vercel

I use this api for my personal website. Since it's having an issue, I cloned and hosted it.
So in the meantime, feel free to use it, gtrend.yapie.me

@akane10 that is great, may I know where did you host it?

@huchenme yeah sure, it's on digitalocean.
But anyway, isn't there netlify function and it is free?

@akane10 I tried Netlify function and could not recall what did not work as expected. if you plan to keep your server, do you mind if I point ghapi.huchen.dev to your server temporarily?

@huchenme Yes, sure. I don't mind

did you try it using this method for netlify ? @huchenme  - https://docs.netlify.com/site-deploys/create-deploys/#deploy-with-git

The issue I was facing for Netlify is the caching: s-maxage does not actually work: if I hit https://ghapi.huchen.dev/repositories?language=javascript, all the subsequent requests with different parameters (e.g. https://ghapi.huchen.dev/repositories?language=java) will return the same results (javascript)
If anyone has any luck with Netlify please let me know

This is miracle.

I am thinking to deploy to Netlify without caching. It might be slower, and it might hit the limit soon as well 🤞

It is back now! the only downside is that it does not have browser cache now

It quickly finished the free quota in Netlify, have to stop the project.

Hmm, have you considered instead making a library that we can import and await and it will make the request and parse the request for us? That way you don't have to worry about hosting it, and we are able to use the code you wrote

@nahtnam he already did it actually https://github.com/huchenme/github-trending-api#install.
And yeah I agree, that's totally fine if there is no API, only library.
We appreciate your work @huchenme.

Hey hey for anyone that's reading on this, I had been using this library for quite a long time, definitely appreciate your work! @huchenme !
I had also created a self-hosted version of the scraper server ( with AWS lambda function compatible ), https://github.com/pupubird/get-github-trending
And the demo site here https://hackertab.pupubird.com/repositories
All credits go to @huchenme

Also, by utilizing AWS CloudFront, I am able to cache the response with TTL to daily, will write up a tutorial about it too!

Feel free to use.
https://github-trending-api.waningflow.com/languages
https://github-trending-api.waningflow.com/repositories?language=typescript&since=daily

@waningflow will this ever go down?

@Smeet97Kathiria Deployed on Function Compute of Aliyun. About first 500k requests per month are free.

@waningflow  what happens after it hit the limits?

@Smeet97Kathiria I suppose it's not likely to reach the limit for normal usage. If it does, I may restrict the apis temprorily. It's alse recommended to deploy the service youself. Here is what I use in Function Compute of Aliyun, github-trending-api-node. Just yarn to install dependencies and upload the whole git to the platform.

hey @akane10 I tried out your url, and it seems https://gtrend.yapie.me/spoken_languages doesn't work?

@hedythedev yeah, route languages and spoken_languages was I disabled for a reason.
But it is now working.
In case anyone uses my endpoints, it won't run out of request, as long as I can affort my VM.

Can you workaround this issue by creating an AWS hosted endpoint (trivially built with AWS Amplify -> Hosting)?
Then you just need to add a Lambda function which calculates all required responses and stores the responses into static files to an S3 bucket. From this bucket you can serve static files as a web page by simply enabling public access to this static hosting (amplify hosting does that in the background for you).
tl;dr: Create a trivial "web site" to set up free web hosting + create a Lambda function to update the same "web site's" files in the S3 bucket (fetch, parse, write json...).

@andraz-at Instead of making the function store the response on S3, wouldn't it be simpler to cache all the function responses on a CDN e.g. AWS Cloudfront or Cloudflare? Serving from a CDN cache is even cheaper than serving directly from S3.
Since these responses will only change once a day, you can set the TTL to be 86400 seconds (1 day). That way, it's very unlikely you run out of free function calls on most FAAS providers.
If my memory serves me correctly, @huchenme was actually caching the responses when this project was being hosted on Vercel, it's a bummer that they suspended this project and his account as well :/

Hey @akane10, I'm currently routing my site/app GitYeti to your server. Is that okay?

Hey hey for anyone that's reading on this, I had been using this library for quite a long time, definitely appreciate your work! @huchenme !
I had also created a self-hosted version of the scraper server ( with AWS lambda function compatible ), https://github.com/pupubird/get-github-trending
And the demo site here https://hackertab.pupubird.com/repositories
All credits go to @huchenme

@andraz-at hey, I had already implemented caching on CloudFront site ( the cdn ), do feel free to directly deploy to your aws account using serverless deploy !

Hey @akane10, I'm currently routing my site/app GitYeti to your server. Is that okay?

@cm3z4 yes, sure. Feel free to use it.

@huchenme
I've tried hard to revert your recent commits which are tightly bound to now.sh and netlify.
I recalled the src/server.js file to make it able to run as a normal web server.
Then I made a deployment to heroku: https://github-trending-api-wonder.herokuapp.com/
My fork: https://github.com/wonderbeyond/github-trending-api/

@andraz-at Instead of making the function store the response on S3, wouldn't it be simpler to cache all the function responses on a CDN e.g. AWS Cloudfront or Cloudflare? Serving from a CDN cache is even cheaper than serving directly from S3.
Since these responses will only change once a day, you can set the TTL to be 86400 seconds (1 day). That way, it's very unlikely you run out of free function calls on most FAAS providers.

Yes, there are alternative optimizations available. My point was that we can chain all those optimizations one after another in a way to fit all requests into the free tier limit of AWS (preferably the permanent one, not the 12 months one).
Alternative would be to use AWS lambda periodically (CRON event) only for processing the data, then push the hosting on GitHub pages / GitHub gists by programmatically updating those files remotely. This would also be a nice way of making GitHub host their own feed by serving static files. 🙂
We can also do both, to spread the load. But premature optimization is a slippery slope to stop doing anything at all, so we better skip digging deeper if not needed.

@waningflow are both of your urls down?

HIi @akane10 I am currently routing my app https://apps.apple.com/us/app/superrepo/id1517331914 to your server. is that okay?

Hi, @pupubird can I route my app https://apps.apple.com/us/app/superrepo/id1517331914 to your site?

Hey @Smeet97Kathiria sure!

Cuz I am using it for the unofficial hackertab https://github.com/huchenme/hacker-tab-extension/issues/55 too, so you are free to use as well

@pupubird Thanks

welcome @Smeet97Kathiria

Hey hey for anyone that's reading on this, I had been using this library for quite a long time, definitely appreciate your work! @huchenme !
I had also created a self-hosted version of the scraper server ( with AWS lambda function compatible ), https://github.com/pupubird/get-github-trending
And the demo site here https://hackertab.pupubird.com/repositories
All credits go to @huchenme

This looks pretty good! Good work!

Guys feel free to use mine! http://<IP_ADDRESS>:8000/
Thanks

Feel free to use.
https://github-trending-api.waningflow.com/languages
https://github-trending-api.waningflow.com/repositories?language=typescript&since=daily

Feel free to use.
https://github-trending-api.waningflow.com/languages
https://github-trending-api.waningflow.com/repositories?language=typescript&since=daily

Don't you support developers?
https://github-trending-api.waningflow.com/developers?language=typescript&since=daily

@wonderbeyond Can I route my app https://apps.apple.com/us/app/superrepo/id1517331914  to your server?


control-service: upload validation

As part of PR 1263 we want to implement some security hardening of our
upload sources endpoint . OWASP has recommendation for file upload
validation which we try to follow :
https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html
This implements the JobUploadValidator proposal in
https://github.com/vmware/versatile-data-kit/issues/1263
Testing Done: unit tests
Signed-off-by: Antoni Ivanov<EMAIL_ADDRESS>

We should use Ephemeral Storage (emptyDir) for the uploaded files to decouple them from the root file system.

We should use Ephemeral Storage (emptyDir) for the uploaded files to decouple them from the root file system.

Yes, I was thinking the same. But not as part of this change. Created https://github.com/vmware/versatile-data-kit/issues/1279 for this.

We should use Ephemeral Storage (emptyDir) for the uploaded files to decouple them from the root file system.

What is the benefit of this?

We should use Ephemeral Storage (emptyDir) for the uploaded files to decouple them from the root file system.

What is the benefit of this?

That seems better discussed in the ticket - https://github.com/vmware/versatile-data-kit/issues/1279


Isolate all SQL statements to a generalized package?

Like SQLObjectTransformer does now
This should battle duplicate code by statement reuse

Not entirely possible (think of select statements with n-parameters). Otherwise, this is a good idea


Core style isn't re-built / cloned in to public.

I've been re-styling the global header and the dropdown menus (outside of the iframe where the patterns sit) to better match company branding, adding in a logo and such, and have come across a problem (feature?).
The stylesheet used for the header, located in /core/styleguide/css/styleguide.(s)css is not automatically copied across in to /public/styleguide/css/styleguide.(s)css when the site is built, either from scratch, or using the watcher. This means having to manually copy the generated .css across every time it's built, in order to see progress, which, as you can imagine, gets boring quickly.
It took me far to long to dig down to figure out which .scss file was being used and what was/wasn't happening.
It would be useful if;

The styleguide.css (and/or the entire /styleguide folder) was tracked and copied in to /public as the site was re-built.
The styleguide.scss was not copied across in to /public, so as to eliminate confusion.

Make sense? Hopefully I've actually understood it all and haven't made a n00b mistake...

@LucPestille -
You should be able to edit files in public/styleguide all you want without having to worry about things getting overwritten. core/styleguide is only ever meant to be copied once so it's never touched again by PL. Once satisfied with your changes I guess you can then copy back to core/ since it seems you want the changes tracked for others. Obviously, run a small test but it should work.
I've spun out the styleguide/ assets into their own feature called StyleguideKits in PL2 so hopefully this kind of thing is at least a little bit cleaner in the future. In that scenario the Sass files do stay appropriately tucked away ;) You can see an example with the default StyleguideKit assets.
Let me know if editing public/styleguide directly works for you.


fix: support string type  in v-for

Hi @Teemwu, could you give me an example of what is the problem to solve?

Hi @johnsoncodehk,  when I use a string in v-for, volar will warn, but it can be rendered by vue.
<template>

{{ item }}

</template>

LGTM, thanks!


Error: Permission denied @ dir_s_mkdir - /usr/local/Caskroom/solang. Permission denied @ rb_sysopen

Describe the bug
When I tried to install Solang on my macOS by following the README instructions and running:
brew install hyperledger/solang/solang

It gave me an errors like Error: Permission denied @ dir_s_mkdir - /usr/local/Caskroom/solang and Permission denied @ rb_sysopen, since you can't run sudo brew ..
To solve it I had to first run sudo chown -R $(whoami) /usr/local/Caskroom/solang
and then run brew install --cask hyperledger/solang/solang
So suggest updating the README to mention how to set permissions due to the Homebrew restriction.
To Reproduce
Steps to reproduce the behavior:

Use a macOS machine not as root
Run brew install --cask hyperledger/solang/solang
Encounter permissions errors

Expected behavior
The README instructions should also help users set permissions if the tools restrict usage with sudo

We can point your solution in our documentation, but I do not think this is an issue with on our end. Many users reported the permission denied problem when installing other casks and formulae. There is even a Gist for this fix: https://gist.github.com/irazasyed/7732946
From what I've read, another program might have altered the permissions in your brew folder, so you needed to give permissions to your user on MacOS again.
@seanyoung and @xermicus Any thoughts on this issue? Should we include a link to the gist?

I can't repro as I'm not developing on mac OS. But if this issue is not specific to our project I agree with @LucasSte. We can and should not fix this.

Should we include a link to the gist?

Is this error the "normal" case if you try to install solang via brew? If it is the norm, we should add the link or even better have fully working instructions. If this is not the norm (e.g. it does only occur under specific conditions that do not represent the majority of users) I don't see why we should do that.

Is this error the "normal" case if you try to install solang via brew? If it is the norm, we should add the link or even better have fully working instructions. If this is not the norm (e.g. it does only occur under specific conditions that do not represent the majority of users) I don't see why we should do that.

I have a Mac desktop and a Mac laptop and I have never had that error. I think @seanyoung also tested the Brew command on a Mac laptop and did not have any problem.

yes i think this is isolated to just my machine. i had the same error reinstalling docker with brew
==> Purging files for version 4.15.0,93002 of Cask docker
Error: Permission denied @ dir_s_mkdir - /usr/local/Caskroom/docker

so happy to close the issue, but like you mentioned it would be great if there was a tooltip in the setup guide

I'm closing this issue, as it is not related to our repository.


Add failing test for 'toString' on media queries

I seem to have found a bug when calling toString on style sheets with media queries.
I'm not sure yet how to fix this, but I figured I'd open a discussion by providing a failing test.
The current failing test case shows how this:
{a: {color: 'red'}, '@media (min-width: 1024px)': {a: {color: 'blue'}}}

is erroneously compiled into this:
.jss-0 {
  color: red;
}
.jss-1 {
  a: [object Object];
}

nice catch @markdalgleish will fix it asap

huh you got me debugging for quite some time util I figured out you have used @media query differently, it has been designed to be like
{
name: {'@media (min-width: 1024px)': {a: {color: 'blue'}}}
}
where name is there to have this rule accessible via it.

wait, there is another issue.

I need to rethink at-rule syntax in jss ... I have tested this way
    var rule = new jss.Rule('@media print', {
        button: {
            display: 'none'
        }
    })

However in named style sheet, selector is generated. At-identifiers shouldn't be treated as selectors.

The problem is if we go this way
{a: {color: 'red'}, '@media (min-width: 1024px)': {a: {color: 'blue'}}}

It is possible to have rules with same name ... So rules within @media become unaccessible if you want to do sheet.getRule('a')

I think ideally every rule should be still accessible via getRule and every rule should be able to be part of some @rule

This issue is exists only in named style sheet.

Semantically @media is a "conditional rule group" https://developer.mozilla.org/de/docs/Web/CSS/At-rule
Potentially we could have following syntax for conditionals:
{
    myName: {
        condition: '@media (min-width: 1024px)',
        color: 'blue'
    }
}

I have added your test but modified to unnamed style sheet 8ac23ecfd3dcf5ef1c539e92661299021ae81b07 just to make sure this will work.
As for named style sheet I need to sleep over it. Its actually not a bug, its a missing feature.


{{#with}} Mustache helper pushes can.compute into Scope, breaks can.compute.read

http://jsfiddle.net/air_hadoken/8Ss9P/
I'm entirely unsure which function is in the wrong here, but here's the breakdown.
view/mustache/mustache.js, line 1996:
                'with': function(expr, options) {
                    var ctx = expr;
                    expr = Mustache.resolve(expr);
                    if ( !! expr) {
                        return options.fn(ctx);
                    }
                },

expr is resolved and checked from ctx, as the result of executing ctx when ctx is a can.compute or a function.  Then ctx (which may be a compute) is pushed onto the current Scope and the inner content of the {{#with}} block is run.  If we try to then get attributes on the scope, there's an error thrown later.
Possible solution #1: options.fn(expr) instead of options.fn(ctx) -- this seems to be inline with https://github.com/wycats/handlebars.js/blob/master/spec/builtins.js which implies that the scope of a {{#with}} block includes the result of calling the function, not the function itself.
compute/compute.js, line 443, in can.compute.read:
        cur = cur.attr(reads[i]);

In the case of {{#with}}, cur starts out as a compute, and is not resolved, but prev is resolved to a can.Map, leading to this line of execution. cur does not have an attr function available; this is where the crash ultimately happens.
Possible solution #2: resolve cur if cur.isComputed at the beginning of can.compute.read
Doing both of the possible solutions is probably good for CYA against this happening again, but I'd like to hear from people who have worked on these modules.

This is fixed in 2.3.0


PDF not rendering with expo SDK 35.0.0 in iOS

PDF not rendering with expo SDK 35.0.0 in iOS,
displays loader indefinitely but same works in android though

have the same issue, does not work on SDK 35 on iOS

I was able to get it to work with loading the package from commit 28ae48fbf0803bac0dc02170d78c4b229cf2d7d9
e.g. in package.json:
"rn-pdf-reader-js": "xcarpentier/rn-pdf-reader-js#28ae48fbf0803bac0dc02170d78c4b229cf2d7d9",

The above works for me in ios, but now Android crashes when loading a pdf

Same here.
It's about expo-file-system.
It works again when I backward expo version to 33.0.0 which The old way to import expo-file-system is compatible.

I think it may be react-native-webview. See following issue: https://github.com/react-native-community/react-native-webview/issues/936

Anyone got a workaround?

The code I posted above works. For iOS, you can just import and utilize react-native-webview and it works.

@wardjk87 If using Expo 35.0, with your solution, it throws an Invariant Violation. "RNCWebViewer" is not defined or found in the UI Manager.

See this -> https://github.com/react-native-community/react-native-webview/issues/832#issuecomment-527190628

I working WebView on iOS 13 with useWebKit:
 <WebView
        originWhitelist={["http://", "https://", "file://", "data:"]}
        useWebKit={true}
        source={{ uri: pdf }}
      />

Hi, I had same issue, the solution it is enable useWebKit in iOS webview:
...
  render() {
    const { ready, data, ios, android } = this.state
    const { style, webviewStyle, onLoad, noLoader, onLoadEnd, onError  } = this.props

    if (data && ios) {
      return (
        <View style={[styles.container, style]}>
          {!noLoader && !ready && <Loader />}
          <WebView
            onLoad={()=>{
              this.setState({ready: true});
              if(onLoad) {
                onLoad();
              }
            }}
            originWhitelist={['http://*', 'https://*', 'file://*', 'data:*']}
            style={[styles.webview, webviewStyle]}
            source={{ uri: data }}
            useWebKit={true}
          />
        </View>
      )
    }
...

Also having this issue on iOS ever since updating to expo 35.0.1 from 34.0.2 today. Hoping for a fix soon! I might revert back to 34.0.2 in the meantime. I am on react-native-webview version 7.5.1.

My problem is that I receive a pdf in base64 format and also with the newest version of IOs, it stops working. I made a little trick which make that work again, using Webview from react-native-webview which consist into parse this base64 pdf into the internal storage and this URI that it is the result of that, can be passed to the Webview which it understands.
const [file, setFile] = useState(false);

useEffect(() => {
    if (Platform.OS === 'ios') {
      FileSystem.downloadAsync(base64, `${FileSystem.documentDirectory}temporalPdfFile.pdf`)
        .then(({ uri }) => {
          setFile(uri);
        })
        .catch(error => {
          console.error(error);
        });
    }
  }, [base64]);

  if (extension === 'pdf') {
    if (Platform.OS === 'ios') {
      return file ? (
        <WebView
          originWhitelist={['*']}
          style={{ flex: 1, backgroundColor: '#FFF' }}
          source={{
            uri: file,
          }}
        />
      ) : (
        <ActivityIndicator size="large" style={{ marginVertical: 8 }} />
      );
    }
    return (
      <ContainerPDF>
        <PDFReader style={{ paddingTop: 0 }} source={{ base64 }} />
      </ContainerPDF>
    );

I can say this is working for Expo 35.0.0 and IOs 13.

Should be fixed at v0.5.0.


Do not use Thread.Abort

Thread.Abort should be avoided as much as possible. Replaced it with a
CancellationToken instead.
Mesh now implements IDisposable

Thanks!


Installation Failed to fetch plugin

I tried to install it on windows via npm but igot the following error
Error: Failed to fetch plugin https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: cmd: Command failed with exit code 1 Error output:
npm ERR! code ENOGIT
npm ERR! No git binary found in $PATH
npm ERR!
npm ERR! Failed using git.
npm ERR! Please check if you have git installed and in your PATH.
npm ERR!      C:\Users\prodigy\AppData\Roaming\npm-cache_logs\2017-08-22T13_22_53_304Z-debug.log

The error because i tried to install it by using the following command
cordova plugin add https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git
But when I used
cordova plugin add cordova-plugin-dbcopy
It worked fine


Switch from quick-error to thiserror.

Thiserror appears to be the more de-facto error handling library, so Panamax should be using that instead.
Luckily, as quick-error and thiserror work fairly similarly, this should be an easy change.

We have switched to thiserror.


Nb tidies

Have tidied and added titles and text to all notebooks except Plot Button.  Getting to that soon.

It's in.

Coverage remained the same at 99.275% when pulling 9f88e700df0959b5eba113eb163d275453b9e315 on corinnebosley:nb_tidies into ceadffa9e1328bb5e25375d7e13043cc0c0bb1f1 on SciTools:master.

Coverage remained the same at 99.275% when pulling 642b6b34a0026174ca6d91e753d7b2ca07d8a298 on corinnebosley:nb_tidies into ceadffa9e1328bb5e25375d7e13043cc0c0bb1f1 on SciTools:master.

@marqh Please merge this before Pete can find any more whitespaces in it

Please merge this before Pete can find any more whitespaces in it

Muahahaa I've got here first :smiling_imp:

Coverage remained the same at 99.276% when pulling 3ffd17c609df1b6198949c7462f23c31edaf55d3 on corinnebosley:nb_tidies into 786fa73d69a7d05939d0a9f25f34af9110439149 on SciTools:master.


WIP: Add web interface for controlling Tailscale

Related #16

This functionality has been implemented in a different PR, using tailscale web -cgi


Add thingmodeler-fileservice to list of microservices

This solves #8

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Implement class for pushing request to rest of DP

[ ] Create Radio Controller deployment
[x] Create Protocol Controller gRPC client
[x] Create Radio Controller gRPC server
[x] Create proto buffs

@WojSad have we created the radio controller deployment? Seems like last task in list above.


I had to remove the plugin because network outages caused Octoprint to crash...

I was beta testing a router that was less then stellar but it brought out a problem with this plug-in.
If during a print my pi would for any reason lose network connectivity my print would crash.
And it would do so in a scary way.  The printer would just stop where it was and all heat would stay on.
For more information and some logs to look at, there is a thread here: https://discourse.octoprint.org/t/caching-print-job-prevent-job-failure-due-to-network-outage/4251
Regards,
Tony

@codemonkey2k5 Thank you for reporting this issue and sorry for the delay?
By "losing network connectivity", do you mean ethernet connectivity (which seems to be what is indicated in the forum discussion in your link)? I know most of the OA users, myself included are on Wifi, and we lose connectivity quite often but usually it doesn't cause anything except you can't get status update on the dashboard.
I just tested turning off wifi router when it was printing and the print didn't crash. So please let me know if I should focus on testing with ethernet cable (believe or not I don't have one with me right now.)

Fixed in 0.9.0. Thank you @codemonkey2k5 for testing this fix for me.


Possibility labels to change the labels

Hello Eric,
It would be nice to setup the labels in the config.json file for:
Electricity and Electricity Delivered.
Then it would be possible to make it: "Verbruikt" and "Geleverd" or something like that.

You should be able to change the accessory and service (Siri) names in Eve.
Only the initial names (when the accessory is first exposed) can be set through HAP (i.e. by the accessory itself, or in our case by homebridge).

I did but still in the view the old name. See screenshot. But also the 'Home/Woning' app doesn't display the correct name.

Odd, normally Eve shows a Name, Names, Name & Type or Names & Types setting right under Room in the accessory settings, to set the name of the services, (a.k.a. Siri name).  For some reason, it doesn't show this for the homebridge-z1 accessories.
You can set the name in Apple's Home app, though.  This changes both the accessory and service name.

Restart everything but still the Eve 3.7.2 on a iPhone Xs shows this. Not a big problem but for that reason I thought it would be nice to set it up in the config.json.


Implement sriov

Refer to this PR for conversations and decisions made

Fixed yetus error. Kicking off tests

Approving to trigger tests. Added some comments for discussion.

@uncleDecart seems like there are conflicts on api/images.
@milan-zededa can you check if your comments have been addressed?

Seems like we need this rebased on master so that the conflicts can be resolved in order for the GH actions to re-run the builds and tests.

Since only 10 of the yetus complaints appear as annotations and we have 10 for this PR I suspect there might be others.
(We realized that limitation only yesterday.)
One valid one which just appeared is about blank space.
So we might want to fix even some of the bogus complaints like the "ans" spelling to make sure we see others. (But not fix the ones about the enum values style.)


makefile: support static release build.

It is not easy to remember the environments for static build, so we support static build directly in Makefile.
@ngaut @BusyJay @disksing  @hhkbp2

LGTM

LGTM


add fail(reason: string) to jasmine v2.4.x definitions

Looks like you can call fail() with 0 arguments. Mind updating the PR to make the argument optional?
At least I see a test with fail() in it here: https://github.com/jasmine/jasmine/blob/b1344d5c73c5e01a07e1ea435be3ed980f6db9de/spec/core/integration/EnvSpec.js#L135

Oops, right. It also can take an Error.
https://github.com/jasmine/jasmine/blob/master/spec/core/integration/EnvSpec.js#L198
https://github.com/jasmine/jasmine/blob/master/src/core/Env.js#L494-L509

Ooh, you're right! Nice catch.
Thanks a ton for the contribution and for the quick update!


⚠ Bofrost.be has degraded performance

In e200b1b, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1130 ms

Resolved: Bofrost.be performance has improved in 2ff7cb4.


Update offering-russia-data-localization.md

Issue #1908

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: JohanFreelancer9 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


AQCU-866: Add qualifier and grade explanation to Extremes, SRS and SVP reports, dynamically

Coverage decreased (-0.2%) to 89.273% when pulling<PHONE_NUMBER>88969969321871960cce09b01b81c5 on zmoore-usgs:feature/better-qualifiers into 9ccf382d0f788eba53c88da598333129d5af74ed on USGS-R:master.

Coverage decreased (-0.2%) to 89.273% when pulling df9956fbe7a55d91d43643dab5651ceed598ae4d on zmoore-usgs:feature/better-qualifiers into 9ccf382d0f788eba53c88da598333129d5af74ed on USGS-R:master.


Aca 127 - temp pipeline deployment PR

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Closing as all features (CaseRoleId as Dynamic List) are now present in develop def store PR

Closing as all features (CaseRoleId as Dynamic List) are now present in develop def store PR


Documentation and JSON_INT_T_OVERRIDDEN

My intent was not that JSON_INT_T_OVERRIDDEN must be defined by end-users. Rather, if json_int_t is defined by end-users:
https://github.com/json-parser/json-parser/blob/3ec6608cee3619e4789488ef00503357c06093f0/json.h#L38
then JSON_INT_T_OVERRIDDEN is automatically defined:
https://github.com/json-parser/json-parser/blob/3ec6608cee3619e4789488ef00503357c06093f0/json.h#L50-L52
Therefore I would change:

Example usage:

-DJSON_INT_T_OVERRIDDEN -Djson_int_t=short
-DJSON_INT_T_OVERRIDDEN "-Djson_int_t=signed char" -DJSON_INT_MAX=127
-DJSON_INT_T_OVERRIDDEN "-Djson_int_t=long long"
-DJSON_INT_T_OVERRIDDEN -Djson_int_t=__int128

to:

Example usage:

-Djson_int_t=short
"-D"son_int_t=signed char" -DJSON_INT_MAX=127
"-Djson_int_t=long long"
-Djson_int_t=__int128

Is there a case where JSON_INT_T_OVERRIDDEN should be manually defined? I may have missed a use case.

Ah, I believe this was a misunderstanding on my part! My apologies.


Improve error message for compileJsp failure

Fixes ci.maven issue https://github.com/OpenLiberty/ci.maven/issues/679.

Apart from the small typo, looks good 👍


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: Replacing redis entry with in memory storage for anonymous user permission groups

/ok-to-test sha=253fd64

/ok-to-test sha=c58ead4

/ok-to-test sha=9622aa5


Electron-packager Not allowed to load local resource

When launching my app with electron there is no problems to do that:
mainWindow.loadURL(${__dirname}/../build/index.html)
But when packaging it with electron-packager and launching the .exe file I get this error in the console:
Not allowed to load local resource: file:///***/index.html (pointing to my index.html)

What does your app's file/folder structure look like?

Since the original issue reporter has not responded to the request for additional information in about two weeks, I'm going to assume that they either found the answer in another manner or decided not to pursue this issue. If I'm incorrect, they can respond with answers to the questions posed, and I'll reopen.

I am having  the same issue. The app runs fine when building for development but the path seems to fail when built with electron-packager.  Here is my file structure:

And here is the way I create the path to my html file from the main render process:

The full path build by the path.join function is:
file:///Users/rishi/Projects/albert/albert-support-desktop/static/html/main-window.html
And this is what settings.project.root returns:
file:///Users/rishi/Projects/albert/albert-support-desktop
Is there a correct way to build the path to project files?

I don't know what settings is.
Typically what people do is use a relative path from __dirname (the directory of the current JS file), so you'd do something like path.resolve(__dirname, '../../../static/html/main-window.html'). (Note that the number of ../s might be different, it's hard to tell from a screenshot.)

settings.js exported a dict that looks like the below. I used root: path.resolve('./') with the single dot even though this file is one dir deep bc when running from npm run it seemed to resolve to where the npm command was run from, i.e. project root dir.  I guess this was causing issues in the build bc when I changed it to root: path.join(__dirname, '../'), everything worked fine.

More generally, I was wondering if there is a solution/setup where I can source everything  from paths relative to the project root dir (like require statements as well as path.join()'s) so that you don't have to worry about keeping paths  up to date if you just move a file to a diff directory. If I set up a global var and use that in a path join in a require statement like this:
require(path.join(global.PROJECT_ROOT + '/' + rootPath))

It breaks my Eslint and VS Code IntelliSense, I guess expectedly. In a Webpack setting this is possible but just not sure if it is in an Electron project setting.
Thx.


FontAwesome CSS

How do you handle the FontAwesome CSS ? This plugin will just handle the fonts, but you have to add the CSS somewhere else in your project.
So when FontAwesome is updated you have to manually update the CSS, right ?

Yes, I bumped into this problem too.


Is is able to add a shortcut to toggle the items in the side bar?

Is it able to add a keybinding (or shortcut) to toggle the items of the activity bar in the side bar? Thanks. This is especially useful when the side bar is shown, but the activity bar is hidden and there are many item in the activity bar.

Understanding
From what i can understand from this is, you're looking for a feature request where you want a button which toggles the visibility of icons in activity bar.
Investigation
When the side bar is shown, the visibily of activity bar is never compromised hence both the side bar and activity bar are shown.
Solution
This Feature however is already implemented and is availabe by

Right clicking the activity bar and selecting hide Activity bar
OR
By opening the Command pallet by pressing Ctrl + Shift + P and wrting >activity bar so it shows the toggle option.

Conclusion
This Feature request is invalid and hence this issue should be closed if no further action is needed @mejliu Confirm.

Hi @charliedua , thanks for your reply. Actually, when the side bar is shown, the visibility of the activity bar can be compromised.

Also, when the activity bar is shown, the visibility of the side bar can also be compromised.

To save space, I usually hide the activity bar and only make the side bar visible. This is shown in the first picture.
However, sometimes I need a quick switch between Explorer and Debug without showing the side bar. Therefore, it would be nice to have a keybinding to toggle the Explorer, Debug, Source Control, Extensions or any new added tabs in the side bar without first click activity bar and then choose different contents for side bar.

I see what the problem is
You can configure a keyboard shortcut to hide the activity bar and side bar in the keyboard shortcuts menu

@charliedua Actually, I want to toggle the items (or tabs) in the activity bar. :) This may be more clear. Sorry for the confusing.

@mejliu so oyu want to put the activity bar inside the side bar so it saves you some space?
as of now visual studio code alone can not handle this kind of the senarios. however you might find some extensions which does it for you.


Refactor viz class

closes #1, closes #2, closes #3, closes #4

Comment on this pull request.

Comment on this pull request.


[PAY-1990] Fix Crash On Apple Pay Pledge Page

📲 What
A crash was introduced with the new loading states for the payment sheet. An untested flow allowed the pre-mature update of a section before it had any visible data. This causes a crash related to the table view being out-of-sync with its' data source when reloading.
🤔 Why
We don't want to break this page in any way, even if we're introducing a feature hidden behind a flag. All pre-existing flows must work as they always did or conversion rates will go down.
🛠 How
Before we simply took the last section in the table view as "Add New Card" section. This was incorrect because the last section in the table view is not the "Add New Card" section (even though that is the last one we saw visually). It was the "Loading/Shimmer" state.
The key to understanding this is to know how ValueCellDataSource creates the sections. When it calls its' set method, it also calls its' padValuesForSection method. Which uses the section integer value (an enum raw value in this case PaymentMethodsTableViewSection) to fill out the empty sections between 0 and the section integer value.
That means, the section has been created for Add New Card, but during loading it isn't visible because its datasource values are empty but do exist within the UI for the tableview at the time of reload.
We just need to check that the reload of that section is updating an actual non-empty value. Again not necessary, but why update something that doesn't exist twice?
👀 See
Before 🐛
https://user-images.githubusercontent.com/4282741/193699506-bba5deb2-cb34-40d2-8baa-5e97f514b32f.MP4
After 🦋
https://user-images.githubusercontent.com/4282741/193699691-67c369d0-cff9-4a0b-a8d9-05543eab762b.MP4
✅ Acceptance criteria

[x] Ensure hitting the Apple Pay button doesn't crash the app while the payment methods are loading.

I think @sclampet you approved this, but I didn't assign that id to the PR initially and re-assigning lost the approval. Hopefully its' not a huge deal to merge this as admin.


Dropdown icon break inside navbar IE10+

The arrow_drop_down icon break the navbar on IE10+ without display:inline-block. the solution was add nav ul li a.dropdown-button {display: inline-block;} to my local css.
Keeps working fine on Chrome and Firefox.
Note: I'm using the 0.97.0 version from the CDN

Thanks for the fix!
That was indeed an ennoying bug.


Expired Context Causes Hang

If you supply an expired context in a request, it will cause the library to hang indefinitely.
For example
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()

// do stuff for 10+ seconds

containerURL.Delete(ctx, azblob.ContainerAccessConditions{}) // this or any other call will hang

Turns out this is an issue in go-autorest and the management library. I had created a Credential implementation which uses ListAccountSAS from the management library. The call to the management library was not respecting the context.
I'm going to close this issue and open one in the Azure SDK for Go. Sorry for the distraction.


Getting this error- "OpenQA.Selenium.WebDriverException: "Unexpected error. Unimplemented Command: xpath locator strategy is not supported"

The problem
Getting the below error when tried to automate the UWP application
1.Successfully able to launch the application
2.But when tried to identify the element in the application getting the error "OpenQA.Selenium.WebDriverException: "Unexpected error. Unimplemented Command: xpath locator strategy is not supported"
Environment
Appium version (or git revision) that exhibits the issue: 3.0.2
Last Appium version that did not exhibit the issue (if applicable):
Desktop OS/version used to run Appium: Window 10
Node.js version (unless using Appium.app|exe): Not installed
Npm or Yarn package manager: Not installed
Mobile platform/version under test: No
Real device or emulator/simulator: No
Appium CLI or Appium.app|exe: 1.13
Details
Attaching the Screenshot of Error and WinAppdriver log
Please do any one help me on this issue, if any info on this required please mail me<EMAIL_ADDRESS>
![WinAppDriverLog](https://user-images.githubusercontent.com/24207575/63440542-9c944780-c44d-11e9-9c1e-56697458e9ba.JPG)

Please do any one help me on this issue, if any info on this required please mail me<EMAIL_ADDRESS>

This above issue can be closed. I was able to resolve using the below workaround.
public IList SuggestionLoader => Session.FindElementsByXPath($"//Text[contains(@Name,'Suggestion')]");


Add the ability to use \class across multiple align or array cells/rows

Is your feature request related to a problem? Please describe.
Currently, if the code encapsulated by \class{cls}{ ... } would not have a common and exclusive parent element when rendered that can be used as a target for the class, it doesn't render.
This doesn't work for example:
\begin{align}
  (5 - 11i) + (7 + 4i) &= \class{answer}{ (5 + 7) + (-11 + 4)i \\
                       &= 12 - 7i }
\end{align}

Describe the solution you'd like
It would be ideal if, instead of being considered an error, the class was applied to multiple elements in the rendered output so that it's more or less equivalent to this:
\begin{align}
  (5 - 11i) + (7 + 4i) &= \class{answer}{ (5 + 7) + (-11 + 4)i } \\
                       &\class{answer}{= 12 - 7i }
\end{align}

Describe alternatives you've considered
Using multiple \class{cls} manually is fine in most cases but impractical, especially if the class is added automatically to user-supplied latex in a preprocessing step (I would have to parse the code to make sure to encapsulate the right parts with \class{cls}{ ... }).
It also breaks the alignment (e.g. &\class{answer}{= 12 - 7i } in my example above does not align with the above = when rendered).

While I understand the desire for your feature, this is not in line with how LaTeX works, in general.  I know of only one very specialized macro whose argument can extend over multiple cells, and otherwise, bracing for macro arguments must end within the same table cell.  It's not impossible, of course, but it is not how bracing usually works, and would be an unusual and non-standard behavior for this macro to have.  It is unlikely that we will implement that approach.

It also breaks the alignment (e.g. &\class{answer}{= 12 - 7i } in my example above does not align with the above = when rendered).

Yes, that is correct.  Even in actual LaTeX, the alignment will be correct only if the equal sign is the first thing in the cell.  For example
\begin{align}
  (5 - 11i) + (7 + 4i) &= (5 + 7) + (-11 + 4)i \\
                       &{= 12 - 7i}
\end{align}

will not have the alignment correct, nor would the x's in the last two lines of
\begin{align}
  (5 - 11i) + (7 + 4i) &= (5 + 7) + (-11 + 4)i \\
                       &                 = 12 - 7i x \\
                       &\phantom{= 12 - 7i} x
\end{align}

be aligned.  So this is entirely in keeping with how LaTeX works.  You would want to do
\begin{align}
  (5 - 11i) + (7 + 4i) &= \class{answer}{ (5 + 7) + (-11 + 4)i } \\
                       &\class{answer}{{} = 12 - 7i }
\end{align}

to get the alignment correct.


Dark theme color issues

Using dark theme, when an item in the sidebar is selected, the grey highlight color is the same color as the subtitle text, looking like this:

Why not replace the grey highlight color with the theme's custom color(blue in my case) and change subtitle text to white when selected?

EDIT: Here's some more issues with color. The shuffle icon doesn't follow custom theme, and the music visualizer for the currently playing song is not very visible for me.

[ ] Fix shuffle icon
[ ] Fix visualizer color
[ ] Fix sub-title text in the nav bar

To add to this topic, the vertical lines for the pause icon should be white to match the other icons.

Fixed issues upstream in gmusic-utils/gmusic-theme.js


squid:S1213 - The members of an interface declaration or class should…

This pull request is focused on resolving occurrences of Sonar rule squid:S1213 - The members of an interface declaration or class should appear in a pre-defined order
You can find more information about the issue here: https://dev.eclipse.org/sonar/coding_rules#q=squid:S3052
Please let me know if you have any questions.
M-Ezzat

I am not sure whether you do not agree with these changes or not. Please close this PR if not.

Hi @m-ezzat , sorry for ignoring this!
I'm going to decline this PR.  It's just shifting around the ordering of where some things are declared.  I'm not fundamentally opposed to this, but especially since this SDK is an open source lib, I tried to optimize the files for readability by the community, e.g.: when someone is reading a class to look into its public interface, I want to show them the public entry points first before things like private constructors.  That amounts to noise for someone who's just trying to skim the code.


re-releasing version 1.5.2

Hi,
Thanks for your work on YakYak.
I notice in the closed issues that a previously released version 1.5.2 was re-released with a patch to fix the recent problem with Google changing their API.
When I go to the Releases section I see that 1.5.2 was released 27 days ago, and there is no mention of this patch.  People waiting for a fix may assume that none is available?  Wouldn't it be better to release a new version 1.5.3 with the patch?

I assumed none was available. If 1.5.2 is in fact patched that is very confusing.

I assumed none was available. If 1.5.2 is in fact patched that is very confusing.

For all that are wondering 1.5.2 is actually a patched version and was re-released recently but github still says it was released 27 days ago. Very happy to get YakYak working again, very sad that I was checking for updates every day and it was probably updated but I never knew.

I noticed that the Snap package is not yet updated. Is there some way to make that happen?

wow... I had been waiting for days and never knew.

We will be changing the way we release versions, with the pre-release version having a suffix to denote that is still unstable/master/nightly/something else.
And the actual stable releases being created at the release time.
Hopefully this will avoid future confusion, especially with so many community maintained packages (homebrew, snap, ...)

@averissimo So with the latest google API change (31st October), when you have a patch for it, will you release a stable release called 1.5.3?  (This could be based on either 1.5.2 with the patch applied, or the unstable/master with the patch appled if you think the unstable/master is now stable enough?)

Yes, it was released yesterday.
Up until now the master/unstable releases are just a temporary state waiting for enough patches to be contributed or enough time to pass until releasing as a stable release.
The current rhythm of yakyak is on maintenance mode and small increments. Not many breaking changes happening from the community. There's a redesign effort started a while ago, but no one coded for it yet :(


Last version (master doesn't compile on Windows anymore)

This is because of the pull request #379, which used a syscall.SIGUSR1, which doesn't exist on Windows.
Could this be conditionally compile for Windows ?

Will take a look later today, thanks.

Should be good now in master.

Thanks very much!  That was fast!


Rename all methods that get and emit to include emit in their name [phab:D1464]

Created by salguarnieri at 2017-03-30 18:05:45:
Also rename methods that return new nodes from getAndEmit to newAndEmit.

jrtom commented inline (context lost during migration) at 2017-03-30 18:11:25:
I think Lint may have a point here :)

jrtom wrote at 2017-03-30 18:11:25:
I notice that we have two method name styles that seem to at least overlap in terms of functionality:

getAndEmit*
newAndEmit

Should we unify these?

salguarnieri commented inline (context lost during migration) at 2017-03-30 18:20:40:
This is a class from sun, so I think we have to live with it.

salguarnieri wrote at 2017-03-30 18:20:40:
Unified the names

salguarnieri wrote at 2017-03-30 18:21:42:

make get* and new* methods have same name style

jrtom commented inline (context lost during migration) at 2017-03-30 18:47:25:
:'(

jrtom wrote at 2017-03-30 18:47:25:
I think that my previous comment may have been unclear.
I'm fine with either "getAndEmitX" or "getXAndEmit" although I agree that we should be consistent.
What I was observing was that we have another type of method name "newX" (now "newXAndEmit") that appears to be functionally speaking the same as the getAndEmit methods, and that we should (if I'm not mistaken) rename those to be getAndEmitX also.

salguarnieri wrote at 2017-03-30 19:17:34:

change methods from getAndEmit to newAndEmit where they always create a new node.

jrtom wrote at 2017-03-30 19:23:47:
OK.  I have a feeling that there are still get*() methods here (or called from here that we own) that ought to be new*() methods given this convention, but let's call this good for this CL.  :)
You may want to retitle this diff.

jrtom accepted this revision at 2017-03-30 19:23:47

salguarnieri closed via commit 311dc45fdf3c9cf744cd9d14253da8d6b0460ae8 at 2017-03-30 19:26:28


Convert if-chain to an exhaustive switch and add the missing case for yield

@swift-ci Please smoke test and merge.


When binding some virtual keys, it prompts that the binding fails

When binding some virtual keys, it prompts that the binding fails，For example <com.google.android.material.tabs.TabItem> But adding @Nullable when binding the control, it can run correctly。I want to know what is done inside the code?

The material component library removes IDs from TabItem instances. The tracking bug is at https://github.com/material-components/material-components-android/issues/1162. You have to bind the TabLayout and go through its API to access the tabs.

Thank you for your reply and have a good time
------------------ 原始邮件 ------------------
发件人:                                                                                "JakeWharton/butterknife"                                                                                @.>;
发送时间: 2021年3月17日(星期三) 凌晨1:56
@.>;
<EMAIL_ADDRESS>主题: Re: [JakeWharton/butterknife] When binding some virtual keys, it prompts that the binding fails (#1653)
The material component library removes IDs from TabItem instances. The tracking bug is at material-components/material-components-android#1162. You have to bind the TabLayout and go through its API to access the tabs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


(zju_15) 提供 1 个新的风格模型

提供 1 个兼容 MajicmixRealistic_v6 的风格模型：雪山羽绒服风(Jacket in Snow Mountain)。

用于训练的人像

Jacket in Snow Mountain

I tested this style, the effect is pretty good. Can we continue to tune the prompt and parameters a bit, the multiplier_style can be lower.
My prompt and parameters:
'multiplier_style': 0.6,
'multiplier_human': 0.9,
'add_prompt_style': '1 girl, close-up, fur, ((jacket)), shirt, pants, winter, (bright sunny day, snow mountain, alpine slopes, snow), gyaru, fashion, trendy, gentle hair'

I tested this style, the effect is pretty good. Can we continue to tune the prompt and parameters a bit, the multiplier_style can be lower.
My prompt and parameters: 'multiplier_style': 0.6, 'multiplier_human': 0.9, 'add_prompt_style': '1 girl, close-up, fur, ((jacket)), shirt, pants, winter, (bright sunny day, snow mountain, alpine slopes, snow), gyaru, fashion, trendy, gentle hair'

Wow, your tune results works obviously better. Let us update those prompts and parameters after merge.

I tested this style, the effect is pretty good. Can we continue to tune the prompt and parameters a bit, the multiplier_style can be lower.
My prompt and parameters: 'multiplier_style': 0.6, 'multiplier_human': 0.9, 'add_prompt_style': '1 girl, close-up, fur, ((jacket)), shirt, pants, winter, (bright sunny day, snow mountain, alpine slopes, snow), gyaru, fashion, trendy, gentle hair'

Wow, your tune results works obviously better. Let us update those prompts and parameters after merge.

hi, @iotang if there's a better parameter & prompt, chould you change it first, and update your style showcase.

I updated parameter and prompts and the result is as shown below. Human LoRA may make the results different.
Style image has been updated too.


fix(hardware): don't try to send set_current to brushed motor

Overview

Test Plan

Changelog

Review requests

Risk assessment

Thank you!
@sfoster1 Right now it just times out and timeout message show up in logs because gripper G doesn't respond to this message.