CLEWS-29522: Add "(daytime)" to land temperature search in Brazil Sao Paulo Sugarcane Crop Model

model.search_for_entity('items', "Land temperature") was matching on
{'aliases': ['Land temperature (daytime) masked by Cropland'],
 'contains': [],
 'definition': 'Daytime land surface temperature value for a given period, masked by cropland.',
 'id': 16497,
 'name': 'Land temperature (daytime) on cropland',
 'belongsTo': [10089]}

So the notebook was getting no data for LST. By appending " (daytime)" to the search term it now matches on the expected data series.
Another issue discovered while working on this, however, is that it's assuming there is TRMM data for the latest year, but TRMM stops at the end of 2019. I have not attempted to resolve that and only fixed the search term issue.

Declined in favor of @biquanlin's CLEWS-27620 PR


Add initial container definition

What would you like to be added:
We want to provide this software in containerized form. So add some we can build.
Why is this needed:
This is a core functionality of glvd

This has been done in #3


Not wild about the menu structure

Description
Clearly and concisely explain the problem.
You can mention unclear or missing information, typos, grammatical mistakes, etc.
Any contributions and suggestions are welcome!
I was missing my usual vertical left hand side menu for components etc. Had to guess that I must click on "Why Quasar?" in the horizontal menu to find it. Not ideal. Personally I preferred the old style with the menu always available on the left hand side. Why do you think it's better to have two menus?
Website Section URL
Website live preview, paste the page URL or section name (eg. Docs, if it happens on all docs page) below.
Home page

Sorry, could you expand on where you find trouble to reach components?
You wrote "homepage" but it seems you're talking about the "landing" page
There is now again a separation between the 2 pages, like there were before the migration to Qv2
From the landing page, you can reach the actual docs (with the open drawer by default) using pretty much all links in the header

I'm not sure of the difference between home page and landing page. I simply followed the link in the Discord announcement... wherever that led is the page I meant.
My eye was not drawn to the links in the header. They were drawn to the links below that, probably because they are wider (i.e. as a whole take up more space) and right next to the outlined version selector which is actually what drew my eye first. I only noticed the links at the top after browsing for a bit.

Thanks for your feedback :)
Let's see if someone else experience the same problem of not seeing the first navigation line, if that's the case we'll need to make it more evident in some way


feat(has): add has function

Description
Add a has function in the container to know if a service exists or not.
Example:
const serviceExists = container.has('@service'); // return true or false

Codecov Report

Merging #6 into 0.3.0 will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##            0.3.0       #6   +/-   ##
=======================================
  Coverage   99.56%   99.57%
=======================================
  Files          18       18
  Lines         232      236    +4
  Branches       35       34    -1
=======================================
+ Hits          231      235    +4
  Misses          1        1

Impacted Files
Coverage Δ

src/Container.ts
100.00% <100.00%> (ø)

src/Util.ts
94.11% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e14bbf2...a386439. Read the comment docs.


GameButtonB is mapped to the DismissIntent which causes problems with back navigation.

The default shortcut map has LogicalKeyboardKey.gameButtonB mapped to DismissIntent (actually there is a typo such that it is currently ActiveIntent, so it is double broken). However, on Android devices that use the B button on a controller, this causes the back navigation to trigger twice as the system already triggers the Android back button to the B button.
We could special case this for Android, but given that we don't really know the context in which apps would like to dismiss dialogs from a game controller, we should just remove this mapping altogether. Apps can then hook up whatever key they want for dismissal in their own shortcut map.

The internal bug for this is b/160991505


Changes in ProxyFix are not documented

Hi, it seems to me that ProxyFix got changes that were not documented in 0.15. While the documentation give information about the module having changed, it's signature and behavior changed to. The new signature is:
ProxyFix(app, num_proxies=None, x_for=1, x_proto=0, x_host=0, x_port=0, x_prefix=0)

while the old ProxyFix ~had this behavior:~ was behaving like this:
ProxyFix(app, num_proxies=None, x_for=1, x_proto=1, x_host=1, x_port=1, x_prefix=1)

As far as I can see, there is no warning in the documentation regarding the change in behavior and since this is not something that is tested with our unit tests, we did not caught it.
Is the change in behavior wanted?
Could we document it more clearly? Especially at https://werkzeug.palletsprojects.com/en/0.15.x/contrib/fixers/ wich only says:

class werkzeug.contrib.fixers.ProxyFix(*args, **kwargs)
Deprecated since version 0.15: werkzeug.contrib.fixers.ProxyFix has moved to werkzeug.middleware.proxy_fix. This import will be removed in 1.0.

Would it be possible that importing from contrib.fixers give the old behavior and for the documentation and the error message give more details about this change?
Thanks a lot!

The signature of the previous version of ProxyFix from 0.14 is:
https://github.com/pallets/werkzeug/blob/f1d15a2c7f35dcde0e52787c9fdf9ea6f6405308/werkzeug/contrib/fixers.py#L120
The x_ parameters are all new in 0.15.

The fact that you need to specify the count for each one is documented:
https://github.com/pallets/werkzeug/blob/129b3fa0041b874951ce89cbc0a7a6d6e8944414/src/werkzeug/middleware/proxy_fix.py#L38-L39
https://github.com/pallets/werkzeug/blob/129b3fa0041b874951ce89cbc0a7a6d6e8944414/src/werkzeug/middleware/proxy_fix.py#L62-L63

Hi @davidism, thanks for the response. I did not see a mention that the default behavior changed though. There was a default behavior, there is still one but they differ. Can't we add a warning regarding this?

Not for nothing, but by changing the default behavior, you're going to cause anything that's validating a signed http request (like Twilio webhooks) to suddenly decide that all of the signatures it's seeing are wrong.

This change of default behaviour would affect the WA mentioned in flask-restplus serve swagger over https.
Now it would work with below code change:
app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_port=1, x_prefix=1)

In most server setups, the default is probably what you want, or you might enable x_host as well. The various headers are set in various combinations by different platforms and proxies. It is dangerous to make a broad recommendation to set every value to 1, you must set the values according to your specific hosting setup.

When working from a clean slate, absolutely.  But I think it might make sense to have the contrib wrapper that throws the deprecation warning supply defaults that match what the previous version of the class did.
Some context for why folks might be cranky about this, since this is what happened to me: a fresh pip install of the same project and code, where flask was pinned to 1.0.2, but werkzeug wasn't pinned, can result in a broken site.


Clarity around moving models between environments.

Hello, I had a customer raise concerns about the section  - "For prediction and prebuilt models, moving and copying environments is fully supported. For other models, after you move or copy an environment, you have to retrain and republish existing models to make them available again"
They thought we were saying you'd need to retrain the model as you move from dev, test, prod and it raised some doubts.  The paragraph may be bit confusing and should probably clarify that you can in fact move the model b/w environments.   Its an easy thing to overlook.

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

ID: 589f8a2a-62c9-addb-489a-0d38ea076ed5
Version Independent ID: af24ed6c-5d57-72eb-6682-e10ba7c1af61
Content: Administer AI Builder - AI Builder
Content Source: ai-builder-docs/administer.md
Service: aibuilder
GitHub Login: @Phil-cmd
Microsoft Alias: plarrue

@ctsafos - Thanks for your feedback. We are currently looking into this issue.

Hi, this documentation is quite old but I believe is still accurate: when you copy an environment, the model may still need to be retrained. For example, Document Processing models are also generating a model in Azure storage at training time, so if you copy the model through environment copy, it should be necessary to retrain the model so it can generate an Azure model for this copied AI Builder model. To be honest, that's not something we tested recently, so if you face a difference behavior, please let us know.


ros2: update services and launch files to enable PX4 example

This PR updates services and launch files in the terrain planner node and rviz plugin to allow the ROS 2 port to run a PX4 example.
Figure: planned paths and the planning tree are now visible

Details

Further updates to the rviz plugin to prevent race conditions
Update the pose visualisation code to display the aircraft mesh correctly
Add launch file for ArduPilot SITL using the DDS / ROS 2 packages
Update the rviz config, add more detailed names and amend the QoS for some topics

Issues

[x] The interactive markers are flakey and will sometimes not initialise properly. This prevents the start pose and goal pose from being set correctly, so the desired start and goal markers are not being passed to the corresponding terrain planning services. Update fixed in https://github.com/srmainwaring/terrain-navigation/pull/2

Other changes

Provides a launch example that uses the ArduPilot DDS launch scripts to start a SITL session.
There are dependencies on ArduPilot that we probably do not want in this repo, however having an integrated example is helpful while completing the last parts of the port.

GeographicLib
If you do not have the geoids for GeographicLib install the following:
$ sudo apt install geographiclib-tools
$ sudo geographiclib-get-geoids all

Usage PX4
The testing uses this branch of PX4 : https://github.com/srmainwaring/PX4-AutoPilot/tree/prs/pr-hinwil-testing-rebased as it contains a small fix to the height rate setpoint forward ported to main, and a DEM for Gazebo of the region used in the terrain planner example.
Start QGC:
Start a PX4 SITL session with Gazebo:
$ cd ~/PX4-Autopilot
$ make px4_sitl gz_standard_vtol

In the Gazebo Entity Tree view, right click the standard_vtol_0 and select 'Move To' to centre the camera on the plane.

Load the example mission: terrain_navigation_ros/config/davosdorf_mission.plan

Slide the bar to start the mission and enter a loiter over the park near the lake.

Figure: Gazebo and QGC in loiter

Launch the terrain planner, mavproxy and rviz nodes in separate terminals. These can be combined but it helps with debugging to run them separately:
ros2 launch terrain_navigation_ros terrain_planner.launch.py rviz:=false

ros2 launch terrain_navigation_ros mavros.launch.py

ros2 launch terrain_navigation_ros rviz.launch.py

Set the start and goal positions. If the interactive marker server is not updating correctly this may done using service calls:
$ ros2 service call /terrain_planner/set_start planner_msgs/srv/SetVector3 "{vector: {x: 1570, y: -330, z: -1}}"
$ ros2 service call /terrain_planner/set_goal planner_msgs/srv/SetVector3 "{vector: {x: -100, y: -200, z: -1}}"

Trigger the planner and set the planner to navigate. The equivalent ROS 2 service calls are:
$ ros2 service call /terrain_planner/trigger_planning planner_msgs/srv/SetVector3 "{vector: {z: 10.0}}"
$ ros2 service call /terrain_planner/set_planner_state planner_msgs/srv/SetPlannerState "{state: 2}"

Figure: rviz after planning

Finally engage the planner by switching the plane to OFFBOARD mode. Using mavros directly this is:
ros2 service call /mavros/set_mode mavros_msgs/srv/SetMode "{custom_mode: OFFBOARD}"

Figure: Gazebo and QGC at the goal

Usage ArduPilot (partial support)
There is work in progress to support ArduPilot, however the ArduPilot plane navigation code does not currently support the an external control mode that works with the global position set points emitted by the planner
Dependencies
There is currently a dependency on the launch scripts for ArduPilot DDS. These should be installed following the instructions here: https://github.com/ArduPilot/ardupilot/blob/master/Tools/ros2/README.md.
The ArduPilot dependencies may be installed in the same workspace as terrain navigation or a separate one. If the latter the ArduPilot workspace should be sourced in addition to the terrain navigation workspace when running examples.
Running
Launch files for each node have been provided to aid debugging. These need to be started in separate terminals.
Launch the ardupilot_sitl node:
ros2 launch terrain_navigation_ros ardupilot.launch.py

Launch the terrain planner node:
ros2 launch terrain_navigation_ros terrain_planner.launch.py rviz:=false

Launch the mavros node:
ros2 launch terrain_navigation_ros mavros.launch.py

Launch rviz:
ros2 launch terrain_navigation_ros rviz.launch.py

Start an interactive mavproxy session:
mavproxy.py --master udp:<IP_ADDRESS>:14550 --console --map

Use the mavproxy mission editor to load the example mission from ./src/terrain_navigation_ros/config/davosdorf_mission.txt. The mission comprises a VTOL takeoff, a waypoint and an unlimited loiter.
In mavproxy, switch to AUTO and arm:
FBWA> auto
AUTO> arm throttle

Wait for the map to load in rviz. If it does not appear use the Load Terrain button. The console should report details such as:
[INFO] [1701179406.588577460] [terrain_planner]: resource_path: /Users/rhys/Code/ros2/humble/ros2-aerial/install/terrain_navigation_ros/share/terrain_navigation_ros/resources
[INFO] [1701179406.588670377] [terrain_planner]: map_path_: /Users/rhys/Code/ros2/humble/ros2-aerial/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/davosdorf.tif
[INFO] [1701179406.588680169] [terrain_planner]: map_color_path_: /Users/rhys/Code/ros2/humble/ros2-aerial/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/davosdorf_color.tif
[INFO] [1701179406.588688002] [terrain_planner]: mesh_resource_path_: /Users/rhys/Code/ros2/humble/ros2-aerial/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/believer.dae
[INFO] [1701179406.588694877] [terrain_planner]: avalanche_map_path: /Users/rhys/Code/ros2/humble/ros2-aerial/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/avalanche.tif
[INFO] [1701179406.588709752] [terrain_planner]: goal_radius_: 66.67
Requesting global origin messages
[TerrainPlanner] Received Global Origin from FMU
[TerrainPlanner] Local origin received, loading map

Loading GeoTIFF file for gridmap

Wkt ProjectionRef: PROJCS["CH1903 / LV03",GEOGCS["CH1903",DATUM["CH1903",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],AUTHORITY["EPSG","6149"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4149"]],PROJECTION["Hotine_Oblique_Mercator_Azimuth_Center"],PARAMETER["latitude_of_center",46.9524055555556],PARAMETER["longitude_of_center",7.43958333333333],PARAMETER["azimuth",90],PARAMETER["rectified_grid_angle",90],PARAMETER["scale_factor",1],PARAMETER["false_easting",600000],PARAMETER["false_northing",200000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","21781"]]
Width: 559 Height: 495 Resolution: 10

Loading color layer from GeoTIFF file for gridmap
Width: 559 Height: 495 Resolution: 10
[TerrainPlanner]   - Successfully loaded map: /Users/rhys/Code/ros2/humble/ros2-aerial/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/davosdorf.tif
[TerrainOmplRrt] Upper bounds:    2795    2475 2963.08
[TerrainOmplRrt] Lower bounds:   -2795   -2475 1585.99
Warning: RRTstar requires a state space with symmetric distance and symmetric interpolation.
         at line 101 in /tmp/ompl-20231021-89370-hq36il/ompl-1.6.0/src/ompl/geometric/planners/rrt/src/RRTstar.cpp

In another terminal call services to set the start and goal:
$ ros2 service call /terrain_planner/set_start planner_msgs/srv/SetVector3 "{vector: {x: 1570, y: -330, z: -1}}"

A green circle near the vehicles loiter position should appear.
$ ros2 service call /terrain_planner/set_goal planner_msgs/srv/SetVector3 "{vector: {x: -100, y: -200, z: -1}}"

A green circle on the mountain near the top of the snow should appear.
The terrain planner console should show:
NAV Loiter Center
 - x_lat : 46.8146
 - y_long: 9.8491
 - alt   : 200
 - Radius: 80
mission_loiter_center_:  783936<PHONE_NUMBER>.47
mission_loiter_center_:  1637.97 -350.937  1761.47

Call the loiter service
ros2 service call /terrain_planner/set_start_loiter planner_msgs/srv/SetService "{}"

Put the planner in its HOLD state:
ros2 service call /terrain_planner/set_planner_state planner_msgs/srv/SetPlannerState "{state: 1}"

Switch the flight controller to GUIDED:
ros2 service call /mavros/set_mode mavros_msgs/srv/SetMode "{custom_mode: GUIDED}"

Trigger the planner (the z-component of the vector3 is the planning budget time in seconds):
ros2 service call /terrain_planner/trigger_planning planner_msgs/srv/SetVector3 "{vector: {z: 10.0}}"

Console output:
[INFO] [1701181272.559051680] [terrain_planner]: planner_time_budget: 10
Info:    RRTstar: Started planning with 10 states. Seeking a solution better than 0.00000.
Info:    RRTstar: Initial k-nearest value of 287
Info:    RRTstar: Found an initial solution with a cost of 4055.12 in 4343 iterations (117 vertices in the graph)
Info:    RRTstar: Created 824 new states. Checked 346843 rewire options. 20 goal states in tree. Final solution cost 4013.597
Info:    Solution found in 1.007225 seconds
Found Exact solution!
[INFO] [1701181274.556831676] [terrain_planner]: time_spent_planning: 2.37095
[INFO] [1701181274.556906133] [terrain_planner]: planner_time_budget: 10

Put the planner in its NAVIGATE state:
ros2 service call /terrain_planner/set_planner_state planner_msgs/srv/SetPlannerState "{state: 2}"

Verify the setpoints are being published:
$ ros2 topic echo /mavros/setpoint_raw/global --once
header:
  stamp:
    sec:<PHONE_NUMBER>
    nanosec: 558113248
  frame_id: ''
coordinate_frame: 6
type_mask: 0
latitude: 46.815288876315954
longitude: 9.848755570268443
altitude: 82.70903778076172
velocity:
  x: 0.8028606224010265
  y: -0.596166772805929
  z: 5.0
acceleration_or_force:
  x: 0.008942054489364451
  y: 0.012042307220654344
  z: -0.0
yaw: 0.0
yaw_rate: 0.0
---

When you get a chance, can you rebase your PX4 branch on top of main? I can't compile your branch, but I can compile main.

There seems to be some style changes, but the styles were formatted with clang-format-6.0 for ROS1. Could you maybe share the exact style format you are using?

Style changes are probably not intended. Some change, such as comments around unused arguments would be for clang. Line length is probably my changing from habit - working on Gazebo where there is a strict line length policy. If there is a formatter you like run I'd be happy to - @Ryanf55 do you know what is standard for ROS 2 these days?

Some of the inline implementations seems to have now gotten a cpp file. Could you maybe clarify why this is more preferred? I am fine with the changes, was just wondering why this would be better

A couple of reasons. The main one is that the header only versions lead to duplicate symbols in clang. The other reason is that inline code with branch conditions seldom gets compiled inline. Same if the functions are virtual. If the section is critical for performance then inlining may make sense, but most of the time placing the code in a translation unit is better and allows a smaller set of includes to be used in the header (which propagate) with most of the details in the cpp.

clang-format with google style guide. https://github.com/ethz-asl/grid_map_geo/pull/45
I have no perference if you want to fix formatting now or later; depends if it's going to create a huge diff or not. If the old code was formatted with version 6 or something, it would be best to preserve the old style in this PR, and then migrate versions in a follow up PR once we can enforce it in CI and ignore a single reformat commit to reduce code churn noise.

I got up to the part of launching terrain navigation but there is a problem with getting the origin.
mavros log
[mavros_node-1] [WARN] [1705699705.649010553] [mavros.guided_target]: PositionTargetGlobal failed because no origin

planner log
[terrain_planner_node-1] [WARN] [1705699248.629211012] [terrain_planner]: Service [/mavros/cmd/command] not available.
[terrain_planner_node-1] Requesting global origin messages

@Jaeyoung-Lim and @Ryanf55, do you require any further changes to get this PR merged?
I've run
./Tools/fix_code_style.sh ..

on the repo, and it runs clean, although for clang-format 17.0.6 on macOS and 14.0.0-1ubuntu1.1 on Ubuntu 22.04 as these are the default versions for those platforms.
@Ryanf55 I'd prefer to get this PR merged and then apply your two changes as a follow up, as they need a rebase and this ros2 branch has been something of a WIP up until now in any case.

There seems to be some style changes, but the styles were formatted with clang-format-6.0 for ROS1. Could you maybe share the exact style format you are using?

Style changes are probably not intended. Some change, such as comments around unused arguments would be for clang. Line length is probably my changing from habit - working on Gazebo where there is a strict line length policy. If there is a formatter you like run I'd be happy to - @Ryanf55 do you know what is standard for ROS 2 these days?

Some of the inline implementations seems to have now gotten a cpp file. Could you maybe clarify why this is more preferred? I am fine with the changes, was just wondering why this would be better

A couple of reasons. The main one is that the header only versions lead to duplicate symbols in clang. The other reason is that inline code with branch conditions seldom gets compiled inline. Same if the functions are virtual. If the section is critical for performance then inlining may make sense, but most of the time placing the code in a translation unit is better and allows a smaller set of includes to be used in the header (which propagate) with most of the details in the cpp.

We can select clang-format likely - if it minimizes code churn.
Yea, feel free to merge this. I wasn't able to get it running all the way, but so far it's a big improvement.

@srmainwaring Unfortunately on myside it doesn't seem to progress after requesting for origin messages:
[terrain_planner_node-1] [INFO] [1708261393.675265756] [terrain_planner]: resource_path: /home/jaeyoung/ros2_ws/install/terrain_navigation_ros/share/terrain_navigation_ros/resources
[terrain_planner_node-1] [INFO] [1708261393.675368422] [terrain_planner]: map_path_: /home/jaeyoung/ros2_ws/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/davosdorf.tif
[terrain_planner_node-1] [INFO] [1708261393.675374867] [terrain_planner]: map_color_path_: /home/jaeyoung/ros2_ws/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/davosdorf_color.tif
[terrain_planner_node-1] [INFO] [1708261393.675379037] [terrain_planner]: mesh_resource_path_: /home/jaeyoung/ros2_ws/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/believer.dae
[terrain_planner_node-1] [INFO] [1708261393.675382954] [terrain_planner]: avalanche_map_path: /home/jaeyoung/ros2_ws/install/terrain_navigation_ros/share/terrain_navigation_ros/resources/avalanche.tif
[terrain_planner_node-1] [INFO] [1708261393.675401365] [terrain_planner]: goal_radius_: 80
[terrain_planner_node-1] [INFO] [1708261393.675422066] [terrain_planner]: alt_control_p: 0.5
[terrain_planner_node-1] [INFO] [1708261393.675426568] [terrain_planner]: alt_control_max_climb_rate: 3
[terrain_planner_node-1] [INFO] [1708261393.675430631] [terrain_planner]: cruise_speed: 15
[terrain_planner_node-1] Requesting global origin messages

However, probably we should address this in following PRs! Thanks for all the work!


[si] Remove empty lines before the PHP opening tags

While using https://github.com/ARCANEDEV/LaravelLang I did see white spaces in my console. During the debugging I found out that it was because in the si language files there where 2 files with an empty line before the opening tag. This PR removes them.

thank you


My game crash in start

After updating the osu-framework, crashes began. I have absolutely no idea what can be done😔
Crash report
Unhandled Exception: System.InvalidOperationException: This operation must be performed on the same thread as that represented by the Thread instance.
at System.Threading.Thread.RequireCurrentThread()
at osu.Framework.Platform.GameHost.<>c__DisplayClass130_3.b__11() in C:\projects\osu-framework-a4n7e\osu.Framework\Platform\GameHost.cs:line 805
at osu.Framework.Threading.ScheduledDelegate.RunTask() in C:\projects\osu-framework-a4n7e\osu.Framework\Threading\Scheduler.cs:line 347
at osu.Framework.Threading.Scheduler.Update() in C:\projects\osu-framework-a4n7e\osu.Framework\Threading\Scheduler.cs:line 113
at osu.Framework.Threading.GameThread.ProcessFrame() in C:\projects\osu-framework-a4n7e\osu.Framework\Threading\GameThread.cs:line 136
at osu.Framework.Platform.GameHost.b__113_1(Object , FrameEventArgs ) in C:\projects\osu-framework-a4n7e\osu.Framework\Platform\GameHost.cs:line 546
at osuTK.GameWindow.RaiseUpdateFrame(Stopwatch watch, Double elapsed, Double& timestamp)
at osuTK.GameWindow.DispatchUpdateFrame(Stopwatch watch)
at osuTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
at osu.Framework.Platform.GameHost.Run(Game game) in C:\projects\osu-framework-a4n7e\osu.Framework\Platform\GameHost.cs:line 549
at TestGame.Program.Main(String[] args) in /home/st/TestGame/TestGame/Program.cs:line 28

Try updating your framework-utilising project to .NET Core 3.0.
Version 2019.1010.0 (or merge of #2829) bumped Core version to 3.0, which fixed not being able to set culture on unstarted threads (see dotnet/corefx#33574). #2895 then added support for setting thread locale using the framework locale setting, which exposes this bug on earlier Core versions. This should probably be documented somewhere for posterity.

That helped. Thank you!


The cronjobs (monitor_metrics*) get stuck and keep spawning when replica is taking a checkpoint

I have to remove the p4prom installation and the cron jobs from replica because of this.
I have a quite a huge environment where taking a checkpoint would take 12h +
During that time, all perforce command would stuck, including the cron jobs.
Any work around for this?

Which version of the server are you running?
If it is p4d 2021.1 or later then we can turn on Realtime Monitoring for the server:
https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_monitor.html
The value of 'rtv.db.ckp.active' could be read by the script to detect checkpoint. If that's an option for you I am happy to look at putting detection for this situation in place.
Please note that we usually recommend doing offline checkpoints, as done by SDP. This avoids locking live database, even on a replica.

We have p4d 2015.2.  the size of db.* are huge (over 100G).
We have p4prometheus installed on master, and runs without any issue.  However when installing it on replica, we realized that everything is frozen when checkpoint is running.  (somewhat expected)
If monitor_metrics* script could detect the locking and stop spawning new job, that'd work.

Do you have lslocks installed?

yes I do.


About the token cost of one 3D scene

Could you tell me how many tokens you used to represent the whole 3D scene before sending them to LLM?
Thanks a lot.

We represent a 3D scene with 32 learnable tokens following BLIP2 and InstructBlip https://github.com/Open3DA/LL3DA/blob/main/models/ll3da/captioner.py#L183. We introduce 8 additional tokens for each visual prompt.


Image Request: Grafana 9.5.1

Software Name
Grafana
Software Version
9.5.1
Software Value
User interface has improved a lot and many new features. Two CVE issues resolved.
Requestors Role
Working Dockerfile is in my repository...
Please Note
Requests made to this repo do not guarantee eventual inclusion in ICR. Each image will be evaluated for value, ease of currency and security concerns before a final decision is made.

Very nice, thank you. I suspect you might also check whether #82 is still needed...


[Package Issue]: WildfireGames.0AD | 0.0.24b is detected as update for r25860-alpha

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Other
Brief description of your issue
Winget wants to upgrade to 0.0.24b while 25860-alpha is installed.
NB: r25860-alpha is the name of version 0.0.25b. I don't know why it's called that but it is.
Steps to reproduce
Have version 0.0.25b installed and try to update.
Actual behavior
Update to 0.0.24b.
Expected behavior
Do not update.
Environment
Windows Package Manager v1.2.10271
Windows: Windows.Desktop v10.0.19043.1586
Package: Microsoft.DesktopAppInstaller v1.17.10271.0

0 A.D.: v0.0.25b

Screenshots and Logs
PS C:\Users\User> winget upgrade
Name                                                 ID                                     Version        Available      Source
--------------------------------------------------------------------------------------------------------------------------------
0 A.D.                                               WildfireGames.0AD                      r25860-alpha   0.0.24b        winget

PS C:\Users\User> winget upgrade 0ad
Found 0 A.D. [WildfireGames.0AD] Version 0.0.24b
The license to use this application is granted to you by its owner.
Microsoft is not responsible for and does not license third-party packages.
Downloading https://releases.wildfiregames.com/0ad-0.0.24b-alpha-win32.exe
  ██████████████████████████████  0.00 B /  845 MB
Package download canceled.

It seems that when 0.0.24b was added, the version wasn't set to what is shown in the Add/Remove Programs (ARP) Table, which is causing this mismatch.
I've created the above PR which should solve the issue of there being an upgrade reported;

NB: r25860-alpha is the name of version 0.0.25b. I don't know why it's called that but it is.

It is called that because that is what the version is set to in the ARP table
DisplayName DisplayVersion Publisher      ProductCode
----------- -------------- ---------      -----------
0 A.D.      r25860-alpha   Wildfire Games 0 A.D.

Unfortunately, the 0.0.24b and ``0.0.25b` etc. are "Marketing Versions", meaning that is what is stated the version is, but it isn't the version that is reported. Once microsoft/winget-cli#1952 is implemented, it will make it easier to differentiate between the marketing versions and reported versions, but as of right now we have to use the reported version.


Access to latest DAYCLI data

User story
As a seasonal forecasting centre, I want to be notified when the latest daily (or monthly) climate summaries are available so that I can download and use the information in the next seasonal forecast and climate outlook.
Acceptance criteria

[x] When new climate summaries are available through the WIS2box I receive a push notification
[x] By following a URL in the notification I can automatically download the data in the format required.

Definition of done

[x] unit/functional tests added/updated
[x] documentation updated
[x] live demonstration provided

Tests and docs covered by WIS2box tests and documentation. Live demonstration provided using data from Canada.


calendarific api data

need to find some way of linking the dates of the holidays to the holiday names. Maybe there is something already in the server response?


(mysql) LIKE for non-text columns

I there a way to use LIKE statement for any column? Currently, it tied to TextExpressionMethods. But MySQL works fine with any column type.
PS: I need this to fuzzy search in DECIMAL column.

See http://diesel.rs/guides/extending-diesel/#custom-operators for examples of how to add new operators to Diesel

Thanks.
I've tried this:
diesel_infix_operator!(MyLike, " LIKE ");

pub trait MyLikeMethods: Expression + Sized {
    fn my_like<T: AsExpression<Self::SqlType>>(self, rhs: T) -> MyLike<Self, T::Expression> {
        MyLike::new(self, rhs.as_expression())
    }
}

impl<T: Expression> MyLikeMethods for T {}

{
    let some_text = "some text".to_string();
    let list: Vec<MyStruct> = table::my_table
        .filter(columns::my_table::price.my_like(format!("%{}%", some_text)))
        .load(conn)?;
}

But I'm getting:
error[E0277]: the trait bound `std::string::String: diesel::Expression` is not satisfied
   --> src/db/invoices.rs:253:48
    |
253 |         .filter(columns::invoices::total_price.my_like(format!("%{}%", some_text)))
    |                                                ^^^^^^^ the trait `diesel::Expression` is not implemented for `std::string::String`
    |
    = note: required because of the requirements on the impl of `diesel::expression::AsExpression<diesel::sql_types::Numeric>` for `std::string::String`

The price column is Decimal.

You defined my_like to exist on all types, and take any argument of the same type. It sounds like you want it to be only on decimal columns, and only take text arguments. You should write fn my_like<T: AsExpression<Text>> and impl<T: Expression<SqlType = Decimal>>

Thanks! It worked.


401 JWT Token not found

Hello everyone, I need a help.
I will be very happy if someone helps me, because I am already on my second day over this problem.
Thanks a lot.
I provided two versions of the security.yaml file. The second version according to API Platform documentation. API Platform sends to the creation a custom user provider. For the second option security.yaml recommended at API Platform docs, need to create two additional files, I did not attach them to the topic, but if necessary, attach.
But I think that problem it is in JWT.
Environment:

node v8.9.4
chrome 64.0.3282.119
Ubuntu 16.04
axios version: 0.16.2
Vue.js 2.4.2
vue-axios 2.0.2
api-platform/api-pack: 1.0
Symfony 4.0.4

User.php
<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * @ORM\Table(name="app_users")
 * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
 */
class User implements UserInterface, \Serializable
{
    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=25, unique=true)
     */
    private $username;

    /**
     * @ORM\Column(type="string", length=64)
     */
    private $password;

    /**
     * @ORM\Column(type="string", length=60, unique=true)
     */
    private $email;

    /**
     * @ORM\Column(name="is_active", type="boolean")
     */
    private $isActive;

    public function __construct() // add $username
    {
        $this->isActive = true;
    }

    public function getUsername()
    {
        return $this->username;
    }

    public function getSalt()
    {
        // you *may* need a real salt depending on your encoder
        // see section on salt below
        return null;
    }

    public function getPassword()
    {
        return $this->password;
    }

    public function getRoles()
    {
        return array('ROLE_ADMIN');
    }

    public function eraseCredentials()
    {
    }

    /** @see \Serializable::serialize() */
    public function serialize()
    {
        return serialize(array(
            $this->id,
            $this->username,
            $this->password,
            // see section on salt below
            // $this->salt,
        ));
    }

    /** @see \Serializable::unserialize() */
    public function unserialize($serialized)
    {
        list (
            $this->id,
            $this->username,
            $this->password,
            // see section on salt below
            // $this->salt
        ) = unserialize($serialized);
    }
}

First option security.yaml
security:

    encoders:
        App\Entity\User:
            algorithm: bcrypt

    providers:

        our_db_provider:
            entity:
                class: App\Entity\User
                property: username

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        login:
            pattern:  ^/api/login
            stateless: true
            anonymous: true
            form_login:
                check_path:               /api/login_check
                success_handler:          lexik_jwt_authentication.handler.authentication_success
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure
                require_previous_session: false

        api:
            pattern:   ^/api
            stateless: true
            provider: our_db_provider
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator

    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }
        - { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api,       roles: IS_AUTHENTICATED_FULLY }

Second option security.yaml
security:

    encoders:
        App\Entity\User:
            algorithm: bcrypt

        App\Security\User\WebserviceUser: bcrypt

    providers:

        our_db_provider:
            entity:
                class: App\Entity\User
                property: username

        webservice:
            id: App\Security\User\WebserviceUserProvider

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        login:
            pattern:  ^/api/login
            stateless: true
            anonymous: true
            provider: webservice
            form_login:
                check_path:               /api/login_check
                success_handler:          lexik_jwt_authentication.handler.authentication_success
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure
                require_previous_session: false

        api:
            pattern:   ^/api
            stateless: true
            provider: our_db_provider
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator
    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }
        - { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api,       roles: IS_AUTHENTICATED_FULLY }

Headers

curl

In browser

.env
###> lexik/jwt-authentication-bundle ###
# Key paths should be relative to the project directory
JWT_PRIVATE_KEY_PATH=var/jwt/private.pem
JWT_PUBLIC_KEY_PATH=var/jwt/public.pem
JWT_PASSPHRASE=d70414362252a41ce772dff4823d084d
###< lexik/jwt-authentication-bundle ###

lexik_jwt_authentication.yaml
lexik_jwt_authentication:
    private_key_path: '%kernel.project_dir%/%env(JWT_PRIVATE_KEY_PATH)%'
    public_key_path:  '%kernel.project_dir%/%env(JWT_PUBLIC_KEY_PATH)%'
    pass_phrase:      '%env(JWT_PASSPHRASE)%'

Solution:

https://stackoverflow.com/questions/48667976/401-jwt-token-not-found/48711745#48711745
https://github.com/api-platform/api-platform/issues/557#issuecomment-364453888

Closing as solved :)

Solution "JWT Token not found" in Symfony 4
Error
{"code":401,"message":"JWT Token not found"}
Solution
Implement HTTP_AUTHORIZATION code in the path {projectSymfony}/public/.htaccess
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

Document complete .htaccess
# Use the front controller as index file. It serves as a fallback solution when
# every other rewrite/redirect fails (e.g. in an aliased environment without
# mod_rewrite). Additionally, this reduces the matching process for the
# start page (path "/") because otherwise Apache will apply the rewriting rules
# to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl).
DirectoryIndex index.php

# By default, Apache does not evaluate symbolic links if you did not enable this
# feature in your server configuration. Uncomment the following line if you
# install assets as symlinks or if you experience problems related to symlinks
# when compiling LESS/Sass/CoffeScript assets.
# Options FollowSymlinks

# Disabling MultiViews prevents unwanted negotiation, e.g. "/index" should not resolve
# to the front controller "/index.php" but be rewritten to "/index.php/index".
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Determine the RewriteBase automatically and set it as environment variable.
    # If you are using Apache aliases to do mass virtual hosting or installed the
    # project in a subdirectory, the base path will be prepended to allow proper
    # resolution of the index.php file and to redirect to the correct URI. It will
    # work in environments without path prefix as well, providing a safe, one-size
    # fits all solution. But as you do not need it in this case, you can comment
    # the following 2 lines to eliminate the overhead.
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    # Sets the HTTP_AUTHORIZATION header removed by Apache
    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect to URI without front controller to prevent duplicate content
    # (with and without `/index.php`). Only do this redirect on the initial
    # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
    # endless redirect loop (request -> rewrite to front controller ->
    # redirect -> request -> ...).
    # So in case you get a "too many redirects" error or you always get redirected
    # to the start page because your Apache does not expose the REDIRECT_STATUS
    # environment variable, you have 2 choices:
    # - disable this feature by commenting the following 2 lines or
    # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
    #   following RewriteCond (best solution)
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    # If the requested filename exists, simply serve it.
    # We only want to let Apache serve files and not directories.
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    # Rewrite all other queries to the front controller.
    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        # When mod_rewrite is not available, we instruct a temporary redirect of
        # the start page to the front controller explicitly so that the website
        # and the generated links can still be used.
        RedirectMatch 307 ^/$ /index.php/
        # RedirectTemp cannot be used instead
    </IfModule>
</IfModule>

Document  {projectSymfony}/config/packages/security.yaml
security:
    encoders:
        # ...
        usuarios:
            class: App\Entity\Usuarios
            algorithm: plaintext

    providers:
        # ...
        usuario:
            entity:
                class: App\Entity\Usuarios
                property: usuario

    firewalls:
        # ...
        login:
            pattern:  ^/api/login
            stateless: true
            anonymous: true
            provider: usuario
            form_login:
                check_path:               /api/login_check
                success_handler:          lexik_jwt_authentication.handler.authentication_success
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure
                require_previous_session: false
        api:
            pattern:   ^/api
            stateless: true
            anonymous: false
            provider: usuario
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator

    access_control:
        # ...
        - { path: ^/api/login_check,        roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api/login,              roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api,                    roles: IS_AUTHENTICATED_FULLY }

Document  {projectSymfony}/config/packages/lexik_jwt_authentication.yaml
lexik_jwt_authentication:
    secret_key: '%env(resolve:JWT_SECRET_KEY)%'
    public_key: '%env(resolve:JWT_PUBLIC_KEY)%'
    pass_phrase: '%env(JWT_PASSPHRASE)%'
    token_ttl: '%env(JWT_TOKENTTL)%'
    # token encoding/decoding settings
    encoder:
        # token encoder/decoder service - default implementation based on the lcobucci/jwt library
        service:            lexik_jwt_authentication.encoder.lcobucci

        # encryption algorithm used by the encoder service
        signature_algorithm: RS256

    # token extraction settings
    token_extractors:
        # look for a token as Authorization Header
        authorization_header:
            enabled: true
            prefix:  Bearer
            name:    Authorization
        # check token in a cookie
        cookie:
            enabled: false
            name:    BEARER

        # check token in query string parameter
        query_parameter:
            enabled: false
            name:    bearer

Add in document  {projectSymfony}/.env
###> lexik/jwt-authentication-bundle ###
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE='your_secret_passphrase'
JWT_TOKENTTL=3600
###< lexik/jwt-authentication-bundle ###

Guie Basic Implementation JWT
https://www.franciscougalde.com/2018/02/19/como-construir-un-restful-api-con-symfony-4-jwt-parte-1/
https://www.franciscougalde.com/2018/02/19/construir-restful-api-symfony-4-jwt-parte-2/
https://www.franciscougalde.com/2018/02/19/construir-restful-api-symfony-4-jwt-parte-3/
Note
Thanks ;)

I had this error for a very different reason.
It looks like Symfony throws a BadCredentialsException when you try to encode a very large password. And this bundle converts any BadCredentialsException into a MissingTokenException ("JWT Token not found" ) with a 401 response.
So I fixed it by validating the password length before trying to create a new User.


Ensure code-quality plugin tool configurations are configured as runtime classpaths

All JVM runtime classpaths should request with attributes. This PR ensures code quality plugins are requesting with the correct attributes

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

Your PR is queued. See the queue page for details.


AbstractHttpExecutor  Map<String, String> convert(Map<String, Object> param)  Repeated conditional tests

Why you need it?
Is your feature request related to a problem? Please describe in details
public static Map<String, String> convert(Map<String, Object> param) {
return param.keySet().stream().filter(key -> param.get(key) != null && param.get(key) != null).collect(Collectors.toMap(key -> key, key -> param.get(key).toString()));
}
there has a Repeated conditional tests in the code
How it could be?
A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it.
1.remove Repeated conditional tests
2.keySet().stream()->map.foreach
public static Map<String, String> convert(Map<String, Object> param) {
Map<String, String> covertMap = new HashMap<>();
param.forEach((key, value) -> {
if (value != null) {
covertMap.put(key, value.toString());
}
});
return covertMap;
}
Other related information
Add any other context or screenshots about the feature request here.

it has been fixed in #3134
3134那个pr已经修复了


Added WIP to embed for incomplete characters

Added a diagonal WIP to the embed on top of any characters which are considered incomplete by the config.

Looks like this will be added by @unleashurgeek in the new embed as part of #1359.

Closing as this is done on the new UI now


Updates from rspec-dev (2019-12-18)

These are some updates, generated from rspec-dev's rake tasks.

Closed because this needs tweaking to make it not conflict

@benoittgt @pirj I think this stands a good chance of going green (its late here so I'm off), its the bare minimum with @benoittgt's rubygems unset and @mvz's bundler patch for Aruba, plus ignoring 4.2.0 (because of bundler 1.x required and we're dropping support anyway) and ignoring a warning on jruby only. 🤞

I merged #2244 in preference as it does less.


Add option to don't automatically connect on reboot

Today the client connects automatically every time the service is started and the peer is authenticated
We should add an option to prevent this behavior if the user doesn't want to keep a constant connection

This should definitely be opt-in, not opt-out. Also, this should be something controllable in the UI, and if enabled, the UI should start automatically too.


Update video.scss

Link to related issue (if applicable)
#1890
https://github.com/sampotts/plyr/issues/1266#issuecomment-464867614
Summary of proposed changes
The fullscreen video will be cropped 1/4 on safari when users are not using the actual size (the browser has been zoomed in or out) or the laptop is Retina display.
To fix the issue, I removed the overflow: hidden for the plyr--video class and transform animation for controls.
Checklist

[x] Use develop as the base branch
[x] Exclude the gulp build (/dist changes) from the PR
[x] Test on supported browsers

It would be good if this could be resolved without removing the animation 👍

This seems to be resolved now anyway. Thanks for your time on it though! 👍


Feature/remove fs me

https://profiles-pr-207.dev.beta.nhschoices.net/gp-surgeries/43212

Looks like there are 4 references to the font:

eh!?

Not sure how they were missed. The c2s-ie.scss file wasn't committed initially, despite there being changes.

There are a lot of changes in yarn.lock. As there are no changes in package.json I'm not sure why this has happened. It would be preferential if those changes were removed from this commit.

There are a lot of changes in yarn.lock. As there are no changes in package.json I'm not sure why this has happened. It would be preferential if those changes were removed from this commit.

Tried and mashed up my branch. I'll delete this and start again. The changes are minimal anyway.


Pulsar: improve error messages

Checklist

[x] Changelog has been updated and is aligned with our changelog requirements
[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes #4563

/run-e2e pulsar


Benchmark against gopher-lua, is there any idea about improve goja's performance?

Here is a bench with a pure go Lua 5.1 script engine, It show that goja's speed is far behind Gopher-lua.  The benchmark shows that goja has a lot of memory allocation than Gopher lua.
Gopher-lua is a good project and since it's written in go, there is no overhead for C-FFI, very suitable for a lot of function calls from script engine to the go code. but lua language is not popular among peoples(say it's array index starts from 1 ), I hope I can use javascript as an embedded script language in my go project. Goja is good for calling from script to native go, but the performance is not acceptable.
So, is there any plan / idea to improve the speed?

Benchmark for Gopher-lua

package luabench

import (
	"strings"
	"testing"

	lua "github.com/yuin/gopher-lua"
	"github.com/yuin/gopher-lua/parse"
)

var (
	script = `
	for x=1,100000 do
	end
	`

	prog *lua.FunctionProto
	vm   *lua.LState
)

func CompileString(source string) (*lua.FunctionProto, error) {
	reader := strings.NewReader(source)
	chunk, err := parse.Parse(reader, "User Custom Lua Script")
	if err != nil {
		return nil, err
	}
	proto, err := lua.Compile(chunk, "User Custom Lua Script")
	if err != nil {
		return nil, err
	}

	return proto, nil
}

func init() {

	vm = lua.NewState(lua.Options{SkipOpenLibs: true})
	var err error = nil
	prog, err = CompileString(script)
	if err != nil {
		panic(err)
	}

}

func BenchmarkLua(b *testing.B) {

	b.ResetTimer()

	for i := 0; i < b.N; i++ {
		lfunc := vm.NewFunctionFromProto(prog)
		vm.Push(lfunc)
		vm.PCall(0, lua.MultRet, nil)

	}

}

Benchmark for Goja

package jsbench

import (
	"testing"

	"github.com/dop251/goja"
)

var (
	script = `for (var x=0; x<100000; x++){}`

	prog *goja.Program
	vm   *goja.Runtime
)

func init() {
	prog, _ = goja.Compile("aaa", script, false)
	vm = goja.New()
}

func BenchmarkSample(b *testing.B) {

	b.ResetTimer()

	for i := 0; i < b.N; i++ {
		vm.RunProgram(prog)
	}

}

Short answer is 'no'.
Long answer: It's not fair to compare against LUA in general, because LUA was designed to allow simple and efficient implementations whereas ECMAScript wasn't. I cannot see a way of improving goja's performance further without making the code much, much more complex for which I don't have time.


SAK-46777 trying to resolve very inefficient discussion statistics

Before these changes, every topic for every user would require multiple db calls to calculate permissions (whether the person has access to the topic). For example, check the user's role (base conditions), check all their groups, etc.
After these changes, queries should be done in bulk and should be much faster.


systemd: 252.1 -> 252.4

Description of changes
This tag shall fix a suspend-then-hibernate configuration that triggers a freeze.
I was unable to build it on my machine but I think it is related to my config, I'll check the build on the bot.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg build

252.4 is already in staging: https://github.com/NixOS/nixpkgs/pull/207119

Sorry I close this


The plot is shown with the incorrect ratio

The visible area and the room area is not shown in the correct ratio when changing window size

fix in commit 14b25f5


emulator using ngrok for localhost

It seems that the emulator is using for no reason ngrok when testing localhost bot.
the issue is that ngrok has limitation on traffic frequency, and i'm being denied using it.

Agreed, it shouldn't do this for localhost.

Referencing commit https://github.com/Microsoft/BotFramework-Emulator/commit/a4457d2282d95f1daeea3852fe2408c209e9e53a, which contains a fix for this issue. Will be included in the next emulator release.

Great, i believe we can close the issue.

If an ngrok path is set, the emulator reports in the logs that it is accessible at the ngrok URL. It is expected that if an ngrok path is set, the ngrok URL will be reported as the service URL.
This new behaviour is unexpected and also causes dockerised bots to report a 500 error when attempting to start a new conversation, as they are unable to, by default, connect to the localhost service URL.
In my opinion, a change should be made in one or more of the following ways:
1 - At least log that this is the behaviour (localhost service URL being used for localhost bot). At the moment, it is hidden, unexpected and confusing
2 - Remove the check here. If the user doesn't want to use ngrok for a localhost bot, they can remove the ngrok path from app settings
3 - Make the behaviour configurable via app settings

Any response to my previous comment?

@kbremner Thanks for the feedback. It's definitely a rough edge in the design. Addressing your points:
1 - Good suggestion, thanks.
2 - Deleting the ngrok path feels inappropriate since it would break remote connections as well. I think a checkbox in App Settings might be better: "Bypass ngrok for localhost connections".
3 - Is this covered by the checkbox suggestion?

Thanks for taking it in to consideration :)
I agree in terms of the best course of action being to add a checkbox to app settings, with the logging mentioned in point 1.
I can open a pull request if you agree with those changes?

Certainly, that would be fantastic.


Partial I/O for uvh5 files

This PR adds support for partial reading and partial writing of uvh5 files. The partial reading is very similar to that supported for miriad and uvfits files. The partial writing is new for the HDF5 format, and attempts to write the data to files as efficiently as possible. It also requires first initializing an empty file on disk, and then populating the data in it in pieces.
@bhazelton I'm planning on adding examples of the partial I/O to the tutorial. Let me know if you would like it to be a part of this PR, or I can make an issue and do it at a later date.
Fixes #351.

@plaplant I approved it, please make the issue to track the tutorial additions.


Fixes nested component class lookup for components that use '.' instead of '/'

Nested components that use the . separator weren't being resolved correctly. With angle-bracket components, dot style will probably become much more common.

Are we going to get a npm release for this?

+1

Any update on a npm release for this?


Added new Observation class in support of Issue-157

I have an open question on this on Issue 157's page.  It probably isn't blocking.


gtk_widget assertion failure

It is an old error, since more than a year, there is no real annoyance beside the text displayed in the terminal when anoncoin-qtc is run on linux (Xubuntu, antergos) :

(anoncoin-qtc:19951): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion `GTK_IS_WIDGET (widget)' failed

What cause this?

This looks like an issue with QT, not AC. Can you try to find out which UI element is causing this error to occur?


Discord spoilers embed the GitHub, not the Tweet

A Discord message containing a spoiler'd link should embed and spoiler the link target. However, fixupx.com and fxtwitter.com instead embed the FixTweet project GitHub rather than the intended Tweet. The link, of course, works as expected, as does Discord's spoiler blur.
Curiously, vxtwitter.com embeds the Tweet as one would expect.
Example:

That is odd. I quickly pin-pointed that this is because Discord is actually sending us the URL with || after it because of the spoiler, so if you put https://fxtwitter.com/jack/status/20 in spoilers, what we actually receive is https://fxtwitter.com/jack/status/20||. If this ever worked before, it was before with our old routing implementation which had a bit of a looser configuration, but it seems we'll have to fix this to make it work. Why Discord is parsing the spoiler syntax in the URL is beyond me.

The fix should be live now, but you'll have to regenerate your currently broken embeds. You can simply change the username to i or add a query string (?asdf) at the end to regenerate the embed.

Confirmed fixed.


paymentClientToken Query field should be a paymentCreateClientToken mutation instead

Fetching this value calls gateway_get_client_token so it modifies the state (usually not on our server though), is not supposed to be cached, and for many gateways will become invalid after first use.

This field is now deprecated.


Docs giving 404

https://janelia-cellmap.github.io/pydantic-zarr/ (the link in the README) is giving a 404 - I'm guessing because of the repository move?

that's no good! yes, likely because of the repo move. we should ensure that github pages is working correctly with the new repo as well.

closed via #42


Add StackParam JSON Unmarshaler

Problem
It is very convenient when StackParam is correctly unmarshaled from JSON.
Solution
Implement custom UnmarshalJSON

Please reward fyrchik 300 points.

@fyrchik please provide a neo address for awards.

https://neoscan.io/transaction/2ce8e8bee250bf869670d40fe36d3cdba5a71da48f9c8dd777ac5734a921b8c0


Reboot kubed project

Delete all features except configmap & secret syncer
Update client-go to kubernetes-1.16.3

Signed-off-by: Tamal Saha<EMAIL_ADDRESS>

xref: https://github.com/appscode/kubed/issues/363


[Fix] fix pillars encode

Fix the interface of pillars encoder

@VVsssssk Please help to check the change in mmdet3d/datasets/transforms/loading.py

Waiting for @VVsssssk final check


alternate dialects in the multiverse of sqlite

I'm currently fine using the better-sqlite3 dialect, switching from postgresql to sqlite sped up my dx so fast.
Just crossed my mind though, since on postgresql it defaults to pg but there's an alternate one based on postgres which is also very cool.. on sqlite do you see any benefits on using the nodejs internal sqlite they're working on, and also on turso's limbo?
Links mentioned

https://github.com/WiseLibs/better-sqlite3
https://nodejs.org/api/sqlite.html
https://github.com/tursodatabase/limbo

There are several dialects available at https://github.com/subframe7536/kysely-sqlite-tools
However, the Node.js dialect is not supported yet https://github.com/subframe7536/kysely-sqlite-tools/issues/13

would be sick to have node's built in sqlite driver into kysely as a native dialect!

I think node:sqlite's api is similar to better-sqlite3, so maybe we can directly use SqliteDialect without any other efforts

It is not similar. Getting Error: Unknown named parameter '0' errors in tests.

haven't played with any migrations yet, but I took a stab here. https://github.com/mmgoodnow/kysely-node-sqlite/blob/df086d566e9e9cefb0b6d8edc253a8cd428c8d2b/dialect/sqlite-dialect.ts


uwac: don't try to use O_TMPFILE on FreeBSD

Currently, this sets an invalid open flag and attempts to open(), which
will fail.  Instead of doing that, don't try to define O_TMPFILE where
such a definition can't exist and force the fallback rather than making
an always-fail open() call.

@freerdp-bot test


update edition

update dependencies, update edition

Codecov Report

Merging #1350 (a9d8bab) into main (c305d3a) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1350      +/-   ##
==========================================
- Coverage   94.32%   94.30%   -0.02%
==========================================
  Files         234      234
  Lines       42535    42526       -9
==========================================
- Hits        40120    40105      -15
- Misses       2415     2421       +6

Impacted Files
Coverage Δ

src/core/executor.rs
98.00% <100.00%> (+0.02%)
:arrow_up:

src/indexer/segment_updater.rs
94.76% <100.00%> (-0.13%)
:arrow_down:

src/query/phrase_query/phrase_query.rs
91.17% <0.00%> (-3.11%)
:arrow_down:

src/tokenizer/tokenized_string.rs
77.19% <0.00%> (-0.78%)
:arrow_down:

src/query/union.rs
98.78% <0.00%> (-0.61%)
:arrow_down:

src/core/index_meta.rs
92.64% <0.00%> (-0.53%)
:arrow_down:

src/reader/warming.rs
94.73% <0.00%> (-0.46%)
:arrow_down:

src/postings/serializer.rs
98.96% <0.00%> (-0.35%)
:arrow_down:

src/collector/facet_collector.rs
98.00% <0.00%> (-0.26%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c305d3a...a9d8bab. Read the comment docs.


xESMF error after 12+ hour script run in downscaling grid/upsampling data

I am working with xesmf downscale a grid and upsample high resolution GLM data (5424 x 5424) to a global climate model grid which is 1.25 degree lon x 1 degree lat.
After forming a netcdf file of an xarray data array I used the commands as instructed for curvilinear grids on this page: https://xesmf.readthedocs.io/en/latest/notebooks/Curvilinear_grid.html
Here are the commands:
ds_out = xe.util.grid_global(1, 1.25)
regridder = xe.Regridder(ds, ds_out, "bilinear", periodic=True)
glm_ff_downscale = regridder(glm_ff)
After a 12+ hour run of the python script, I obtained this error:
Traceback (most recent call last):
File "lat_lon_xesmf2.py", line 60, in
regridder = xe.Regridder(ds, ds_out, "bilinear")
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/xesmf/frontend.py", line 772, in init
super().init(grid_in, grid_out, method, input_dims=input_dims, **kwargs)
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/xesmf/frontend.py", line 315, in init
weights = self._compute_weights()  # Dictionary of weights
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/xesmf/frontend.py", line 375, in _compute_weights
ignore_degenerate=self.ignore_degenerate,
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/xesmf/backend.py", line 481, in esmf_regrid_build
regrid = ESMF.Regrid(sourcefield, destfield, **kwargs)
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/ESMF/util/decorators.py", line 64, in new_func
return func(*args, **kwargs)
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/ESMF/api/regrid.py", line 185, in init
dstFracField=dst_frac_field
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/ESMF/interface/cbindings.py", line 2068, in ESMP_FieldRegridStore
handle_esmf_error(rc, 'ESMC_FieldRegridStore')
File "/app/spack/v0.15/linux-rhel7-x86_64/gcc-4.8.5/python/3.7.7-d6cyi6ophaei6arnmzya2kn6yumye2yl/lib/python3.7/site-packages/ESMF/interface/cbindings.py", line 26, in handle_esmf_error
raise ValueError(msg)
ValueError: ESMC_FieldRegridStore failed with rc = 506. Please check the log files (named "*ESMF_LogFile").

I looked in the error log file listed above and did not know what to do with the message listed below:20220208 021505.857 ERROR PET0 ESMF_Regrid.F90:366 ESMF_RegridStore Invalid argument - Internal subroutine call returned Error
20220208 021507.897 ERROR PET0 ESMF_FieldRegrid.F90:1415 ESMF_FieldRegridStoreNX Invalid argument - Internal subroutine call returned Error
20220208 021508.077 ERROR PET0 ESMF_Field_C.F90:1130 f_esmf_regridstore Invalid argument - Internal subroutine call returned Error
20220208 021543.915 INFO PET0 Finalizing ESMF
Any help in the interpretation or way forward of this error will be greatly appreciated.  I have also tried other Python and unix regridding tools like xarray coarsen, pyresample, cdo, nctoolkit, block_reduce in skimage all either fail or do not give quite the result that I need.
Thanks
Jonathan

same error message here when running
regridder = xe.Regridder(ds, ds_out, "bilinear")

where ds is a dask Dataset

This version of the package is no longer maintained. Would you mind moving your issue to https://github.com/pangeo-data/xESMF?


Hangs on ubuntu-latest

On a free github plan, you suddenly only get 200 minutes included, which correlates to around 15-20 extension deployments

Same here. I fixed the version on ubuntu-20.04 still it is getting stuck.


[Backport release-23.11] nixos/nvidia: load nvidia-uvm kernel module via softdep

This PR is a backport of #267335
Description of changes
I encountered the following error when starting a VM with GPU on Azure and I cannot use CUDA because nvidia_uvm kernel module is not properly loaded.
$ sudo journalctl -u systemd-modules-load

...
Nov 13 22:33:04 devserver-fast systemd-modules-load[500]: Failed to insert module 'nvidia_uvm': No such device
...

The VM image is built from NixOS modules at https://github.com/Preemo-Inc/nix-ml-ops/tree/7ab892a/nixos-modules
The reason why I encounter the error is that the GPU device was not yet available when systemd-modules-load was trying to load nvidia_uvm.
This PR fixes the error by lazily loading nvidia_uvm, making it be triggered via softdep after the nvidia kernel module is loaded. I can now use CUDA with the help of the PR, according to my manual test.
I believe this PR is safe because NVIDIA's official modprobe configuration includes the same line
https://github.com/NVIDIA/yum-packaging-nvidia-kmod-common/blob/68e8158621c320f6e209cb570311e7cde333f715/nvidia.conf#L13
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

We require backports to be cherry-picked from master with a reference to the original commit (-x).

@mweinelt Thank you for pointing out that. I just created #269473 with git cherry-pick -x.