AxiosError: Request failed with status code 400 when fetching tokens

Hi!
Firstly, thanks for the package – it's been really handy! I was using it for some time and everything was smooth. However, a few weeks ago, an error started appearing.
When I attempt to fetch tokens, this error shows up: "AxiosError: Request failed with status code 400".
I've tried to regenerate Figma access token but it didn't help.
Notably, I can still upload tokens using the Tokens Studio plugin in Figma to my GitHub repository without any issues. You can find them here: tokens.json.
Here's my .tokens.config.json:
{
  "tokenFormat": "TokensStudio",
  "figmaFileId": "",
  "inputFile": "./tokens-studio.json",
  "outputDir": "./src/constants",
  "platforms": ["ts"]
}

Error logs:
[15:05:23.439 - Event] Start Figma Token Engine
[15:05:23.439 - Event] Figma Tokens
[15:05:23.439 - Event] Figma API - Get Figma API Credentials
✅ FIGMA_PERSONAL_ACCESS_TOKEN in .env
✅ FIGMA_FILE_URL in .env
[15:05:23.440 - Event] Figma API - Get Figma File Plugin Data
🌏  Fetch Figma API

[15:06:19.782 - Error] AxiosError: Request failed with status code 400

/Users/rabbitshu/projects/2s-app/node_modules/figma-token-engine/build/utils/logger.js:38
    throw new Error(str);
          ^

Error: AxiosError: Request failed with status code 400
    at logError (/Users/rabbitshu/projects/2s-app/node_modules/figma-token-engine/build/utils/logger.js:38:11)
    at getFigmaFilePluginsData (/Users/rabbitshu/projects/2s-app/node_modules/figma-token-engine/build/figma-api/services.js:37:31)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async getTokensStudio (/Users/rabbitshu/projects/2s-app/node_modules/figma-token-engine/build/figma-api/index.js:15:30)
    at async processTokensStudio (/Users/rabbitshu/projects/2s-app/node_modules/figma-token-engine/build/tokens-studio/index.js:12:11)
    at async runTokenEngine (/Users/rabbitshu/projects/2s-app/node_modules/figma-token-engine/build/index.js:55:9)

Environment: Node.js v18.15.0
I'm stumped about what's causing this. Any insights or help would be much appreciated. Thank you!

The error triggers when the FTE tries to communicate to Figma for the tokens. According to Figma API docs:

400
Bad request
Parameters are invalid or malformed. Please check the input formats. This error can also happen if the requested resources are too large to complete the request, which results in a timeout. Please reduce the number and size of objects requested.

Check the .env variables, specifically the FIGMA_FILE_URL ¿is it the correct link? It should be the complete file link: https://www.figma.com/file/d7ihCE0mWwfGBUR3ECop8z/ or just the file id: d7ihCE0mWwfGBUR3ECop8z

I tried to replicate the error with a new file with your same tokens and I could fetch them. I tried modifying the FIGMA_FILE_URL myself but I got 404 errors instead, so idk if it's a specific error with your URL

Thank you for getting back to me.
After spending some time with the Figma API, I've come to realize that the root of the error is tied to the extensive structure of my design file. While I don't have a vast number of tokens, the API request was pulling in a significant amount of extraneous design data. By setting a depth limit on the response, I was able to eliminate the error. This adjustment should also enhance the response time.
I've opened pull request #59 for this. Would appreciate it if you could review the changes. Thanks!

Thank you for your support!


Issues in mapping with a IMU and VLP16(map overlapped)

Hello cartographer developers,
Thanks for your excellent works. I am a freshman to cartographer and ROS. I try to generate map by using a IMU and VLP16, however something wrong must happened in my configuration files I can't get right results.
Results
Just like the figure below, my map overlapped.

I wanna know what makes this wrong.
Bag Validate
I'm so sorry for that I can't use gits, so I post this screenshot

As this screenshot says, my velodyne_points topic must be published at a rate more than 20 HZ, while I can't find out how to change that rate. I use velodyne driver from Ros-driver/velodyne. Can you help me in this? Or where I can get some correlative information? Appreciate much.
Configuration files and bag
My configuration files can be found in my github,or in this Configuration files.zip.
My bag file can be found in this bag.zip.
I do apologize if this post disturbed any of you. Thanks a lot whether this issue can be answered or not!

The reason for strong circular drift is almost always a wrong rotation config between IMU and lidar.
You need to correct the imu-lidar transform in your urdf file.
The cartographer_rosbag_validate output doesn't seem complete. What's on the screen shot looks fine, please post text next time.

Thank you for noticing this issue.
urdf file
I modified urdf file  as the way I put IMU and LIDAR (same origin and same X/Y axis direction). I don't understand how to correct the urdf file, so may you please specify how to do so? Thanks again for your help.
By the way, my urdf file can be found in here.
Bag validate
You mean this line,

E0620 09:24:09.715848  2936 rosbag_validate_main.cc:382] Point data (frame_id: "velodyne") has a large gap, largest is 0.100966 s, recommended is [0.0005, 0.05] s with no jitter.

don't influence cartographer mapping. Am I right?

I0620 09:24:09.716104  2936 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/velodyne_points" (frame_id: "velodyne"):
Count: 831  Min: 0.100763  Max: 0.100966  Mean: 0.100858
[0.100763, 0.100783)	                    	Count: 11 (1.323706%)	Total: 11 (1.323706%)
[0.100783, 0.100804)	                   #	Count: 37 (4.452467%)	Total: 48 (5.776173%)
[0.100804, 0.100824)	                  ##	Count: 90 (10.830325%)	Total: 138 (16.606499%)
[0.100824, 0.100844)	                 ###	Count: 143 (17.208183%)	Total: 281 (33.814682%)
[0.100844, 0.100864)	               #####	Count: 217 (26.113117%)	Total: 498 (59.927799%)
[0.100864, 0.100885)	                ####	Count: 161 (19.374249%)	Total: 659 (79.302048%)
[0.100885, 0.100905)	                  ##	Count: 102 (12.274368%)	Total: 761 (91.576416%)
[0.100905, 0.100925)	                   #	Count: 48 (5.776173%)	Total: 809 (97.352585%)
[0.100925, 0.100946)	                    	Count: 19 (2.286402%)	Total: 828 (99.638992%)
[0.100946, 0.100966]	                    	Count: 3 (0.361011%)	Total: 831 (100.000000%)

Thanks again for your kindly help

By the way, my urdf file can be found in here.
<origin xyz="0 0 0" rpy="0 0 0" />

Correct the IMU rotation. Format is roll, pitch, yaw in radians.

E0620 09:24:09.715848 2936 rosbag_validate_main.cc:382] Point data (frame_id: "velodyne") has a large gap, largest is 0.100966

Agree, this is unrelated to your issue, and less severe.
The remaining part of the validate results seems fine.

Thanks gaschler for your generous help.
To be honest, I'm confused about this rotation. I know its format,however I don't know what's the right values. Should these values be satisfied with the way I put the IMU and LIDAR in real time?

I put the LIDAR and IMU in this way

and my new urdf files can be foud in here
Intuitively, in rviz the urdf can be visualized like
.

One more question, when I run cartographer with my own sensor,it gave out this INFO

INFO: I0620 16:43:13.000000 22598 collated_trajectory_builder.cc:72] imu rate: 100.00 Hz 1.00e-02 s +/- 3.39e-05 s (pulsed at 99.47% real time)
INFO: I0620 16:43:13.000000 22598 collated_trajectory_builder.cc:72] points2 rate: 9.91 Hz 1.01e-01 s +/- 4.18e-05 s (pulsed at 100.02% real time)

When I run the official demo, I found that it gave out this INFO

INFO: I0620 16:43:13.000000 22598 collated_trajectory_builder.cc:72] imu rate: 250.04 Hz 4.00e-03 s +/- 3.01e-03 s (pulsed at 99.47% real time)
INFO: I0620 16:43:13.000000 22598 collated_trajectory_builder.cc:72] points2 rate: 1507 Hz 6.64e-04 s +/- 1.37e-04 s (pulsed at 100.02% real time)

Dose this difference matter?

I hope these preliminary questions won't disturb you. Thanks very much for your patience.

Hello @gaschler, I found there's something wrong with my imu data. My imu data's units are wrong. Then I corrected them, now I got this picture. I think no submaps are generated, right?
Results

Bag and configuration files
My configuration files can be found in here
My new record bag file can be found in here
So still my urdf is wrong? Appreciate your generous help much.

I think no map is generated while with some submaps, right?

For submaps, please look at the left tab in rviz in click into the submaps menu. Please report how many seconds it takes until a new submap is created.
(The screenshot is not the best way to explain the issue, but I can see at least one noisy submap.)
"Map" is an undefined/overloaded term. If you mean occupancy grid and want such topic published, you need to run occupancy_grid_node.

Thanks your advice @gaschler .
Submap gap
I got these lines (I think the gap is what you wanna know?)

Trajectory 0
0.160
1.00

Then it changes to

0.320
1.320

So I think it takes ** 0.160 ** to create a new submap.
Occupancy_grid_node
I run rqt_graph and I am sure I've run occupancy_grid_node already.

0.320
1.320

If it always stays just two submaps, which is the initial value, a submap is never finished.
Does it always stay just two submaps?
Most likely, you need to correct your values for
TRAJECTORY_BUILDER_3D.num_accumulated_range_data and TRAJECTORY_BUILDER_3D.submaps.num_range_data (probably make them smaller).
Also, please take a look at the terminal output if the motion filter is always active (it should not filter 100%).

So I think it takes ** 0.160 ** to create a new submap.

My question was more at which period submaps are created, this is just the delay of the first one.

Does it always stay just two submaps?

No, I just report two lines.

TRAJECTORY_BUILDER_3D.num_accumulated_range_data and TRAJECTORY_BUILDER_3D.submaps.num_range_data

I've changed TRAJECTORY_BUILDER_3D.num_accumulated_range_data from 160 to 1 and TRAJECTORY_BUILDER_3D.submaps.num_range_data from 160 to 40.But still noisy submaps just like aforementioned picture.

please take a look at the terminal output

I post my output below

[INFO][1530005111.921205134]: I0626 17:25:11.000000 17762 submap_3d.cc:321] Added submap 1
[ INFO][1530005111.921274619]: I0626 17:25:11.000000 17762 map_builder_bridge.cc:130] Added trajectory with ID '0'.
[ INFO][1530005112.185521820]: I0626 17:25:12.000000 17762 ordered_multi_queue.cc:172] All sensor data for trajectory 0 is available starting at '636656019121713630'.
[ INFO][1530005121.796776418]: I0626 17:25:21.000000 17762 submap_3d.cc:321] Added submap 2
[ INFO][1530005127.004939724]: I0626 17:25:27.000000 17762 collated_trajectory_builder.cc:72] imu rate: 99.92 Hz 1.00e-02 s +/- 2.65e-04 s (pulsed at 99.41% real time)
[ INFO][1530005127.005067929]: I0626 17:25:27.000000 17762 collated_trajectory_builder.cc:72] points2 rate: 9.91 Hz 1.01e-01 s +/- 4.60e-05 s (pulsed at 100.07% real time)
[ INFO][1530005131.876605143]: I0626 17:25:31.000000 17762 submap_3d.cc:321] Added submap 3
[ INFO][1530005132.453464787]: I0626 17:25:32.000000 17834 constraint_builder_3d.cc:296] Node (0, 40) with 170 points on submap (0, 0) differs by translation 0.02 rotation 0.011 with score 62.2%.
[ INFO][1530005134.401066965]: I0626 17:25:34.000000 17762 submap_3d.cc:321] Added submap 4
[ INFO][1530005134.518086208]: I0626 17:25:34.000000 17833 constraint_builder_3d.cc:296] Node (0, 13) with 166 points on submap (0, 1) differs by translation 0.05 rotation 0.006 with score 86.0%.
[ INFO][1530005136.418121964]: I0626 17:25:36.000000 17762 submap_3d.cc:321] Added submap 5
[ INFO][1530005139.624747867]: I0626 17:25:39.000000 17762 submap_3d.cc:321] Added submap 6
[ INFO][1530005141.671432679]: I0626 17:25:41.000000 17762 submap_3d.cc:321] Added submap 7
[ INFO][1530005142.035062183]: I0626 17:25:42.000000 17762 collated_trajectory_builder.cc:72] imu rate: 100.00 Hz 1.00e-02 s +/- 3.71e-05 s (pulsed at 100.03% real time)
[ INFO][1530005142.035189698]: I0626 17:25:42.000000 17762 collated_trajectory_builder.cc:72] points2 rate: 9.91 Hz 1.01e-01 s +/- 4.19e-05 s (pulsed at 100.01% real time)
[ INFO][1530005146.107174682]: I0626 17:25:46.000000 17762 submap_3d.cc:321] Added submap 8
[ INFO][1530005156.194111645]: I0626 17:25:56.000000 17762 submap_3d.cc:321] Added submap 9
[ INFO][1530005157.064094877]: I0626 17:25:57.000000 17762 collated_trajectory_builder.cc:72] imu rate: 100.00 Hz 1.00e-02 s +/- 3.67e-05 s (pulsed at 100.02% real time)
[ INFO][1530005157.064295662]: I0626 17:25:57.000000 17762 collated_trajectory_builder.cc:72] points2 rate: 9.91 Hz 1.01e-01 s +/- 4.32e-05 s (pulsed at 100.01% real time)
[ INFO][1530005162.622981531]: I0626 17:26:02.000000 17762 motion_filter.cc:42] Motion filter reduced the number of nodes to 34.4%.

My question was more at which period submaps are created

Sorry for misunderstanding your question. To be honest, I still do not comprehend your requirements. Are you talking about the gap cartographer added new submaps?  Then it should be 10 seconds or 3 seconds as I marked them black.
Thanks  for your help. You're such a patience instructor whom I can't express my appreciate to .

One thing (warning, I'm going from memory, I haven't touched Cartographer in over a month and I had to return the loaner Velodynes I was using so anything I was doing with Cartographer is on hold for quite some time) - One of the Velodyne nodes has an "npackets" option which determines how many packets are accumulated into a single point cloud message.  The default option accumulates, if I recall correctly, a full scan for single return mode and a half scan for dual return mode.  The reason the num_accumulated_range_data in the demo config files is so high is because the Cartographer demos were collected with npackets forced to 1.
I forget exactly which launch file I needed to change to force npackets to 1, but trust me - you really want to do this.  I had the exact same issues you were having until I made that change.

Sorry for late reply, I had a vacation these days. And thanks for your advice, I've tried your suggestion.
I changed napckets parameter in driver.cc Line 79 and re-catkin_make them in ros. However things are not getting better. Still I have such noisy submaps. But thanks for providing me another direction to tune cartographer by check the sensor.It's really help. Thanks anyway.@Entropy512 .

Since I retry cartographer with 2D mode, I've got perfect map in 2d. Then I turn to 3D mapping and my submaps performs well. So I'll close this issue since it's been solved.

@ZhouYixuanRobtic
Hello, I am using a 16-lines LIDAR and IMU to build 3D map by cartographer.
I tun the parameters and run it with no error, the results are as follows:

There is a big gap with the real environment. I think the map is messy. What is the problem of this result? How can I solve it?
This is the validate result of my bag:

E0227 22:30:57.092067 19056 rosbag_validate_main.cc:365] Average IMU linear acceleration is 10.6084 m/s^2, expected is [9.5, 10.5] m/s^2. Linear acceleration data should include gravity and be given in m/s^2.
I0227 22:30:57.093359 19056 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/IMU" (frame_id: "imu"):
Count: 37968  Min: 0.004133  Max: 0.016211  Mean: 0.010000
[0.004133, 0.005340)	                    	Count: 2 (0.005268%)	Total: 2 (0.005268%)
[0.005340, 0.006548)	                    	Count: 3 (0.007901%)	Total: 5 (0.013169%)
[0.006548, 0.007756)	                    	Count: 8 (0.021070%)	Total: 13 (0.034239%)
[0.007756, 0.008964)	                    	Count: 828 (2.180784%)	Total: 841 (2.215023%)
[0.008964, 0.010172)	 ###################	Count: 35958 (94.706070%)	Total: 36799 (96.921089%)
[0.010172, 0.011380)	                    	Count: 345 (0.908660%)	Total: 37144 (97.829750%)
[0.011380, 0.012588)	                    	Count: 820 (2.159714%)	Total: 37964 (99.989464%)
[0.012588, 0.013796)	                    	Count: 1 (0.002634%)	Total: 37965 (99.992096%)
[0.013796, 0.015004)	                    	Count: 0 (0.000000%)	Total: 37965 (99.992096%)
[0.015004, 0.016211]	                    	Count: 3 (0.007901%)	Total: 37968 (100.000000%)
E0227 22:30:57.094650 19056 rosbag_validate_main.cc:382] Point data (frame_id: "rslidar") has a large gap, largest is 0.101409 s, recommended is [0.0005, 0.05] s with no jitter.
I0227 22:30:57.094745 19056 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/rslidar_points" (frame_id: "rslidar"):
Count: 3766  Min: 0.100213  Max: 0.101409  Mean: 0.100801
[0.100213, 0.100333)	                    	Count: 1 (0.026553%)	Total: 1 (0.026553%)
[0.100333, 0.100452)	                    	Count: 1 (0.026553%)	Total: 2 (0.053107%)
[0.100452, 0.100572)	                    	Count: 9 (0.238980%)	Total: 11 (0.292087%)
[0.100572, 0.100691)	                    	Count: 33 (0.876261%)	Total: 44 (1.168348%)
[0.100691, 0.100811)	      ##############	Count: 2717 (72.145515%)	Total: 2761 (73.313858%)
[0.100811, 0.100931)	               #####	Count: 972 (25.809877%)	Total: 3733 (99.123741%)
[0.100931, 0.101050)	                    	Count: 25 (0.663834%)	Total: 3758 (99.787575%)
[0.101050, 0.101170)	                    	Count: 6 (0.159320%)	Total: 3764 (99.946892%)
[0.101170, 0.101289)	                    	Count: 1 (0.026553%)	Total: 3765 (99.973450%)
[0.101289, 0.101409]	                    	Count: 1 (0.026553%)	Total: 3766 (100.000000%)

Here are my files:
demo_rsldiar_3d.launch
rslidar_3d.launch
mydemo_3d.rviz
rslidar_2d.urdf
rslidar_scan_3d.lua
my data bag
Do you know the problem?

@ZhouYixuanRobtic
Hi, I correct my angular velocity on x and y axis, and change the urdf file. This is my new bag.The password is bakh.

I0316 11:43:52.342375  9917 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/IMU" (frame_id: "imu"):
Count: 18056  Min: 0.004353  Max: 0.013893  Mean: 0.010000
[0.004353, 0.005307)	                    	Count: 1 (0.005538%)	Total: 1 (0.005538%)
[0.005307, 0.006261)	                    	Count: 0 (0.000000%)	Total: 1 (0.005538%)
[0.006261, 0.007215)	                    	Count: 0 (0.000000%)	Total: 1 (0.005538%)
[0.007215, 0.008169)	                    	Count: 281 (1.556269%)	Total: 282 (1.561808%)
[0.008169, 0.009123)	                    	Count: 73 (0.404298%)	Total: 355 (1.966105%)
[0.009123, 0.010077)	 ###################	Count: 17197 (95.242577%)	Total: 17552 (97.208687%)
[0.010077, 0.011031)	                    	Count: 151 (0.836287%)	Total: 17703 (98.044968%)
[0.011031, 0.011985)	                    	Count: 266 (1.473194%)	Total: 17969 (99.518166%)
[0.011985, 0.012939)	                    	Count: 86 (0.476296%)	Total: 18055 (99.994461%)
[0.012939, 0.013893]	                    	Count: 1 (0.005538%)	Total: 18056 (100.000000%)
E0316 11:43:52.343436  9917 rosbag_validate_main.cc:382] Point data (frame_id: "rslidar") has a large gap, largest is 0.101069 s, recommended is [0.0005, 0.05] s with no jitter.
I0316 11:43:52.343727  9917 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/rslidar_points" (frame_id: "rslidar"):
Count: 1791  Min: 0.100548  Max: 0.101069  Mean: 0.100801
[0.100548, 0.100600)	                    	Count: 10 (0.558347%)	Total: 10 (0.558347%)
[0.100600, 0.100652)	                    	Count: 7 (0.390843%)	Total: 17 (0.949190%)
[0.100652, 0.100704)	                    	Count: 10 (0.558347%)	Total: 27 (1.507538%)
[0.100704, 0.100756)	                   #	Count: 51 (2.847571%)	Total: 78 (4.355109%)
[0.100756, 0.100809)	       #############	Count: 1190 (66.443329%)	Total: 1268 (70.798439%)
[0.100809, 0.100861)	               #####	Count: 478 (26.689001%)	Total: 1746 (97.487434%)
[0.100861, 0.100913)	                    	Count: 21 (1.172529%)	Total: 1767 (98.659966%)
[0.100913, 0.100965)	                    	Count: 10 (0.558347%)	Total: 1777 (99.218315%)
[0.100965, 0.101017)	                    	Count: 9 (0.502513%)	Total: 1786 (99.720825%)
[0.101017, 0.101069]	                    	Count: 5 (0.279174%)	Total: 1791 (100.000000%)

The track is discrepant from the real movement. Could you help me?

@Duke-Allen I'm sorry for this late reply, I turn to another project and so on not working on cartographer anymore, but I can still give you some information. For the sake of using the real and in-time published topics rather than replayed from a bag you record, you should set your us_sim_time as false in your demo_rslidar_3d.launch. This parameter can be set as true together with bag play lines like
<node name="playbag" pkg="rosbag" type="play"
      args="--clock $(arg bag_filename)" />

May there are some other wrong parameter set, but I'm out of this project for months, so please forgive that I can not provide more advice. And I do recommend you turn to a 2d cartographer mode first and back to 3d mode then. Hope this answer may be useful.

@ZhouYixuanRobtic
Thanks for you reply. Should I set my use_sim_time as false in my demo_rslidar_3d.launch? I use a bag I record so I set it true. You means that only set the <node name="playbag" pkg="rosbag" type="play"       args="--clock $(arg bag_filename)" /> as true in real 3D cartographer?

I also have a question. What is the angular velocity and linear-acceleration  unit when running 3D cartographer? I guess my parameters' unit may be wrong.

@Duke-Allen I presumed you were using a real robot and all topics were published in-time, because I didn't see your palybag node in your launch file. Since you are using a bag recorded, so keep use_sim_time as true is right.

What is the angular velocity and linear-acceleration unit when running 3D cartographer?

the angular velocity uses rad/s, linear-acceleration uses m/s^2

@ZhouYixuanRobtic My situation is basically the same as yours, and I feel that there is no post-processing and loopback detection (maybe the positional relationship given in urd is not accurate). I want to know how you first pass 2D, and then try 3D is OK. I ran the 2D effect very well, but 3D has a ghost image. I hope you can give me some advice.


Suggest to fix TimeSpan parsing

I'm sorry for that I have not try it on REAL Azure.
If it implemented by .NET TimeSpan.Parse, 24:00:00 seems to be 24 days.

@yoichinak : Thanks for your contribution! The author, @craigshoemaker, has been notified to review your proposed change.

@yoichinak : Thanks for your contribution! The author, @craigshoemaker, has been notified to review your proposed change.

@yoichinak : Thanks for your contribution! The author, @craigshoemaker, has been notified to review your proposed change.

@felsokning - Thank you very much for your commits. Your PR is the best and earliest.

#sign-off


Method "refresh" is not documented

The method "refresh" is not documented, neither on the website nor in the readme.md
This method seems to work, and is necessary when the DOM is being changed. But you can’t find it in the official resources.

@rcheetah Could you briefly describe how you're using it and what you've observed with it, i.e., what it does? A refresh method sounds pretty useful to me.

Oh wow, that is pretty old.
I think I had a div with a slider that was conditionally displayed. So there was a button to show a panel, and this panel had a slider inside it. The problem is, that the slick slider did not or not correctly load, when panel was displayed. It's too long ago really, I cant remember the details. I guess if the panel was not displayed on page load, then the slick slider did not correctly initialize (because it wasn't in the document flow). Maybe it was something about the width of the slider not being calculated correctly.
There is an undocumented method called “refresh”, that kind of re-initializes the slider. I used this method when the panel was opened, and then it worked. I found this method somewhere in the depths of a online discussion, and surprisingly it worked. But this method is or was not documented.


Display caller ID, message title, message etc..

First of all thank you for your help before. I hope i am not bothering you with  this.I want to ask u only is there any way to display caller ID, message text etc...? Oh yes...one more thing ...do u have an error when u try to compile ancs example with U8GLIB Library?

@KorkyraBoyCRO could you please stick to one question/issue per Github issue, it makes tracking for me simpler. I've also setup gitter for chat/questions.
What are you trying to get "display caller ID, message text etc..." from? Maybe share your sketch?
Please open a separate issue or use gitter for the U8GLIB question. With more details include:

Does the ANCS example compile by itself?
What is U8GLIB? Maybe a link?
What the compile error is.

Hi...sorry for, lets say amateurism in this...So about ANCS. Yes it does compile by itself and it worked fine. I have connected arduino successfully to my iPhone 4s and received notification on Serial monitor. Only change i have done on you're original ancs example code is instead showing ancs category with number in serial monitor it now say incoming call, you got email and similar ( i did that with simple switch case statements)  . I was wondering is it possible to display full message with title if there is or caller ID when i got incoming call with your ancs example. I think i must use notification attributes  but not so sure and i don't see them...
P.S. i will try to upload a sketch as soon as possible...don't know how yet

ok here it is...this is my sketch...as i told u  nothing much is really changed
https://gist.github.com/KorkyraBoyCRO/c3dd2ec1d8d79189ff31

@KorkyraBoyCRO the ANCS example is pretty basic for now, it just receives the initial basic notification data, and does not query the iOS device for more information.
You would have to write some more code to do this, if you do get this working please submit a pull request for others to use. See node-ancs for a reference implementation on how to use ancsControlPointCharacteristic and ancsDataSourceCharacteristic to request more data from the iOS device for each notification.

Ok i will try to get this working...thank you for your reply
One more thing, i know it is not related to this question, but i had noticed that ANCS example code takes a lot of global variables memory so i was thinking is it possible to get this library work with teensy 3.x since i got one but i am not sure how to do this?

@KorkyraBoyCRO let's discuss the Teensy on Gitter ...
Btw, I'm closing this issue since the initial question is answered.


/opt/intel/openvino/bin/setupvars.sh: No such file or directory

i am newer in openvino and i am trying to implement in on colab for action recognition  , i fellow the demo but got the following  problem

I have the same inconvenience


Configurable User Roles

Right now, a user can be teacher, student or admin. We should give admins the ability to create new roles with permissions. Then, the middlewares (currently isAdmin and isTeacher should be changed to hasPermission(somePermission).


Plugin doesn't work in nvim <= 0.9.5

Option overlap in nvim_buf_get_extmarks was added in nvim 0.10 according to https://neovim.io/doc/user/news-0.10.html
https://github.com/rachartier/tiny-inline-diagnostic.nvim/blob/main/lua/tiny-inline-diagnostic/extmarks.lua#L19
I guess this should be mentioned in the Readme or handled in the code
Btw great plugin!!

Oh thanks! I will add it to the README.


New functionality for tool call assertions with the Assistants API

Added new tool call matchers for Assistants API Runs
Added tests for semantic matcher and new expect functionality
Retroactively enabled argument assertions on existing Chat Completions tool call expect methods
Added test to CI workflow
Resolved "this" missing types in matcher functions
Updated README

@ranst91 Do you want to commit a prettier config file? I can then apply that over my PR for a cleaner diff for review as my global prettier config made a mess of things

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


Add json configuration definitions

All the(so far) known json files cubism uses:

[ ] model3(has been partially added in https://github.com/Veykril/cubism-rs/commit/7c5db8bfe5d1a7b192759fd03164dc8ac4fc8470)
[ ] physics3
[ ] pose3
[ ] userdata3
[ ] expr3
[ ] motion3

Some of these are just a simple struct definition, nevertheless each probably deserves its own module in the json module. The json module is solely for the definitions, since those basically only act as configuration. Any proper functionality(aside from maybe validation) should go into their own modules.
Discussion: Regarding structure definitions, which fields should get a default de/serialization instead of Option wrappers? This can probably get resolved once the use case for each field is clearer and whether the field has an appropriate default or not.

All looks good so far, compared with the JSON parser in Cubism Native Framework. However, some values are treated otherwise in other components of Cubism Framework (which is insane).
We can just analyze them and infer default values. For example, fade-in/out time can be given their default time from their usage.
You'll find this in CubismNativeFramework/CubismMotion.cpp:
    if (json->IsExistMotionFadeInTime())
    {
        _fadeInSeconds = (json->GetMotionFadeInTime() < 0.0f)
                             ? 1.0f
                             : json->GetMotionFadeInTime();
    }
    else
    {
        _fadeInSeconds = 1.0f;
    }

If "FadeInTime" ("FadeOutTime") is unset, fade-in time (fade-out time) is set to 1.0 [sec] as a default value while the Cubism JSON parser returns -1.0f.
Also, Layout field seem to be not stabilized and plus not used in anywhere so we can simply ignore that.
#[derive(Copy, Clone, Debug, Deserialize, Serialize)]
#[serde(rename_all = "PascalCase")]
pub struct Layout {}

Layout fields found in CubismModelSettingJson.cpp:
const csmChar* CenterX = "CenterX";
const csmChar* CenterY = "CenterY";
const csmChar* X = "X";
const csmChar* Y = "Y";
const csmChar* Width = "Width";
const csmChar* Height = "Height";

Layout fields found in CubismModelMatrix.cpp:
void ::SetupFromLayout(csmMap<csmString, csmFloat32>& layout)
{
    const csmChar* KeyWidth = "width";
    const csmChar* KeyHeight = "height";
    const csmChar* KeyX = "x";
    const csmChar* KeyY = "y";
    const csmChar* KeyCenterX = "center_x";
    const csmChar* KeyCenterY = "center_y";
    const csmChar* KeyTop = "top";
    const csmChar* KeyBottom = "bottom";
    const csmChar* KeyLeft = "left";
    const csmChar* KeyRight = "right";
...

yep, I agree with the default stuffm but those can always be added later if we are unsure or if the original framework doesnt make sense. Regarding Layout, I saw the field names but hadn't seen the what types of them were so far which is why i didnt implement them yet.


Update qp name in search-page component invocation

Ticket: [No ticket]
Feature flag: n/a

Purpose

Allow q query-param in URL to set the search textbox value

Summary of Changes

Update query-param in component invocation that was missed in previous PR

Screenshot(s)

Institution discover page with the q query-param

Side Effects

QA Notes

Enter an institution's discover page with the q query-param set to something (https://staging3.osf.io/institutions/uva?q=some text here), and the search text-box should be pre-populated

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 69.006%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6070

Relevant Lines:
8546

💛  - Coveralls


Pydantic v2 compatibility

Auto-running was disabled because of lack of repo activity(?), here's the test run:
https://github.com/drivendataorg/nbautoexport/actions/runs/5503874277


Not finding any results for rings with evasion

🐞 bug report
Describe the bug
When searching for rings with evasion mods, none are found
Screenshots

🌍  Your Environment

OS: Win10 x64
Version: 0.7.3
PoE: Steam

This also seems to affect flat armour on belts

This seems to be a duplicate of #138 ; which has been fixed in v0.7.4


Ocm 3963 mock

Mock and custom interface implementation for aws sdk go v2
Associated with: OCM-3963

@den-rgb LGTM. I have a comment about whether we should leave the v1 mock generation in place until we have removed the usage of the v1 mocks from the code base.
Could you please also update the PR title to be more reflective of the changes. Thanks!
cheers,
Rob


Main link isn’t working

When I click on the main link it doesn’t work (restricted). The mirror links work but you cant use chatGPT, and the data URL is impossible to use because chrome and Microsoft edge both are restricted. The google site version is also restricted.

The quick deployment does not work/wont load

When I tap on the mirror links and go to ChatGPT and type something it says disconnected from backend server

The logo says disconnect. How do I fix this?

How do I connect it?

Where do I find my backend server address?

Ok I will try it in a few days

Thanks, it now works. sorry for any confusion.

My ip address does not work any more. When I enter it again it does not work

Ok


Add CCL ops to TTNN dialect (#700)

These ops are addead:

all_gather
reduce_scatter

Also add all_gather as a TTIR op
Closed #700

looks really good! Can we get a reduce scatter .mlir file in this PR as well? and silicon test cases for both all gather and reduce scatter. Check: https://docs.tenstorrent.com/tt-mlir/ttrt.html#generate-a-flatbuffer-file-from-compiler

Looks like TTNN_ReduceScatterOp was partially added, with some TODOs. Is there an issue to track this? @gfengTT

Looks like TTNN_ReduceScatterOp was partially added, with some TODOs. Is there an issue to track this? @gfengTT

@svuckovicTT Yes. https://github.com/tenstorrent/tt-mlir/issues/923


⚠ Processors has degraded performance

In 233194a, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 45 ms

Resolved: Processors performance has improved in 2edbfd1.


docs(add-function-docs): added descriptions for refactor functions to README

As requested by #201.

LGTM


fixed some typo and beautify

Thank you very much

Hello
I will be offline (Vacation from 2021.01.26 to 2021.12.10)
Greetings,
Mahmoud


Spiking new language server

Hello,
I am trying to setup a new language server but I need to add some custom calls to the language server.
I believe what I need is

The ability to enable, and disable a language server from the front end and check before calling.
The ability to send some setup info to the language server about the environment it is in.
The ability to send a get completions message.
The ability to track when completions are excepted or not.

I am able to get my language server running by following the docs around the wheel entry points however I am not finding any documentation around sending custom messages.
Thanks for the help!

I am also happy to help contribute things with some assistance.

Where would you like to add these calls? In a custom JupyterLab extension? We certainly can expose API for that. If this is what you are looking for, do you have suggestions on how the API should look like?

Hello! Thanks for the help!
I did a bit more digging of all the calls our LSP supports, we have 24 different calls and growing, that we need to make that are not in the spec, ideally Jupyter LSP would be extensible in a way that we could make custom calls as the LSP spec is written as such.
I am working on a custom JupyterLab extension to implement these calls, I would love to have something close to a pub sub implementation. Some of the calls I am looking to make are:
The calls I would want to make look like this:
set editor info:
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "setEditorInfo",
  "params": {
    "editorInfo": {
      "name": "Jupyter Lab",
      "version": "0.1"
    },
    "editorPluginInfo": {
      "name": "Test lsp",
      "version": "0.1"
    }
  }
}

Create testing context
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "testing/createContext",
  "params": {}
}

use testing token
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "testing/useTestingToken",
  "params": {
    "testingCtx": 0
  }
}

get completions:
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "getCompletions",
  "params": {
    "doc": {
      "position": {
        "line": 0,
        "character": 15
      },
      "uri": "file:///home/test/test.py",
      "version": 0
    },
    "options": {
      "testingCtx": 0
    }
  }
}

At this time I am just trying to build a spike as Jupyter is a proposed IDE to implement for our team, however if the tooling is not able to support this we may need to choose another tool to work with. Any advice on how to get Jupyter LSP to allow me to spike out custom messages to the language server would be helpful in showing that it is possible to get things working to the decision makers that be.
Thanks so much!
ps. If you want to talk more I can shoot you an email using your email on you GitHub account.


Add property control current page update action.

@mtnbarreto
Hi!  I can add two public method control move action.
https://github.com/xhzengAIB/XLPagerTabStrip/commit/4d61cc82f6220bde586ece810f0af1fd786044aa
Jack

@xhzengAIB
It may change when you present a new view controller, rotate the screen and then get back to the pager controller.

@mtnbarreto
I'm very sorry, I forgot these situations, How do I need to improve?
Jack


Unable to delete vouchers

When selecting a voucher and clicking the "Destroy" button I am directed to a page that says:
"Reached destroy function"
And nothing else.

when i run php artisan migrate:refresh --seed
I got:
PHP Fatal error:  Call to undefined method DirecpaySettings::insert() in /var/www/ html/am/laravel/app/database/seeds/DefaultsSeeder.php on line 60
I delete the line, and it's work fine.

hii
When selecting a voucher and users and clicking the "Destroy steel there probleam to delete
please help me to fix this probleams

i delete the line 60 on /app/database/seeds/DefaultsSeeder.php  but same nothing hapen


FIX #5335 : updated custom charttype list

Description

Added more supported chart types. This issue is specific to radar chart but added all the newly supported charts by fusion chart lib.

Fixes #5335
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Tested locally.

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@vibhandikyash Verified this and now radar chart is configurable

@vibhandikyash please check the test cases failing!


Max items per run

Add a feature to allow specifying a maximum number of items to post from each run of a feed. This could be used as alternative to max_age to limit verbosity when setting up a new feed.

I don't think this is really that useful a feature, so I'm closing the Issue. If somebody asks for it, I can work on this...


[Feature request] Stop pointer events propagation

Use case

I have a vetrical ListView with some items, I want to vertically drag some items (i.e a map view) and stop list view to scrolling
Proposal

I need a widget that wrap item, it stop pointer events propagation for parents but allows for children, that means if we have a onVerticalDrag on parents, it no invoked but for chidden invoked

has the problem been solved？

@sm2017 this should be possible from what I understand by adding a gesture detector. Can you provide sample code of your use case?

I am not able to provide sample code right now, as I am not working in flutter projects and have no flutter in my local machine.
See https://github.com/fleaflet/flutter_map/issues/253
Consider that we have a third party library, and a widgets interact with scroll, if we put the widget in a list view as a child, the list view get the scroll event not the child. In some cases we need to prevent parent scrolling.
For example, we have a contact us page, with a lot of scrollable information and an interactive small map in the scrollable area

Unfortunately we cannot debug third party packages or plugins. This issue tracker is for issues that exist in the Flutter framework. If you can provide a reproduction of your issue without any packages or plugins, we can take a look and see if there is an issue.
From what I can tell this is already possible, see some simple example code below:
https://user-images.githubusercontent.com/16964204/174343446-317c7eab-8dfb-4c14-a667-ef4ecd11101a.mov
import 'dart:ui';

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
      home: SomeWidget(),
      // By default on desktop, PointerDeviceKind.mouse
      // cannot drag scrollables.
      scrollBehavior: const MaterialScrollBehavior().copyWith(
        dragDevices: PointerDeviceKind.values.toSet(),
      )
    );
}

class SomeWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(title: const Text('Nested drag gestures')),
        body: ListView.builder(
          itemBuilder: (context, outerIndex) {
            if (outerIndex == 10) {
              return SizedBox(
                height: 150,
                child: ListView.builder(
                  shrinkWrap: true,
                  itemCount: 30,
                  itemBuilder: (context, innerIndex) {
                    return SizedBox(
                      height: 50,
                      child: Row(
                        children: [
                          const SizedBox.square(dimension: 25),
                          Text('Inner list, index $innerIndex')
                        ],
                      )
                    );
                  },
                ),
              );
            }
            return Text('Outer list, index $outerIndex');
          }
        )
      );
}

We will need more information to understand your request.


Support Firefox for Android

Supersedes #480

Annoyingly Saucelabs don't support anything but the default browser on Android (whether that be Chrome or the Android stock browser)....

If this could go into 2.0 it would be cool :)

OK. Looks like you've changed whitespace from tabs to spaces.

Easy to change except, it's because the changeset was waaaaaaaaaay bigger when I made the white space consistent :P, some files are spaces, some are tabs.  I'd prefer to make the whitespace consistent as part of a separate commit, I can do that with automation.

polyfills/Array/from/config.json is an example that's gone from tabs to spaces. I take your point, but since the standard is tabs, this PR should at least not introduce corrections that go the wrong way :-)

Updated spaces -> tabs across all of the config files.

:+1:

Ok, looks fine. I'm going to wait and deploy 2.0.0 first as we're nearing the end of the RC period, so after that I'll merge this asn release it as part of 2.1.

2.0.0 released.  Merging this for 2.1

Cross ref: #477

This is now on qa.polyfill.io.  All good?


Out of order user events

According to documentation out of order events may arrive during heavy load.
https://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md
and they are supposed to be sorted using even time. But API dosn't handle this. Also, it's not clear how large should be the buffer so that out of order event arrives with 99% probability.
This API doesn't handle it

The API merely fetches the data, it's up the client to order the events according to whatever logic is deemed necessary for the application.


Control surfaces have a non-removable line at the position of the default length of the trailing edge

This is kinda hard to explain, but basically all control surfaces have a small surface within their trailing edges. This is unnoticeable at the default length, but if you change the length of the trailing edge, then this surface becomes visible and makes things look ugly and glitched. I have not found a procedural control surface which this does not occur on.
Pictures:
Example 1
Example 2

adding another example. It appears like there is a leftover face on the model that is not being scaled with the rest of the part. The Normal for the trailing edge face is flipped so you can only see it from the "inside", but when looking from the back of the trailing edge, is is gone.
https://cdn.discordapp.com/attachments/1115321536807718992/1120890541765296198/Capture.JPG
https://cdn.discordapp.com/attachments/1115321536807718992/1120890542075678760/Capture2.JPG

Another example:
https://media.discordapp.net/attachments/1115321536807718992/1122929057684803604/image.png

Looked into this a bit and the issue appears to be coming from this piece of code:
https://github.com/B9-Procedural-Wings/B9-PWings-Modified/blob/7d54e9880a1f7fcd54b36e8da59e018ed1de0e51/B9_PWings_Fork/WingProcedural.cs#L1632-L1752
Unfortunately that procedural mesh generation is black magic to me so I don't really know how to fix it.

reposting images because discord deleted all of em
mine:

cxg:

maxim:


No detection

Hi .. I tried to use the apriltag_ros in ros humble with the input is mono camera. when the package is launched there is no detection. Correct me if iam wrong, therefore,  this package can be used on mono image ?

Do you mean "monocular" (a single camera) or "monochromatic" (grey-scale image) images? Generally, the node subscribes to a single colour topic and does not work with multiple cameras at the same time. I haven't tested grey-scale images, but I don't see why it should not work.
Have you tested the apriltag library on your image data?

I know @Jenanaputra , and asked him if he was still having this problem, and he said it ended up being just user error, so this issue can be closed.   For completeness, he was using one of the stereo cameras on an OAK-D, so it was both monochromatic & monocular.

Thanks for getting back on this and clearing this up.


Lexical or Preprocessor Issue (Xcode): 'WebRTC/WebRTC.h' file not found

Describe the bug
I fresh-cloned the repository. I followed the steps to build the example. When compiling the application for the iOS simulator I get the following error message:
Error output from Xcode build:
↳
    2022-04-15 18:29:12.355 xcodebuild[49277:502115] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of
    plug-in com.apple.dt.IDEWatchSupportCore
    2022-04-15 18:29:12.355 xcodebuild[49277:502115] Requested but did not find extension point with identifier
    Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension
    Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
    ** BUILD FAILED **

Xcode's output:
↳
    Writing result bundle at path:
    	/var/folders/1b/_4v2bkj96w3060zr6gbv8twc0000gn/T/flutter_tools.2e5aRw/flutter_ios_build_temp_dirFj9JqC/temporary_xc
    	result_bundle

    warning: [CP] Unable to find matching .xcframework slice in 'ios-arm64_x86_64-simulator ios-arm64_armv7' for the
    current build architectures (arm64 x86_64 i386).
    /Users/ralfweinbrecher/.pub-cache/hosted/pub.dartlang.org/flutter_webrtc-0.8.5/ios/Classes/FlutterRTCMediaStream.m:3
    :9: fatal error: 'WebRTC/WebRTC.h' file not found
    #import <WebRTC/WebRTC.h>
            ^~~~~~~~~~~~~~~~~
    1 error generated.
    note: Using new build system
    note: Planning
    note: Build preparation complete
    note: Building targets in dependency order
    /Users/ralfweinbrecher/Development/work/flutter-projects/dart-sip-ua/example/ios/Pods/Pods.xcodeproj: warning: The
    iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment
    target versions is 9.0 to 15.4.99. (in target 'Libyuv' from project 'Pods')

    Result bundle written to path:
    	/var/folders/1b/_4v2bkj96w3060zr6gbv8twc0000gn/T/flutter_tools.2e5aRw/flutter_ios_build_temp_dirFj9JqC/temporary_xc
    	result_bundle

Lexical or Preprocessor Issue (Xcode): 'WebRTC/WebRTC.h' file not found
/Users/ralfweinbrecher/.pub-cache/hosted/pub.dartlang.org/flutter_webrtc-0.8.5/ios/Classes/FlutterRTCMediaStream.m:2:8

Could not build the application for the simulator.
Error launching application on iPhone 13 Pro Max.

To Reproduce
Steps to reproduce the behavior:

'cd example'
'flutter run'
See error

System Infomation()
❯ flutter doctor                                                                                [18:31:26]
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.4, on macOS 12.3.1 21E258 darwin-x64, locale de-DE)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.66.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

I managed to build the project with this addition to my Podfile:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end

  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|

      # https://github.com/flutter-webrtc/flutter-webrtc/issues/713
      if target.name == "flutter_webrtc" || target.name == "WebRTC-SDK"
        config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES'
      end

      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
    end
  end
end

Now it works

It failed, because the WebRTC pod project does not support armv7architecture.


Coordinate system in map viewer

According to wiki page, the coordinate system in hoi4 use bottom of the map as 0 of Z coordinate, which is the Y coordinate in map viewer of the plugin. However, as of version released today, the plugin use the top of the map as 0 of the coordinate

Added in 0.11.0.


Change-Notification csharp sample.

Description
This sample shows a status of a user in personal scope  and demonstrates presence subscription  lifecycle followed by commands given to Bot
Language Used: C#
Proposed features
User Subscription, Bot, Status Change Notification, Bot SSO
Testing
After sucessfully installation of app you will get a sign in button. When sign in is complete then you get your current status in adapative card

After that when the user status chagnes you will get notify about their status:

Change user status from available to busy like

Change user status from busy to busy offline

@Sudhir-MSFT , Please update this sample link in the Root ReadMe file under graph section


Instance counting mismatch

The instance number should be based on the number of elements with a given identifier to better mimic what FEM-Design does.
Problem
Create a model with 3 bars. 2 with identifier A and 1 with identifier B. Currently their names will be the following in our API:
A.1
A.2
B.3

But when opening the model in FEM-Design thew till be renamed to
A.1
A.2
B.1

Solution
Instead of having a private static int _barInstance field we could change it to a dictionary private static Dictionary<string, int> _barInstances.
This dictionary could map the number of instances created of each name. Like this:
{
  A: 2,
  B: 1
}

I would argue this is a bug that we should address.
Even if we might not be able to 100% mimic the numbering in the FEM-Design GUI.


Could not vectorize no docstring codes

Hello,
I am running notebook 4, the part where codes whithout docstrings are turned into embeddings. Specifically I am having trouble executing the following code snippet:
encinp = enc_pp.transform_parallel(no_docstring_funcs)
np.save(code2emb_path/'nodoc_encinp.npy', encinp)

which returns the following error:
WARNING:root:...tokenizing data
---------------------------------------------------------------------------
RemoteTraceback                           Traceback (most recent call last)
RemoteTraceback:
"""
Traceback (most recent call last):
  File "/opt/conda/lib/python3.6/site-packages/multiprocess/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/opt/conda/lib/python3.6/site-packages/multiprocess/pool.py", line 44, in mapstar
    return list(map(*args))
  File "/opt/conda/lib/python3.6/site-packages/ktext/preprocess.py", line 88, in process_text
    return [tokenizer(cleaner(doc)) for doc in text]
  File "/opt/conda/lib/python3.6/site-packages/ktext/preprocess.py", line 88, in <listcomp>
    return [tokenizer(cleaner(doc)) for doc in text]
  File "/opt/conda/lib/python3.6/site-packages/ktext/preprocess.py", line 55, in textacy_cleaner
    no_accents=True)
  File "/opt/conda/lib/python3.6/site-packages/textacy/preprocess.py", line 256, in preprocess_text
    text = replace_urls(text)
  File "/opt/conda/lib/python3.6/site-packages/textacy/preprocess.py", line 101, in replace_urls
    return constants.RE_URL.sub(
AttributeError: module 'textacy.constants' has no attribute 'RE_URL'
"""

The above exception was the direct cause of the following exception:

AttributeError                            Traceback (most recent call last)
/opt/conda/lib/python3.6/site-packages/ktext/preprocess.py in apply_parallel(func, data, cpu_cores)
     71         pool = Pool(cpu_cores)
---> 72         transformed_data = pool.map(func, chunked(data, chunk_size), chunksize=1)
     73     finally:

/opt/conda/lib/python3.6/site-packages/multiprocess/pool.py in map(self, func, iterable, chunksize)
    265         '''
--> 266         return self._map_async(func, iterable, mapstar, chunksize).get()
    267

/opt/conda/lib/python3.6/site-packages/multiprocess/pool.py in get(self, timeout)
    643         else:
--> 644             raise self._value
    645

AttributeError: module 'textacy.constants' has no attribute 'RE_URL'

During handling of the above exception, another exception occurred:

UnboundLocalError                         Traceback (most recent call last)
<ipython-input-19-8e34745b4d23> in <module>
----> 1 encinp = enc_pp.transform_parallel(test_codes[:5])
      2 np.save(code2emb_path/'test_codes_encinp.npy', encinp)

/opt/conda/lib/python3.6/site-packages/ktext/preprocess.py in transform_parallel(self, data)
    375         """
    376         logging.warning(f'...tokenizing data')
--> 377         tokenized_data = self.parallel_process_text(data)
    378         logging.warning(f'...indexing data')
    379         indexed_data = self.indexer.tokenized_texts_to_sequences(tokenized_data)

/opt/conda/lib/python3.6/site-packages/ktext/preprocess.py in parallel_process_text(self, data)
    231                                                 end_tok=self.end_tok)
    232         n_cores = self.num_cores
--> 233         return flattenlist(apply_parallel(process_text, data, n_cores))
    234
    235     def generate_doc_length_stats(self):

/opt/conda/lib/python3.6/site-packages/ktext/preprocess.py in apply_parallel(func, data, cpu_cores)
     74         pool.close()
     75         pool.join()
---> 76         return transformed_data
     77
     78

UnboundLocalError: local variable 'transformed_data' referenced before assignment

Thanks in Advance.

The error only happened because of the difference in the Spacy version.


Propose Making Slight Change to the Block of Code in State Link Initialization Section

The original block of code in the State Link Initialization section reads:
const stateLink = withClientState({
  cache,
  resolvers: {
    Mutation: {
      /* same as above */
    },
  },
  defaults: {
    networkStatus: {
      __typename: 'NetworkStatus',
      isConnected: true,
    }
  },
});

I propose changing the code section to reflect as follows for readability and clarity. Mostly it's based from watching the Sara Vieira apollo-link-state video one too many times and getting accustomed to seeing defaultState being initialized like so:
const defaultState = {
  networkStatus: {
    __typename: 'NetworkStatus',
    isConnected: true,
  }
};

const stateLink = withClientState({
  cache,
  resolvers: {
    Mutation: {
      /* same as above */
    },
  },
  defaults: defaultState,
});

I already made the change in my fork of the repo. Let me know what you guys think.

Hi @jaimemendozadev! Thanks for your feedback. I'm not convinced that pulling defaultState into its own variable is an improvement on readability. I'd prefer if people split defaults and resolvers into their own modules if they didn't want to inline their defaults during setup. I'm going to close this for now, but if enough people support the change, then I will reconsider. 😀

Hey @peggyrayzis! Totally understand. Thank you for looking at the issue. 😄 Btw, big fan of the work you and the Apollo Team do, particularly your Medium articles or YouTube videos. Please keep it up! 👍 🚀


[EG] policy insights required/optional

API change check
APIView has identified API level changes in this PR and created following API reviews.
Microsoft.ApiCenter


ocamlPackages.ocaml-monadic: init at 0.4.1

Motivation for this change
Lightweight PPX extension for OCaml to support natural monadic syntax.
Homepage: https://github.com/zepalmer/ocaml-monadic
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build ocamlPackages.ocaml-monadic


feat(ThirdParty): Add TinyUSB library to MSDK

Add TinyUSB support into MSDK.
TinyUSB was ported to the MAX32 devices and the PR is currently under review at the TinyUSB Repo (PR 2708).  This PR is to bring the implementation back into the MSDK for use within MSDK specific applications.
The current strategy is:
Library

Add TinyUSB as a library into MSDK similar to MAXUSB, FreeRTOS, etc
Rather than a Git submodule, bring in only the necessary files for device mode operation with the MAX32
Files are not modified (clang-format, cpplint, etc)
Do not incorporate the TinyUSB BSP system as it will conflict with the MSDK BSP
Examples will be included verbatim to be used as reference until all/most examples are port to MSDK projects

Examples

Create examples in the MSDK/Examples folder similar to other MSDK example projects
Use the TinyUSB examples verbatim, adding wrappers to bridge the MSDK BSP with the TinyUSB expected BSP calls
Examples a clang-formatted and cpp-linted to comply with standards
Add a simple README to the TinyUSB/Examples folder to instruct user's how to port other examples which have not yet been added.

@Jake-Carter , @EricB-ADI .  This is incomplete, still a lot of work to be done on the examples and documentation side of things.  Before going too far, I wanted to kick off a discussion/review of the approach for both the library and example projects.  Once you are happy with how things will get integrated, creating all the examples will be cookie-cutter.  Just rather it be right with the first two, before going all in.

Thanks @BrentK-ADI will take a look asap

I think at this point, everything is pushed for review.  Once the PR at the TinyUSB repo is merged, I'll re-grab the library code to make sure our inclusion is in sync with the official repo.
I added examples for all the supported parts and updated the documentation best I could see where.  I assume the OSPO will auto generate an update to NOTICE when the time comes.
Feel free to start a review now, or wait until I update the TUSB code and take this out of draft.

@Jake-Carter   I rebased against main to resolve the merge conflicts. Looked like it was just a minor Makefile update causing the issue.  Probably worth checking once over to make sure I didn't goof something up...I have by Git noob moments sometimes.

@BrentK-ADI looks like there are some linker errors in hid_composite now - can you check?

@Jake-Carter I think the issue here is building a TinyUSB library for re-use versus compiling the source directly into the project.  The contents of TUSB library is dependent on the tusb_config.h file.  The Makefile trys to compensate for this with the ${TINYUSB_CONFIG_DIR}/tusb_config.h dependency, but the path pointed to by TINYUSB_CONFIG_DIR will change from example to example, so I don't think the dependency will ever catch.
Do we do anything with FreeRTOS that compensates for this? I would imagine it has the same issue with FreeRTOSConfig.h sitting in the project folder, but a library is being built.

@Jake-Carter I think the issue here is building a TinyUSB library for re-use versus compiling the source directly into the project. The contents of TUSB library is dependent on the tusb_config.h file. The Makefile trys to compensate for this with the ${TINYUSB_CONFIG_DIR}/tusb_config.h dependency, but the path pointed to by TINYUSB_CONFIG_DIR will change from example to example, so I don't think the dependency will ever catch.
Do we do anything with FreeRTOS that compensates for this? I would imagine it has the same issue with FreeRTOSConfig.h sitting in the project folder, but a library is being built.

Agreed.  This is now a common issue across Cordio, FreeRTOS, and now TinyUSB.
Looking into a solution for tracking the path and contents of the config file as a dependency.  One interesting option is here.
I implemented it and it works for tracking changes to options inside a project.  It will need some more work to track changes across projects and for the library files.
Once tinyusb.a exists, there's no other way to trigger a rebuild unless we did something like $HASH/tinyusb.a or tinyusb-$HASH.a + another recipe to copy or symlink back to tinyusb.a.  Not a huge fan of the external tool dependencies or renaming the files but so far this is the most promising solution to this problem I've come across.

Does it still make sense to retain these libraries as libraries in the linking sense?  Thinking about FreeRTOS and TinyUSB especially, since what gets compiled into these projects is so dependent on the project settings itself, does it make more sense to just have the respective .mk files just append to SRCS, I_PATH, PROJ_CFLAGS, etc when including those libraries and have it built with the project and the dependencies tracked for changes as normal?

Yes, that's definitely a reasonable approach.  We do it for MiscDrivers and a couple other libraries.
Just updated to go that route (https://github.com/analogdevicesinc/msdk/pull/1101/commits/3d408d4984c4ce1c5a96a9a7a4a86e4de6557e21).
I like the modularity of building each library as a static file, but this is simpler to get this working across config changes.

Looks like the relocation of the MAXUSB examples cause a linting failure with header guards. I'll go ahead and fix those today.
Is there a good way to run all the automated checks locally before committing?  I've been running cpplint and clang-format somewhat manually to check the files.  My mistake on these examples not realizing the path contribution to the #ifdefs, but generally speaking didn't see a one-shot command in the contribution guide.

Thanks!
You can run the linter/formatter locally on files/folders (https://analogdevicesinc.github.io/msdk//CONTRIBUTING/#running-the-linter-formatter) but there's not a great way to run the entire check locally, since most of it is written in the Github workflow file.
It would be nice in the future to consolidate it to a local script like I did with the build test Python script.

@BrentK-ADI merged, thanks again.  This will be a great addition


Fixed CPU/CUDA compatibility issue

Fixed the below error in loading the trained model on CPU.
(dvr) PS ~\differentiable_volumetric_rendering> python generate.py configs/demo/demo_combined.yaml --no-cuda
https://s3.eu-central-1.amazonaws.com/avg-projects/differentiable_volumetric_rendering/models/single_view_reconstruction/multi-view-supervision/ours_combined-af2bce07.pt
=> Loading checkpoint from url...
Traceback (most recent call last):
  File "generate.py", line 63, in <module>
    checkpoint_io.load(cfg['test']['model_file'])
  File "differentiable_volumetric_rendering\im2mesh\checkpoints.py", line 62, in load
    return self.load_url(filename)
  File "differentiable_volumetric_rendering\im2mesh\checkpoints.py", line 93, in load_url
    state_dict = model_zoo.load_url(url, progress=True)
  File "anaconda3\envs\dvr\lib\site-packages\torch\hub.py", line 509, in load_state_dict_from_url
    return torch.load(cached_file, map_location=map_location)
  File "anaconda3\en\dvr\lib\site-packages\torch\serialization.py", line 593, in load
    return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
  File "anaconda3\envs\dvr\lib\site-packages\torch\serialization.py", line 773, in _legacy_load
    result = unpickler.load()
  File "anaconda3\envs\dvr\lib\site-packages\torch\serialization.py", line 729, in persistent_load
    deserialized_objects[root_key] = restore_location(obj, location)
  File "anaconda3\envs\dvr\lib\site-packages\torch\serialization.py", line 178, in default_restore_location
    result = fn(storage, location)
  File "anaconda3\envs\dvr\lib\site-packages\torch\serialization.py", line 154, in _cuda_deserialize
    device = validate_cuda_device(location)
  File "anaconda3\envs\dvr\lib\site-packages\torch\serialization.py", line 138, in validate_cuda_device
    raise RuntimeError('Attempting to deserialize object on a CUDA '
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

@nitish11 that's great, thanks a lot! I didn't test it, but the code looks good so I assume it works for CPU and GPU.
Thanks a lot again for your great help!


All differences ignored with "Ignore whitespaces and empty lines" when opened from Git window

When I double click on a file with a refactoring in the Git window, it shows me an empty diff and the message "Differences ignored". This seems to be because I have chosen "Ignore whitespaces and empty lines". If I change that to anything else, the refactoring differences actually show. For whatever reason the diff window decides to ignore renaming etc even though it's not just whitespace or empty line change.
With "Ignore whitespaces and empty lines":

With "Do not ignore":

Maybe related observation: a normal (non-refactoring) diff for that commit shows the corresponding commit hashes in the diff window, but the refactoring diff only shows the file paths (same on both sides):

Comparing the "Highlight words" in this normal diff to the one above, it also looks like "Highlight words" works differently in a refactoring diff window. Also, code highlighting is different and lacking some colors.

Hi, @sim642!
Thank you for letting us know about the problem and providing a detailed description!
Please, clarify the version of the used IDEA and the version of the plugin.

IntelliJ version: IntelliJ IDEA 2020.2 (Ultimate Edition) Build #IU-202.6397.94, built on July 27, 2020
Plugin version: 2020.2-1.0


Drop Pipelines.Testing dependency that we don't use

Needs to target dev instead. https://github.com/aspnet/KestrelHttpServer/pull/2343#issuecomment-367766167

Rebased

Assuming this needs https://github.com/aspnet/KestrelHttpServer/commit/d996f6b7fcc805b749a6dfaf3c3dd88dff691f85 too. CI automation is ~15 min away from updating the kestrel submodule. Once that's in, :shipit:

When do we plan to get rid of the corefxlab dependencies and use the latest pipelines package?
https://github.com/aspnet/Universe/blob/dev/build/dependencies.props#L96-L99

Same question regarding Kestrel - https://github.com/aspnet/KestrelHttpServer/blob/dev/build/dependencies.props#L34-L35

@pakrym is working on it.


Multinodes examples

Reworking examples to consider multiple nodes (by default 2 Nodes) to "fix" #25

Hello @jmorel thank you for your feedback. I agree with you that it would be better to have done it in separate PR :-)
However, given the time constraints, I won't be available to create two separate PR for this one, and it would be very helpful if it could be reviewed as it.
Cheers

@camillemarini Some work has been done by @jmorel to handle a multi nodes example in this PR. Would that be ok for you to close this PR and merge Jérémy's work?

@samlesu That's fine for me!


How to remove vertical scroll bar in embedded use

System Information

OS: windwos
Python version: 3.9
Python environment: pip
Using jupyter:  false
Datapane version: 0.14.0

Issue
When using the embedded code (e.g. IFrame not supported), the report is always displayed with a vertical scroll bar. Can this scroll bar be deleted or hidden?

Hey @pstrato-agrimetrics ! Can you please share a screenshot where the problem presents itself?

Hi @shahinrostami
For example, in https://docs.datapane.com/reports/blocks/plots-and-visualizations, the vertical scroll bar is visible on the Altair example.

I'm not familiar with html & css to understand if the scroll bar can be removed.
Thanks for your help

Hello @pstrato-agrimetrics !
Thank you for raising this. I was able to reproduce the issue with the examples you've shared – this will help us work towards a fix! I did notice that not all reports have this behaviour (padding around the report through py-4), e.g.
IFrame not supported

👋 @Buroni, any clues on the issue?

I can repro too, this looks like a bug. Will look into this tomorrow and update here

Hey @pstrato-agrimetrics - it looks like this has been fixed! Check out the following example:
IFrame not supported

Please let us know if there's anything else 🚀

Thank you


CI reproducibility

Reproducible CI
Use cases

As a developer I want to reproduce a specific combination of the Travis matrix in my local setup.
As a developer I want to debug my code, with the services of a specific combination of the Travis matrix in my local setup.
As a developer I want to run multiple times a single tests module/function. Services should not be boot up and down on every run, but be kept up.
As an Invenio maintainer I want to control the service's version from a centralized point. e.g. ES_7_LATEST might change from 7.2.0 to 7.3.0.
As an Invenio maintainer I want to see the effect of changing (upgrading/downgrading) a service version on the whole Invenio organization modules.

Proposed solution
The creation of a new package, docker-services-cli, which is in charge of managing the required services using docker-compose.
This makes use of a predefined docker-services.yml, which defines the most common services needed to test Invenio modules and applications. However, if needed, the CLI gives the option to provide a custom yaml file.
The cli provides a single command, services, with two options up and down. This command takes a non-limited number of services, which must exist in the services yaml file.
Example usage:
$ docker-services services up es postgresql redis
$ docker-servies services down

Note: The down option does not require the services' name since docker-compose keeps track of which services it booted up.
Migration steps
The migration requires three files changes:

setup.py
run-tests.sh
travis.yml

setup.py
This one is easy, just add the docker-services dependency to the tests_require.
tests_require = [
    ...
    'docker-services>=0.1.0',
    ...
]

run-tests.sh
In this file we have to add two lines: one at the beginning ot boot up the services and one at the end to shut them down. For example:
docker-compose services up es postgresql redis
pydocstyle...
isort...
pytest
docker-compose services down

In addition if there is a need to test on different service technologies, for example postgresql y mysql, the up command must parametrize said component. For example:
docker-compose services up es ${DB} redis

And then set an environmental variable with the value. For example:
$ export DB=postgresql
$ ./run-tests.sh
$ export DB=mysql
$ ./run-tests.sh

In addition, we might want to change a specific service version, by one of the centrally configured latests or a specific one. For example:
$ export ES_VERSION=ES_7_LATEST
$ ./run-tests.sh
$ export ES_VERSION=ES_6_LATEST
$ ./run-tests.sh
$ export ES_VERSION=6.5.0
$ ./run-tests.sh

travis.yml
To integrate travis with the new package we have to:
1- Remove all references to external services, to avoid port collisions. For example:
- addons:
-    postgresql: 9.4
-    apt:
-      packages:
-        - rabbitmq-server

...

- services:
-   - mysql
-   - postgresql
-   - redis-server

2- Addapt the environment matrix. Note that the docker-compose version that comes with travis is old, so we have to update it:
env:
   global:
     - DOCKER_COMPOSE_VERSION=1.26.2
   matrix:
     - REQUIREMENTS=lowest EXTRAS=all,elasticsearch5 ES_VERSION=ES_5_LATEST
     - REQUIREMENTS=lowest EXTRAS=all,elasticsearch6 ES_VERSION=ES_6_LATEST
     - REQUIREMENTS=release EXTRAS=all,elasticsearch6 ES_VERSION=ES_6_LATEST
     - REQUIREMENTS=release EXTRAS=all,elasticsearch7 ES_VERSION=ES_7_LATEST
     - REQUIREMENTS=devel EXTRAS=all,elasticsearch7 ES_VERSION=ES_7_LATEST

...

before_install:
   - sudo rm /usr/local/bin/docker-compose
   - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
   - chmod +x docker-compose
   - sudo mv docker-compose /usr/local/bin
   - ...

...

before_script:
    - "docker --version"
    - "docker-compose --version"

Open questions

What about re-downloading images, is there caching in travis?

Closes https://github.com/inveniosoftware/invenio/issues/4037

@diegodelemos I have refactored the env loading to make it more readable and added tests for it (we were actually missing one case).


HDD SMART Status integration

Description
It would be lovely to see a briefing on SMART Status for a set array, even if it is just a row of "LEDs" in the top bar. Green for OK, yellow for Error, Red for Critical. Each could have a small label showing either Drive label or SDA/SDB/etc. Perhaps integration with a service that already gathers this data, such as Scrutiny, could be possible?
This, along with the ping feature already implemented, would be a great glance-feature to see what's going on with my server. I have 12 drives so knowing their individual status somewhere near where I check my services would be awesome. The Dash. integration has been life saver and this would be icing on the cake.
Priority
Medium (Would be very useful)

Hello,
thank you for your request.
Information like this is usually quite hard to obtain.
As you said, applications like Scrutiny could do that for us.
However, I think that this should be implemented in Dash. instead, since it already shows all storage volumes.
@MauriceNino is this feasible & does it make sense ?

Implementation in Dash. Could work just as well. Either adding a new panel or an option to show that instead of the usage graphic would be great. Thanks for the reply, still very happy with Homarr. It really is the best dash out there.

@manuel-rw @Xanthey
Sorry, I don't really know what SMART status is and how it would be displayed best. Could you maybe give me an example on how it could look like in Dash.?

Basically, without too much detail, SMART is a technology within hard drives that will give you diagnostics for your drives. The largest advantage to monitoring this is so that you know BEFORE a drive failure so it can be replaced without losing data. The drives will generate a lot of diag data but one field is most important: Status. This will tell you if it is "PASS," "WARN," or "FAIL." Obviously if it is in a WARN or FAIL state you would want to replace (or at least troubleshoot) that drive asap.
I'm happy to create a couple of mockups, but I am at work currently and without the means to do so. I will gladly get this done for you this afternoon after work.

@manuel-rw @Xanthey
Sorry, I don't really know what SMART status is and how it would be displayed best. Could you maybe give me an example on how it could look like in Dash.?

S.M.A.R.T. is basically a self-monitoring system for storage devices.
See https://en.m.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology .
It can be used to read out the health and errors of a HDD or SSD.
@Xanthey can surely provide a few examples :)

Oh okay, thanks for that description - maybe adding a flag DASHDOT_ENABLE_SMART_STATUS or something like that would work. And then show a little red/orange dot next to the drive name would be ok? Don't know how that would translate to Homarr though, as it wouldn't be visible in the graph.
Or I could optionally show the dot in the graph, but I don't really know if that is possible with recharts (the charting lib I use).
Would love to see a mockup though!

Sounds awesome!

Here are a couple of mockups. I prefer the one where it replaces the storage information in the Dash. area, but honestly displaying it anywhere would be a great help.

Hmm... I'm not sure sure if I like this design.
First off, I would not implement more things in the header.
Secondly, why hiding the individual drives when you can integrate it easily?
Here is my take on this:

I have though now about some while about adding a sticky-footer to Homarr, where we could display status, CPU, temps, ...
Only thing that speaks against this is mobile compatibility.

That is a great design. I'm definitely not a UX designer, but did the best I could to get the point across. Yours is MUCH nicer. My only note is that with it's current horizontal width it could only show a handful of drives. Perhaps there could be a way to have it display that way until you get to X amount of drives, then if there are more it could make two shorter rows to fit more drives at a time.
Honestly I'd by happy with any method of showing it, I'm not trying to be picky at all. Just notes.

Hm thanks for both of those designs, but I have concerns.
For your design @Xanthey I think it is very practical, especially in Homarr, where there is no option for pagination. But I don't really like the design in general, because it omits all the information about disk space, and you would have to decide on one.
@manuel-rw your design looks pretty good in theory, but it will look worse, if the bar (which is colored in a very distinct green tone) overlaps with the dots. Also, I don't think showing a green dot is strictly necessary (because if it works, it works, right?).
But this discussion has shown me another problem that Homarr should be having right now - how does it handle 4+ drives? Because right now it can get pretty crammed, I think - that's why in Dash., there is a pagination feature for 3+ drives. Maybe I should add that as well in widget mode (maybe on the top left, similar to the up/down arrows of the network graphs)? What do you think?
My mockup would look like this (IDK if it is possible, though):

Alternatively, this would definitely be possible:

Both design could show more descriptive errors in a popup on hover.

how does it handle 4+ drives?

This is the reason, why I didn't screenshot and overlay some S.M.A.R.T indicator badges:

Maybe I should add that as well in widget mode

Sounds like a good idea. I think we have quite a few storage hoarders, so this would be a great addition.

but it will look worse, if the bar (which is colored in a very distinct green tone) overlaps with the dots.

That is true. I was busy doing other stuff, so I wasn't able to invest much time for a proper one, sorry...

My mockup would look like this (IDK if it is possible, though):

Yes, this is a much better implementation. Although I'd add a small border for the indicator, to create this pretty cool effect and divide the indicator from the disk space bar:

You can achieve this effect by setting the border color to the same color, as the background.
One question I'd like to ask here is; How do we determine that a drive is bad / faulty?
There are a ton of attributes that a drive can have and which the S.M.A.R.T will return.
As an example, this is an older drive from my storage array, which isn't used very often:

I think most people have mostly different thresholds, for when a drive is considered to be "dead" or is in need for replacement.
Perhaps S.M.A.R.T also returns a "overall state" of the drive, which can be ok | warn | faulty?
I like the way CrystalDisk is doing this a lot:
https://crystalmark.info/en/software/crystaldiskinfo/
On the other side:
I doubt that professionals will use Dash. as a S.M.A.R.T tool for their storage arrays.
We shouldn't invest too much time into small details and I doubt that displaying all attributes is necessary.

Lots of great stuff in here. Just to touch a few bases as an end-user:
There are tools which definitely would display much more detailed information, but a nice "glance" type display for SMART would be nice. Having the basics on one page is such a help. If an issue is noticed, the more thorough tools could then be launched to investigate. Same reason I use Dash. on Homarr for a quick peak at metrics instead of opening Grafana all the time.
As previously mentioned, I am no UX designer so please take my suggestions and mockups with a grain of salt. Was just a quick'n'dirty to convey the general idea.
However it would be best to incorporate it would be perfectly fine with me (and I'm sure I speak for the other users.) However, with a dozen drives the pagination feature would tend to become cumbersome. While definitely more aesthetically pleasing, I feel like at least an option to omit the storage space reporting in liue of just seeing the colored indicators would be appreciated for those of us with (admittedly) too many drives.
Once again, however it would be best to implement and incorporate the reporting in any fashion would be a welcome addition. One of the reasons I went with Homarr/Dash. to begin with was because it's beautiful and functional. I'd certainly not want to interrupt that with an idea that doesn't make sense in the current ecosystem. Thanks for all of your hard work on this issue, either way.

While definitely more aesthetically pleasing, I feel like at least an option to omit the storage space reporting in liue of just seeing the colored indicators would be appreciated for those of us with (admittedly) too many drives.

Normal users (which are not addicted to hoarding drives and terabytes of data) could simply see the normal view with the bars and the SMART indicators, if enabled.
If you are a power user (> 6 drives), then we could display them as a pie chart (for the % filled) with the SMART status as their color.
I think it would scale pretty nicely, until we have > 16 drives.
In this case, we could simply show a text with the summary of all drives:
21 drives,
total of 287,81TB,
no active SMART issues

One of the reasons I went with Homarr/Dash. to begin with was because it's beautiful and functional.

Thank you for the compliments 🚀. We're working really hard on this project, and the upcoming version 0.11 will be a huge deal!! ✨

Maybe this is just a stupid idea, but how about that we collapse the drives for power users?
I think it would scale pretty nicely, until we have > 16 drives.
In this case, we could simply show a text with the summary of all drives:
21 drives,
total of 287,81TB,
no active SMART issues

This is a wonderful idea, in my opinion. It caters to people who would use it normally, as well as others such as myself with obviously undiagnosed hoarding issues lol.

Perhaps S.M.A.R.T also returns a "overall state" of the drive, which can be ok | warn | faulty?

I am using systeminformation for data gathering - the closest thing I could find to an overall status would be percentage_used - but I don't know how that really translates, because it probably does not look for errors.
@Xanthey Can you maybe look at the SmartData object here and tell me which fields would be important and why?

If you are a power user (> 6 drives), then we could display them as a pie chart

Do you mean a pie chart like this? Because that's actually the default view, unless multi-view is enabled with a feature flag, or via widgets (which are used in Homarr). But in my experience, power users actually want more info - like to know exactly how much is used on every single HDD. That's why the split view even got implemented in the first place.

@MauriceNino If I am reading this correctly it appears that this would be the correct field:
smart_status: {
      passed: boolean;

It's just a boolean, though - so there would be no levels of failure, just "dead" - if I got that right.

Do you mean a pie chart like this? Because that's actually the default view, unless multi-view is enabled with a feature flag, or via widgets (which are used in Homarr). But in my experience, power users actually want more info - like to know exactly how much is used on every single HDD. That's why the split view even got implemented in the first place.

Yes, a chart like this, but for each drive, if the "multi drive" view is enabled

I'd suggest the following for the Smart status:
SmartStatus: {
  status: ok | warn | crit;
}

Yes, a chart like this, but for each drive, if the "multi drive" view is enabled

Ok, got it, that would be a lot of work, and I don't know if it would only look good in widget mode. So that's something for a PR, if you really want it, but I don't see myself implementing that. I am more on the pagination side of things. Maybe with an accumulated icon, if an error exists, so it's also visible on the first page.

I'd suggest the following for the Smart status

Where exactly did you find that?

Where exactly did you find that?

Nevermind, sorry. Did we already decide what data source we'll use, since this will affect the retrieve-able attributes?

I am using systeminformation for data gathering

Do you mean this?

Omg sorry, I completely missed this link! 😂

It's just a boolean, though - so there would be no levels of failure, just "dead" - if I got that right.

Ive never looked at the scripting for SystemInformation before but I would assume it's defining variables elsewhere as I did not see them. It's possible I looked over it. But yeah, it looked like SysInfo is just throwing a true/false.
I'm not familiar with that software on that level but I'm guessing it either throws an OK or an ERROR. Once again, though, I couldn't find that expressed anywhere.

No worries about the technical part, I would just need to know which parameters are important for SMART, because I have never used it. Otherwise, I can't show meaningful information to the user.

I understand the closing of the issue, it fo any look too feasible to add this feature at this time as it would take too much time away from more pressing features. I would still love to see it one day, when the time is right for it. Thanks to everyone who put time and effort into this idea. It's all appreciated, and I want you all to have an awesome day!

Jeremy Warren
Sent from my Samsung Galaxy Z Flip 3

From: Thomas Camlong @.>
Sent: Wednesday, January 18, 2023 5:42:51 AM
To: ajnart/homarr @.>
Cc: Xanthey @.>; Mention @.>
Subject: Re: [ajnart/homarr] HDD SMART Status integration (Issue #516)
Closed #516https://github.com/ajnart/homarr/issues/516 as not planned.
—
Reply to this email directly, view it on GitHubhttps://github.com/ajnart/homarr/issues/516#event-8254904267, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIGVBTTVIJX5X6FMRTGC7I3WS7JLXANCNFSM6AAAAAASLI5YWY.
You are receiving this because you were mentioned.Message ID: @.***>

I understand the closing of the issue, it doesnt look too feasible to add this feature at this time as it would take too much time away from more pressing features. I would still love to see it one day, when the time is right for it. Thanks to everyone who put time and effort into this idea. It's all appreciated, and I want you all to have an awesome day!

Jeremy Warren
Sent from my Samsung Galaxy Z Flip 3

From: Thomas Camlong @.>
Sent: Wednesday, January 18, 2023 5:42:51 AM
To: ajnart/homarr @.>
Cc: Xanthey @.>; Mention @.>
Subject: Re: [ajnart/homarr] HDD SMART Status integration (Issue #516)
Closed #516https://github.com/ajnart/homarr/issues/516 as not planned.
—
Reply to this email directly, view it on GitHubhttps://github.com/ajnart/homarr/issues/516#event-8254904267, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIGVBTTVIJX5X6FMRTGC7I3WS7JLXANCNFSM6AAAAAASLI5YWY.
You are receiving this because you were mentioned.Message ID: @.***>

Hi there, I would have needed more info on the topic to start working on it. As this is more of a dashdot related feature, I would suggest opening an issue on https://github.com/MauriceNino/dashdot. But please only do so, if you can provide more info.


What is the purpose of AzureAd:Roles in appsettings.json?

Issue

Please provide us with the following information:

This issue is for the sample

    - [ ] 1-1) Sign-in with Azure AD
    - [ ] 1-2) Sign-in with Azure AD B2C
    - [ ] 2-1) Acquire a Token and call Microsoft Graph
    - [ ] 3-1) Protect and call a web API on Azure AD
    - [ ] 3-2) Protect and call a web API on Azure AD B2C
    - [ ]   4) Deploy to Azure Storage and App Service
    - [ x] 5-1) Call a web API using App Roles
    - [ ] 5-2) Call a web API using Security Groups
    - [ ] 6-1) Call a multi-tenant web API
    - [ ] 7-1) Call Microsoft Graph using on-behalf-of flow
    - [ ] 7-2) Call a web API using Proof of Possession tokens

This issue is for a

    - [ ] bug report -> please search issues before submitting
    - [x ] question
    - [ ] feature request
    - [ ] documentation issue or request

Minimal steps to reproduce
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "Enter the domain of your Azure AD tenant, e.g. 'contoso.onmicrosoft.com'",
"TenantId": "Enter the ID of your Azure AD tenant copied from the Azure portal",
"ClientId": "Enter the application ID (clientId) of the 'TodoListAPI' application copied from the Azure portal",
"Roles": {
"TaskAdmin": "TaskAdmin",
"TaskUser": "TaskUser"
}
In the API configuration files (appsettings.json / appsettings.Development.json), does the Roles section within AzureAd in as shown above serve any purpose?
The sample app looks to be using the AppRole static class to get role names so I'm wondering if this section is needed in the .json files, and if so where/how is it used?
Any log messages given by the failure

Expected/desired behavior

Library version

Browser and version

Chrome, Edge, Firefox, Safari?

Mention any other details that might be useful

Thanks! We'll be in touch soon.

Hi @markp24 , you're correct. The roles in appsettings.json are not used. I will remove them from the sample. We provide static values to help with the logic for the example provided in the readme. For example, we use the roles in the RoleGuard to specify the user's role that can access the route.

@markp24 Thanks


[Request] Modded Lantern Model Support

Hello sir, thank you very much for the great mod! :)
Would you like to make model for these mods?

Both of these working but would be great if the connection appear :

BYG
Charm

Lantern from below mod cannot be put on the wall :

BetterEnd
BetterNether

I'll gladly add support for these mods. I will release an update for support for BYG and Charm.
As for BetterEnd and BetterNether, it will probably take some time to fix the issue. Because of that, I will add that fix in a second update.

I'll gladly add support for these mods. I will release an update for support for BYG and Charm.
As for BetterEnd and BetterNether, it will probably take some time to fix the issue. Because of that, I will add that fix in a second update.

Thank you very much! (1.18.2) :)

The newest update (1.3.0) contains compat for BYG and Charm. However, only the redstone lantern from Charm is supported because I couldn't figure out where the other lanterns got their models from.
I'll be working on support for BetterEnd and BetterNether next.

Love modded support <3

Any chance you could do this with https://www.curseforge.com/minecraft/mc-mods/skinned-lanterns-fabric as well?

Apologies to post hijack, how is mod compat added? im working on a lantern mod and would like to include compat at release.


lru_bump_buf

The code will go lru_bump_aync when we call do_item_get(). I wan't do know what is lru_bump_buf for . thank you.

The lru_bump_async stuff is part of the segmented LRU algorithm, which is explained in a blog post here: https://memcached.org/blog/modern-lru/
When items in the COLD LRU are accessed, they are asynchronously moved to the WARM LRU. bump_buf is used to queue items for this asynchronous move.
If bump_buf is full, the access bump is dropped. So when the server is overloaded with traffic it will not hang or pause while waiting for COLD items to be moved.

assuming I've answered your question. good luck


Improve contents of viewer context and property menus

The contents of the viewer context and property menus should be improved and cleaned-up, in order to reflect what most of the scientists would expect to find there.
Here is a proposal on how we would suggest the contents to look like by default:
/// document following shortly ///

Property Panel and Context Menu.pdf

Additional improvements for the context menu:
https://github.com/datagrok-ai/public/issues/1375
https://github.com/datagrok-ai/public/issues/1376
https://github.com/datagrok-ai/public/issues/1377
https://github.com/datagrok-ai/public/issues/1378
https://github.com/datagrok-ai/public/issues/1381

@AnnaMuza please check if everything corresponds to the new design of viewer property menus (should be on dev tomorrow or earlier).


Add minimal README to docs directory

Just a convenient link to the readthedocs site.

It looks like there are some extra commits in the PR.  Could you rebase on latest master so it just has the one relevant commit?  Thanks!

I've never rebased anything before. How do you rebase something that is already on a master branch?

Ok, so I did that and got this; not sure how to interpret it though:
D:\dev\most [master ≡]> git rebase source/master
First, rewinding head to replay your work on top of it...
Applying: fix(types): propagateTask; decouple value type from sink type
Using index info to reconstruct a base tree...
M       packages/core/type-definitions/PropagateTask.d.ts
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
Applying: fix(types): propagateTask; decouple value type from sink type (flow)
Using index info to reconstruct a base tree...
M       packages/core/src/index.js.flow
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
Applying: docs(api): Add minimal README to docs directory

When I do git status, it says:
D:\dev\most [master ↓4 ↑1]> git status
On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 4 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
nothing to commit, working tree clean

rebase changes the git history.

It looks like what happened was that your fork's remote master may not have been up-to-date with the upstream (the mostjs/core repo) when the PR was opened.  Hard to tell for sure, though, since there's also a merge commit (a059130) after the change to the README ... not clear where that came from.
In any event, thanks for giving it a go.  If it doesn't end up looking right after the rebase and force push, we have a couple other options.  For example, either you or one of us can create a new branch from up-to-date master and cherry-pick the one relevant commit (0b1434d) to it, and open a new PR.

Commit log should be fixed now.


New PR

I was thinking of something a bit simpler than what you seem to have done with all those merge commits:

Create plugins_dev by cloning plugins.
Make your changes on plugins_dev
Open a PR for plugins_dev -> plugins (like this one).
Get it merged.
Go to step 2.

If master changes, merge it to plugins and do not merge it to plugins_dev.
When plugins changes (because of my PRs or master merges), then git pull --rebase plugins while you are on the plugins_dev branch.

This is how I manage my "feature" branches. Notice I have no merge commits in them? The --rebase argument says to git: find your changes, and put them on top, and apply them one at a time.
Does that make sense? If so, I can build you a plugins_dev with the incremental changes in it that looks nicer.

Ah I see it now.  OK, I'll merge this one in first, then next time I'll try the rebasing trick.
My Git knowledge is limited to commit, checkout, push, pull etc...