Point cloud feature extraction for LOAM based localization

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I've agreed with the maintainers that I can plan this task.

Description
We are planning to establish a LOAM based localization. For this purpose, we need feature extracted point cloud maps. For providing those point clouds, this issue is open. Related LOAM based localization issue:

https://github.com/autowarefoundation/autoware/issues/4592

This task is mapping part of the LOAM based localization issue. For this part, a PCAP file contains the position + point cloud packages inside it and ground truth pose data will be published.
For the development and testing of the feature, YTU Campus area PCAP and Ground Truth pose data will be used. This link includes the data: https://drive.google.com/file/d/1ivVL4hYuqqzlTSMTbJV7gEvlbPvMJ7-M/view?usp=drive_link
Purpose
Being able to create feature extracted point clouds with LOAM. Those will be used for LOAM based localization.
Possible approaches

A distortion corrector must be used for point clouds in the given PCAP data (for deskewing). Voxel-based downsampling method may be used to not involve unnecessary data. Implement feature extraction.
Ground truth poses can be used instead of LOAM output poses.

Definition of done

[ ] Convert the PCAP file into the point clouds. (Each point must include precise time)
[ ] Match the ground truth poses and point clouds with precise time in the PCAP packages.
[ ] Implement deskewing
[ ] Implement feature extraction.
[ ] Implement downsampling.
[ ] Generate edge feature and surface feature point cloud maps.

The file in the drive link contains the following files:

PCAP file that contains point cloud data packages and position packages.
A text file that contains ground truth poses of the data collection.

For associating the points and ground truth poses, we can use time. Each data package is saved with time inside of it. However, data packages have a lot of points and only 1 data tag. So, there is no time for point but point clouds. We need point times for deskewing. Additionally, each ground truth position is 0.005 second precision.
Point cloud data is collected with the Velodyne VLP16 sensor. Position packages hold GPRMC messages inside and the PPS signal is used for time syncing during data collection. We can look into the manual of the sensor to parse data and position packages.
As can be seen in the following image, data packages have 1248 bytes. Each data package has 12 data blocks and each data block has 2 firing sequences. During the firing sequence, all the lasers that the sensor has are firing in sequence. Because we have got only one time tag in each data package, we need to associate this time with all the data inside the firing sequence.

The time is filled with position packages in the PCAP. So, the position packages needed to be parsed first. Position packages have 554 bytes. NMEA sentence starts from 207th byte and it covers 128 bytes. We used GPRCM here and here are the GPRMC message details. According to the details, the message can be parsed and take time from there.

https://docs.novatel.com/OEM7/Content/Logs/GPRMC.htm

To fill al the points with time-tag, the firing sequence timing needs to be calculated and points must associated with them. The manual has the following image for firing sequence timing. Each firing takes 2.304 microseconds and there are 16 firing. After 16 firings, there are 18.432 microseconds of recharge time. Then new firing starts. The total firing sequence lasts for 55.296 microseconds.

An example data point timing calculation can be seen in the following image:

Hi @ataparlar, thanks for your detailed description. I understand the issue. But there's one thing that I find unclear: The example of the Time offset at the end of the firing sequence 22,
I understand the (22 * 55.296us)part (each Data Block from 0 to 11 contains two firing sequences, each firing sequence consumes 55.296us, so at the end of firing sequence 22, the time offset from the start of the firing sequence 0 would be equal to 22 * 55.296us plus the (55.296us) consumed by the firing sequence 0). With that, the equation should be Time Offset = (22 * 55.296us) + 55.296us?
Please clarify for me.

@congphase Hi. My understanding is as shown in the figure below.

So, the time offset for channel 15 of the firing sequence 22 is (22 * 55.296us) + (15* 2.304us),
and the time offset for channel 0 of the firing sequence 23 is (23 * 55.296us) = (22 * 55.296us) + (16 * 2.304us) + 18.432us

Hi @YamatoAndo,
Thanks for your explanation.
I was interpreting as if the Time Offset was referring to the green line, as only 15 channels of sequence 22 were accounted in the equation.

After taking a look at the VLP-16 manual, I figured it out. Thank you again.

Hi @congphase
Thank you for your interest and thanks to @YamatoAndo for the answer.
Here is the repository that I created for parsing the PCAP files and putting them in the corresponding position.

https://github.com/ataparlar/loam-mapper/tree/master/src

You can see the parsing code in points_provider.cpp. I haven't added the voxel based downsampling method to the code. So, the exported pcds are very dense right now. I will keep you posted with the updates.
Here is a visualization:

Cool.
Would love to hear from you about how I might join hands working on this, as an Autoware Labs member, discussing more on each item in the Definition of done of this task. Would you talk about this in the next Localization & Mapping WG meeting?

Of course. The next one will be in 2 weeks later. Before that, we can discuss here what to do actually. In the end, we are trying to reach LOAM Based Localization. I am researching that topic right now. We can discuss the topic after Ramadan.

Read through your repo. Probably C++17 or higher? Can we have a call of about 1-2 hours so that you can help me set up the dev environment? I need to know how to start the program and set breakpoints to debug.

Hi @congphase
It is a CMake environment. PCL and PcapPlusPlus are required. We have FindPcapPlusPlus.cmake file inside of the cmake folder in the repository to help find PcapPlusPlus.
loam_mapper::TransformProvider
This class reads the ground truth poses from the .txt file and holds the poses. There is the poses_ variable which holds the poses. Also get_pose_at() function is used for matching each ground truth pose to point cloud points.
loam_mapper::PointsProvider
This class holds the point types that we need. There is only PointXYZIT for now. Additionally, the structures and functions for parsing the PCAP data and extracting point clouds are stored here. DataPoint, DataBlock, DataPacket, and DataPacket are the structs. The process_packet and the process_pcaps functions are used for parsing.
Each point extracted from the PCAP file is tagged with the timestamp calculated in the class according to the time tag in each DataPacket.
This class needs the path of the folder that stores the PCAP files. I suggest you split the big PCAP file into pieces with
editcap -c 100000 ytu_map_2_08_04_23.pcap pcaps/ytu_campus.pcap

You can change the -c parameter for different sizes. Unless you don't do that step, the program would need very high amount of RAM.
loam_mapper::LoamMapper
The mapping process is implemented here. The class needs a TransformProvider object and a PointsProvider object. In the constructor, each point cloud point is matched with the ground truth pose and applied transformation with ground truth pose and a previously found LiDAR-IMU calibration matrix for each point. In the end, a downsampled point cloud is extracted right now.

The repo is updated. We are able to export downsampled full point cloud. The next steps will be related to the LOAM part. Here are some results. As you can see in the right part of the first image, the point cloud sizes are very low. Also, we can lower it if needed.

Hello guys,
I opened 3 different issues as subtasks of this issue. I added them to the task definition. Here they are:

https://github.com/autowarefoundation/autoware.universe/issues/6836
https://github.com/autowarefoundation/autoware.universe/issues/6837
https://github.com/autowarefoundation/autoware.universe/issues/6838

We are developing the code for this issue in this repository:

https://github.com/ataparlar/loam-mapper

Hi guys,
I am finalizing the first version of the loam_mapper. Here is the repository: https://github.com/ataparlar/loam-mapper
Additionally, here are the videos shows how the process goes:

Full process with the sample data. Shows Rviz point cloud visualization and saved point clouds.

https://youtu.be/jVBdZYEii20

Closer look to the extracted features:

https://youtu.be/b4RjppSeNmw
https://youtu.be/b4RjppSeNmw

Red points shows the edge features.
Yellow points shows the surface features.

So, this task is done with the comment:

https://github.com/ataparlar/loam-mapper/tree/51946ff596075636c1991c58815b6869738a60bc


availability of demo code

Good work  to make python code available.
I have trained Resnet50 and like to check performance of some images.
Do you know when the demo code will be available?
Thanks

The demo is ready.


Epoch information for ValidatorResponse and ValidatorBalanceResponse

PR Description
This PR adds information about the referred epoch when querying validator states and balances. This is an essential information when client use labels like head, finalized, and so on, as state_id parameter.
The official eth2.0 API reference does not include this parameter but because this is a new attribute in the response, and the old ones are still there untouched, I presume this modification can be applied even if it will not become standard. In any case, I already sent a dedicated PR to the official eth2.0 repo.
Documentation
Documentation for this PR will be automatically generated.

[x] I thought about documentation and added the documentation label to this PR if updates are required.

Also, CircleCI doesn't appear to have run for this PR. Often this can happen if you're following your fork of Teku in CircleCI.  Hopefully if you unfollow that fork and then pull in the latest changes from master the build will run.

Also, CircleCI doesn't appear to have run for this PR. Often this can happen if you're following your fork of Teku in CircleCI.  Hopefully if you unfollow that fork and then pull in the latest changes from master the build will run.

Also, CircleCI doesn't appear to have run for this PR. Often this can happen if you're following your fork of Teku in CircleCI. Hopefully if you unfollow that fork and then pull in the latest changes from master the build will run.

Thanks, I noticed that issue but I couldn't understand why.

Also, CircleCI doesn't appear to have run for this PR. Often this can happen if you're following your fork of Teku in CircleCI. Hopefully if you unfollow that fork and then pull in the latest changes from master the build will run.

Thanks, I noticed that issue but I couldn't understand why.

Codewise this looks good. I'm hesitant to merge it until we have at least some agreement from other clients to add it to the standard API spec. While it is just an additional field, providing more data still means people can wind up building systems that only work with Teku which isn't ideal. We can also wind up in an awkward spot if the standard APIs wind up solving this problem in a different way.
Will leave some comments on ethereum/eth2.0-APIs#120 about the specifics of the proposal to add this field.

Ok, I agree with you that changing the standard it is the best option: we can discuss there more changes and we can set this as WIP until API specs change.
About building systems that works only for specific clients, I agree it's not ideal but, to be honest, it seems to me Teku is the only client that strictly adhere to the standard API (i.e. Prysm and Lighthouse have very limited support for eth2 API and they implemented their own REST API, Nimbus choose to remain with JSON-RPC 2.0 - it don't use REST even if it tires to map each REST operation with a dedicated method - and it also has dedicated extensions to the official API, etc.). This is a good behavior and praiseworthy goal, I think, but it's important this should not become a limit for future improvements.

Codewise this looks good. I'm hesitant to merge it until we have at least some agreement from other clients to add it to the standard API spec. While it is just an additional field, providing more data still means people can wind up building systems that only work with Teku which isn't ideal. We can also wind up in an awkward spot if the standard APIs wind up solving this problem in a different way.
Will leave some comments on ethereum/eth2.0-APIs#120 about the specifics of the proposal to add this field.

Ok, I agree with you that changing the standard it is the best option: we can discuss there more changes and we can set this as WIP until API specs change.
About building systems that works only for specific clients, I agree it's not ideal but, to be honest, it seems to me Teku is the only client that strictly adhere to the standard API (i.e. Prysm and Lighthouse have very limited support for eth2 API and they implemented their own REST API, Nimbus choose to remain with JSON-RPC 2.0 - it don't use REST even if it tires to map each REST operation with a dedicated method - and it also has dedicated extensions to the official API, etc.). This is a good behavior and praiseworthy goal, I think, but it's important this should not become a limit for future improvements.

About building systems that works only for specific clients, I agree it's not ideal but, to be honest, it seems to me Teku is the only client that strictly adhere to the standard API (i.e. Prysm and Lighthouse have very limited support for eth2 API and they implemented their own REST API, Nimbus choose to remain with JSON-RPC 2.0 - it don't use REST even if it tires to map each REST operation with a dedicated method - and it also has dedicated extensions to the official API, etc.). This is a good behavior and praiseworthy goal, I think, but it's important this should not become a limit for future improvements.

Yep there's definitely a balance to be found here. I wouldn't rule out adding extra data at points but would prefer to avoid it if we can get agreement on a standard solution.
I thought Lighthouse's API was pretty comprehensive (and they've continued working on it) and I believe Prysm is currently working on implementing the standard REST API so hopefully compatibility will continue to approve.  Part of the issue is that the standard API kept changing which made life quite difficult.

About building systems that works only for specific clients, I agree it's not ideal but, to be honest, it seems to me Teku is the only client that strictly adhere to the standard API (i.e. Prysm and Lighthouse have very limited support for eth2 API and they implemented their own REST API, Nimbus choose to remain with JSON-RPC 2.0 - it don't use REST even if it tires to map each REST operation with a dedicated method - and it also has dedicated extensions to the official API, etc.). This is a good behavior and praiseworthy goal, I think, but it's important this should not become a limit for future improvements.

Yep there's definitely a balance to be found here. I wouldn't rule out adding extra data at points but would prefer to avoid it if we can get agreement on a standard solution.
I thought Lighthouse's API was pretty comprehensive (and they've continued working on it) and I believe Prysm is currently working on implementing the standard REST API so hopefully compatibility will continue to approve.  Part of the issue is that the standard API kept changing which made life quite difficult.

There doesn't seem to be any real interest in adding these fields to the standard API and I am concerned about compatibility if we add them ourselves.  I can definitely see the appeal of these fields, but I think to be consistent we'd need to add them to a bunch of different places and that becomes a pretty major departure from the standard API.  Seems better to adjust the way of working with the API so that if the particular slot or epoch is important, find the current slot then query it specifically rather than using the head/finalized/justified shorthand.
So I really appreciate your work on this but I'm going to close this PR as I think it's just a step too far for us away from the standard API at this stage.


How to detect FlasHLS?

Browser: Yandex Browser <IP_ADDRESS>15 beta (64-bit)
OS: Linux Mint 17.1
Clappr Version: 0.2.47
I want to know when FlasHLS automatically activated.
Can someone show me method or property?
Thank you.
p.s. And this browser always throwing exception with FlasHLS.
[.PPAPIContext]GL ERROR :GL_INVALID_VALUE : glTexSubImage2D: bad dimensions.

@mikeevstropov you can check whether the FlasHLS supports your source by using the static canPlay method. It's used when loading the most suited playback for a given source.
Clappr.FlasHLS.canPlay('http://your/source.m3u8')

This will check whether flash is installed, etc. One detail is that in Clappr, the default HLS priority is using hls.js (with MSE), the native video tag, and when all else failed, FlasHLS.
About this error, it's an error within the PPAPI flash implementation. There seems to be a bug in Chromium related to rendering surfaces on some Linux implementations. I don't remember the details, but there's an open bug for Chromium for that error.

@towerz Thank you for answer!
Maybe we have other(dirty) way without query on server?

I found! It's so simple...
player.getPlugin('flashls') && console.log("Browser can't playing without FlasHLS");

@mikeevstropov I didn't understand what you really wanted at first, you want to check whether or not the player loaded the media source using FlasHLS, not if it would load using it prior to initializing the player. Yes, this check you discovered is actually right, and will work if you need to check for other types of playback as well.
About the static check I mentioned (canPlay), it doesn't make a round trip to the server, it only tries to check the URL pattern or mime type passed as parameters, as well as MSE/Flash support on the browser.

@towerz Okay. I understood about canPlay.
The main reason for the search is the problem with buffering.
I placed a banner to the player. It's look like a preroll. When user clicks to "play" the player has start buffering and show ad. Second click on the "close ad" the player will hide banner and starts playing.
function startBufferingAndShowAd (e) {
     e.stopPropagation();
     player.play(); player.pause();
     playerContainer.removeEventListener('click', startBufferingAndShowAd, true);
     showBanner();
}
playerContainer.addEventListener('click', startBufferingAndShowAd, true)

But player.pause(); is not working when the Clappr uses FlasHLS plugin.

@mikeevstropov I see, but there's one detail about pausing HLS streams. Is it a live stream or VoD?
With live streams, Clappr will only support pausing when the stream has DVR support. This means that your stream needs to have a duration longer than a given threshold set. The default threshold for minimum duration needed to be considered supporting DVR is 1 minute. You can configure this setting the option hlsMinimumDvrSize (in seconds) when instantiating the player.

@towerz
I use VoD stream. And trouble with pause() only on FlasHLS plugin.

No, it can't. It seems to be a bug on the FlasHLS playback, or FlasHLS itself. I'll open another issue related to this problem so we can sort this out. Thanks, @mikeevstropov

@towerz Ok. Thank you too! Now I can catch the error.


get rid of

http://build.fhir.org/ig/IHE/ITI.PDQm/branches/main/ITI-78.html#23784121-query-search-parameters
See the following in the parameters column of the table:
address-city, address-country, address-postalcode, address-state

fixed


Appending text in visual block mode doesn't work properly when cursor is moved

Describe the bug
When appending text in visual block mode, if the cursor is moved before the
start of the visual block, then incorrect text is inserted.
To Reproduce
Detailed steps to reproduce the behavior:

Run vim --clean
Add the following text to an empty buffer.
aaa
bbb
ccc
Execute the following commands:
gg$<C-V>2jA<Left>x<Esc>

Expected behavior
The following lines are expected after the edit:
       aaxa
       bbxb
       ccxc

But the following lines are present after the edit:
       aaxa
       bbba
       ccca

The second and third lines are not correct.
Environment (please complete the following information):

Vim version 8.2.2911
OS: Ubuntu 21.04
Terminal: Gnome-terminal

Additional details:
A test for this is already added to the Test_visual_block_mode() function in test_visual.vim.

Hi,
On Sun, May 30, 2021 at 9:50 AM Yegappan Lakshmanan <
@.***> wrote:

Describe the bug
When appending text in visual block mode, if the cursor is moved before the
start of the visual block, then incorrect text is inserted.
To Reproduce
Detailed steps to reproduce the behavior:

Run vim --clean
Add the following text to an empty buffer.
aaa
bbb
ccc
Execute the following commands:
gg$2jAx

As I didn't use the proper Github markdown, the special characters are not
shown here. The command to reproduce the bug is "gg$2jAx"
I have updated the issue in Github with the proper markdown now.

Yegappan

Expected behavior
The following lines are expected after the edit:
aaxa
bbxb
ccxc
But the following lines are present after the edit:
aaxa
bbba
ccca
The second and third lines are not correct.
Environment (please complete the following information):

Vim version 8.2.2911
OS: Ubuntu 21.04
Terminal: Gnome-terminal

Additional details:
A test for this is already added to the Test_visual_block_mode() function
in test_visual.vim.


Suppress caching for ErrorHandler

When using the ErrorHandler to re-execute a failed request and generate a page, that error page should not be cached. However, components like the static file middleware cache by default via e-tags.
Consider modifying the samples to manually add no-cache headers on the app-error path, or modify the middleware itself to set these no-cache headers. before re-executing the request.

For all the status code middleware it should clear out all the cache-related headers (including ETag) and set the one cache header to ensure no caching is done at all. Need to do this in Response.OnStarting to ensure that in the ReExecute case that something like the static file middleware won't re-overwrite the headers to enable caching.


fix: wrong scope for ts in bind:

fixes https://github.com/sveltejs/eslint-plugin-svelte/issues/484

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 90.724%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
2094

Relevant Lines:
2232

💛  - Coveralls


Integrate Environment Settings Manager exporter V1.6.0

Integrate Environment Settings Manager exporter V1.6.0. Update includes fix for settings export issue after copying and pasting data in the Excel spreadsheet and re-saving as XML.
This work item was migrated from CodePlex
CodePlex work item ID: '6959'
Assigned to: 'tfabraham'
Vote count: '0'

[UnknownUser@7/7/2010]
Resolved with changeset 48492.

[UnknownUser@2/21/2013]

[UnknownUser@5/16/2013]


Improved Code Readability

I haven't tested it yet, but you will know better. If not, I can update it again to update only the comment lines.

Hey @mikropsoft , tested here and seems fine, I will merge asap ty for your contribution!


Allow users to enable non-root auth in simulation

What problem does your feature solve?
Currently simulation by default disallows 'non-root' authorization in recording mode, i.e. disallows potentially 'frontrunnable' authorizations. This is a very sensible default setting as most of the time it's correct to make all the calls non-frontrunnable. That said, there is still a range of cases where non-root auth is intentional and thus we need to provide users with a way of enabling this.
What would you like to see?
There should be some request parameter that enables non-root auth. It's fine for this to be not easily discoverable or accessible as this is meant for the advanced users. But there needs to be at least some way of enabling this.
What alternatives are there?
Not providing the users with an option. This basically makes auth simulation unusable for a fraction of the users, which is not desirable.

This requires an env release as well. I'll work on this and assign this to myself for the time being. It would be great if someone else could help with the RPC interface part when the env change is released.


[BUG] Missing roof values for 2021

Is there an existing issue for this?

[X] I have searched the existing issues

Have you installed the latest development version of the package(s) in question?

[X] I have installed the latest development version of the package.

If this is a data issue, have you tried clearing your nflverse cache?
I have cleared my nflverse cache and the issue persists.
What version of the package do you have?
<IP_ADDRESS>
Describe the bug
PBP data is missing roof values for a significant number of 2021 games. This issue appears to only be limited to a subset of 2021 games, no other seasons appear to be affected.
Reprex
nflreadr::load_pbp(TRUE) |>
    dplyr::filter(is.na(roof)) |>
    dplyr::count(season) |>
    data.frame()
#>   season    n
#> 1   2021 4387

nflreadr::load_pbp(2021) |>
    dplyr::filter(is.na(roof)) |>
    dplyr::count(game_id) |>
    data.frame()
#>            game_id   n
#> 1  2021_01_JAX_HOU 206
#> 2  2021_01_PHI_ATL 191
#> 3  2021_01_SEA_IND 169
#> 4   2021_02_LA_IND 168
#> 5  2021_03_CAR_HOU 170
#> 6  2021_04_WAS_ATL 190
#> 7   2021_05_NE_HOU 169
#> 8  2021_06_HOU_IND 162
#> 9  2021_08_CAR_ATL 173
#> 10  2021_08_LA_HOU 178
#> 11 2021_08_TEN_IND 206
#> 12 2021_09_NYJ_IND 183
#> 13 2021_10_JAX_IND 182
#> 14  2021_11_NE_ATL 158
#> 15 2021_12_NYJ_HOU 168
#> 16  2021_12_TB_IND 184
#> 17 2021_13_IND_HOU 165
#> 18  2021_13_TB_ATL 186
#> 19 2021_14_SEA_HOU 191
#> 20  2021_15_NE_IND 164
#> 21 2021_16_DET_ATL 156
#> 22 2021_16_LAC_HOU 172
#> 23  2021_17_LV_IND 165
#> 24  2021_18_NO_ATL 162
#> 25 2021_18_TEN_HOU 169

Expected Behavior
The 2021 season should have complete roof values for these games.
nflverse_sitrep
blah

Screenshots
No response
Additional context
No response

This has been fixed:
nflreadr::load_pbp(TRUE) |>
    dplyr::filter(is.na(roof)) |>
    dplyr::count(season) |>
    data.frame()
#> [1] season n
#> <0 rows> (or 0-length row.names)


Fix invalid rst format when alt or target is present

Could you elaborate on the problem you're trying to solve with these proposed changes? If you have an example that reproduces the behavior that'd be great

@calebcartwright I've looked for a test and found none, but I guess I could at least post the output, indeed.
The badge generated for https://github.com/fschulze/sqlalchemy_schemadisplay/pull/31 was
.. image:: https://img.shields.io/pypi/v/sqlalchemy_schemadisplay   :alt: PyPI

And that is rendered as a missing image, because GitHub probably translates it to URL. The correct rST markup.
.. image:: https://img.shields.io/pypi/v/sqlalchemy_schemadisplay
   :alt: PyPI

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @abitrolly!

  Generated by :no_entry_sign: dangerJS against 8027c9768605fc7effef4eb3e56389e79624cc84

@calebcartwright This PR does fix a bug. See https://docutils.sourceforge.io/docs/ref/rst/directives.html#image for the correct RST syntax.
@abitrolly The tests for this are in https://github.com/badges/shields/blob/7d452472defa0e0bd71d6443393e522e8457f856/frontend/lib/generate-image-markup.spec.ts#L49-L63 and will need updating
I've closed and re-opened this to get the CI to run. We do have an issue where sometimes the Circle CI builds don't run for particular PRs - there is some info on this at https://github.com/badges/shields/issues/8109 I dunno if any of the info in https://github.com/badges/shields/issues/8109#issuecomment-1169152338 are actionable for you. If not, we'll have to do the same again.

The .spec.ts extension didn't trigger me that it is a file with tests. Looked like some alien typescript thing to me. Or maybe I was browsing my fork, which was too old to include this file.
Anyway, I think I've fixed tests.

Regarding unblocking CircleCI, I don't see this as acceptable for my repos.

Forgot \n at the ends :facepalm: but seems that wouldn't satisfy the linter anyways.
Thanks.


Better error when pushing to registry in read-only mode

When trying to push to registry v2.2.0 with engine 1.9.0-cs1 (and probably other combinations), when the registry is in read-only mode (particularly because of GC) you will get a
Error parsing HTTP response: invalid character 'M' looking for beginning of value: "Method not allowed\n"
Ideally we would strive for a better error, that will explain the reason that the method is not allowed (at least in the logs of the registry in the short term).
I'm not sure if this is fixed in 2.3.0+

Yep, that's not very nice.
There was some discussion on this in the original PR.  With the implementation as-is it's not possible to change the response body of a 405 (it's hardcoded in by the gorilla framework).
We can either make the engine smarter or add something to the application logic.  @dmcgowan thoughts?

The smallest stop-gap type solution I can think of is to have a very explicit log statement by the registry. Should be easy to do and will make it easy to figure out this is what happened under some inspection (whereas currently we figured out this was the reason we got this error)

Closing as wildly outdated.


Update repositories.txt

@ArduinoBot

@ArduinoBot

@ArduinoBot

@ArduinoBot

@ArduinoBot

@ArduinoBot

@ArduinoBot

@per1234
Help me, please. I initially had a problem with library.properties but that I solved. Now I don't understand what problem I have with the library name. PCF8574_LH seems unique. What should I do? PS: This is my first publication. Thank you

@ArduinoBot


Server Render Not Possible Due to Window

Please fix when possible and thank you for the awesome software:
ReferenceError: window is not defined
at ./node_modules/react-text-loop/lib/utils.js:9:3

Hi @khoerling, thanks for submitting your issue!
Can you give a more detailed example of how you're trying to use this? Is it in a NextJS app? Just trying to understand the use-case so we can fix that for everyone else!

This has been fixed by v2.0.1, can you please confirm @khoerling? Thanks!

That was quick, works flawlessly-- danke schöne.

I'm getting following warning:
Warning: Prop `className` did not match. Server: "x0 x3 x4 x7" Client: "x1 x4 x5 x6"

which is leading to improper alignment of the text. Any way to fix this?


Distribute this package via pypi and Debian/Ubuntu

Please distribute this package via pypi and Debian/Ubuntu. Contact me for packaging requiest for the latter.

Thanks for the offer.
Since we haven't released the package, this will require some effort to clean and do some old tasks. I think it is a good idea to plan a first release. I can do some work on old issues and prepare the release at least through PyPI. What do you think @FRidh?

Hi,
Thank you for your interest and your offer. It would definitely be possible to package it for pypi and/or Debian/Ubuntu. I actually released a test version once on pypi: https://pypi.python.org/pypi/acoustics/0.0
I think with the current state of the repository it won't be hard to create and release a package. However, as Felipe noted, it requires quite a lot of cleaning. In the past year or so I've basically been dumping in the things I use for my research and breaking other things as well.
The latter can be a big issue when dealing with releases; nobody likes it when their code stops working because some dependency broke their api. Could you tell me which parts of the package you are interested in and (would) use?

Iterating over all octaves and 1/3 octaves in terms of centre, lower and upper frequencies.

I've released version 0.1, and the following should work pip install acoustics although I haven't tested it.

`# apt-get install cython3
# pip3 install acoustics
Collecting acoustics
  Using cached acoustics-0.1.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-ud6_nho2/acoustics/setup.py", line 56, in <module>
        ext_modules=cythonize('acoustics/*.pyx'),
      File "/usr/lib/python3/dist-packages/Cython/Build/Dependencies.py", line 758, in cythonize
        aliases=aliases)
      File "/usr/lib/python3/dist-packages/Cython/Build/Dependencies.py", line 651, in create_extension_list
        for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern):
      File "/usr/lib/python3/dist-packages/Cython/Build/Dependencies.py", line 103, in nonempty
        raise ValueError(error_msg)
    ValueError: 'acoustics/*.pyx' doesn't match any files

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ud6_nho2/acoustics/
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

could you try again?

(I can't be entirely sure testing this in virtualenv due to how my OS works)

0.1.2 is working on Debian.


prepare files for update

@michael-tims please merge only when we are ready to do so

Looks good.

Closing, as this is no longer needed.


Opening IsoFile throws OutOfMemory Exception on Android

Hello everyone. I was using this library for a project at work. I noticed that issue #284 was closed, but I wanted to submit another issue that's similar in nature.
The project is in Kotlin, but I can convert to Java if it helps with readability of this ticket.
Device: Google Pixel 2 XL Android Q Beta 2
On IsoParser version 1.9.38
I'm trying to open an IsoFile via like this: val isoFile = IsoFile(Channels.newChannel(ByteArrayInputStream(base64DecodedString)
The resulting StackTrace error is the following:
java.lang.OutOfMemoryError: Failed to allocate a<PHONE_NUMBER> byte allocation with 7167453 free bytes and 505MB until OOM, target footprint 14334909, growth limit 536870912         at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:54)         at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:49)         at java.nio.ByteBuffer.allocate(ByteBuffer.java:282)         at org.mp4parser.support.AbstractBox.parse(AbstractBox.java:96)         at org.mp4parser.AbstractBoxParser.parseBox(AbstractBoxParser.java:115)         at org.mp4parser.BasicContainer.initContainer(BasicContainer.java:107)         at org.mp4parser.IsoFile.<init>(IsoFile.java:57)         at org.mp4parser.IsoFile.<init>(IsoFile.java:52)         at com.realeyes.adinsertion.exoplayer.PsshParser$Companion.getWidevinePSSH(PsshParser.kt:69)         at com.realeyes.adinsertion.components.ads.live.VodPlaylistAdStitcher.checkForDrmKey(VodPlaylistAdStitcher.java:250)         at com.realeyes.adinsertion.components.ads.live.VodPlaylistAdStitcher.parseWithVmapPrerolls(VodPlaylistAdStitcher.java:205)         at com.realeyes.adinsertion.components.ads.live.VodPlaylistAdStitcher.getPlaylist(VodPlaylistAdStitcher.java:103)         at com.realeyes.adinsertion.components.ads.StitchingAdManager.parse(StitchingAdManager.java:68)         at com.realeyes.adinsertion.components.ads.StitchingAdManager.parse(StitchingAdManager.java:24)         at com.google.android.reexoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:158)         at com.google.android.reexoplayer2.upstream.Loader$LoadTask.run(Loader.java:389)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)         at java.lang.Thread.run(Thread.java:919)
Would greatly appreciate any advice on the following. I can't seem to determine if it's a truly known bug or not, or if it's something I'm messing up. Let me know if I can give any more information on the issue I'm experiencing.

I have have this issue as well, so does many other people. This question has been asked many times. Have a look at all the questions about this - #139 #151 #284 #299
Apparently it was fixed in  #288 , but I still get this error.
I'm not if this will ever be fixed. It's been 4 years since this issue has been reported.
I'm currently looking at other alternatives.
If you every get this error to go away, please let everyone know.

Maybe I will try tracking down this issue and seeing if I can come up with anything.

@thenotoriousrog a new release is available:
implementation 'org.mp4parser:isoparser:1.9.39'
implementation 'org.mp4parser:muxer:1.9.39'

Can you please test and confirm if you still get the OutOfMemoryError ?

@HBiSoft I'm currently instructed at work to not only test but also try to debug this issue and find a resolution as it's a blocker for our Sprint. I'll get back to you after updating!

@thenotoriousrog the issue is that it creates a huge buffer inside AbstractBox line 96.
Smaller buffer = less memory = more time needed to read..
You can have a look at the changes made in this pull request - #205

@HBiSoft thanks! So I tried out the newest version, but the problem still persists unfortunately. I'll take a look at the PR. So if the problem was addressed in this PR. Do you think the problem could be elsewhere? Do you recommend that I take a look at this AbstractBox class first or somewhere else?

Also would anyone happen to know, how to properly get this repo cloned and running? Seems to be a maven based project, so perhaps my maven setup is incorrect.

@HBiSoft So after careful tracking and debugging. It turns out that the base64 string I was passing into the IsoFile was not actually a Pssh box. It was some random base64 encrypted data that I assumed was a pssh box. This obviously freaked out the library and my guess is because it's not a pssh box, it doesn't know how big this data is and allocates memory indefinitely. Perhaps that's the root cause of all the related issues that I was happening. Perhaps not. But I will close my issue due to this sudden realization!
Thanks for trying to help me resolve it!

@thenotoriousrog Thanks for letting me know. So what did you do to resolve the issue?

@HBiSoft My boss saw the base64 string I was passing in and noticed that it didn't look right. We base64 decoded it and we saw that it was just a json response string that was base64 encrypted. When we passed in an actual base64 decrypted pssh box, we saw that the outofmemory exception no longer showed itself.
Not sure how helpful that is other then finding a bug, but it's good to know something is deeply broken. At least with this use case.

@thenotoriousrog it would be great if you could provide more info on how exactly you resolved this,  perhaps fixing it in the library by creating a pull request to help everyone that is experiencing this.

@HBiSoft my apologies. I wasn't able to write any code that fixed this. Literally the issue I was experiencing was due to me passing the IsoFile library an incorrect value and the library choked up. I don't have a resolution for the outofmemory issue I'm sorry :(

@thenotoriousrog I have created a new issue, I've added a project file and video to reproduce the issue, if you want to have a look.


Performance regression in indexer 2.15.1 for transactions endpoint

Subject of the issue
With 2.15.1 and newer, there appear to be latencies in requesting e.g. /v2/transactions?min-round=$min_round&max-round=$max_round. Whereas before this was very quick, in later versions on TestNet at least, these may take several seconds to return.
This might be related to the following:
https://github.com/algorand/indexer/commit/c7b3b78c2ab6ff8a0a0d0216b35a90e2b1bbdd20
Your environment

Software version: algod v3.13.3-stable
Operating System details: Ubuntu 20.04, i4i.8xlarge instance, local NVMe, local postgresql 13
Network: testnet

Steps to reproduce

Caught up testnet indexer and algod
Execute a series of queries for transactions, one round at a time.

Here is an example bash script:
#!/bin/bash

INDEXER_API='localhost:8980'
INDEXER_TOKEN='YOUR_INDEXER_TOKEN'

function get_round {
    curl -s $INDEXER_API/health | jq .round
    return
}

function get_transactions_for_round_range {
    min_round=$1
    max_round=$2
    curl -s -H "X-Indexer-API-Token: $INDEXER_TOKEN" "$INDEXER_API/v2/transactions?min-round=$min_round&max-round=$max_round" > /dev/null 2>/dev/null
    return
}

function main {
    round=$(get_round)
    let start_round=$(( $round - 10000 ))
    while [ $start_round -lt $round ]; do
        echo -n "$start_round   "
        time get_transactions_for_round_range $start_round $start_round
        let start_round=$(( $start_round + 1 ))
    done
}

main

Expected behaviour
Fast responses
Actual behaviour
Responses can take around 8s.

I'm unsure if this is the same issue or not, but I've recently found that there is an intermittent, but consistently occurring and significant performance issue with indexer when running the automated tests for https://github.com/algorandfoundation/algokit-subscriber-ts.
There are some tests in that library that use the following function in a series of tests (e.g. filters.spec.ts and events.spec.ts): https://github.com/algorandfoundation/algokit-subscriber-ts/blob/main/tests/filterFixture.ts#L29. Namely the call to waitForIndexerTransaction.
This method is defined in algokit-utils here: https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/fixtures/algorand-fixture.ts#L113 and consists of these two underlying methods: https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/testing/indexer.ts#L12 and https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/indexer-lookup.ts#L20.
The behaviour I'm seeing is that intermittently, but consistently (multiple times every test run) indexer will wait for about 17s (almost exactly) until the transaction that's being waited for appears. The rest of the time it will happily appear sub-second. This makes me think there some sort of deadlock or delay somewhere.
I've looked at logs in algod, conduit, indexer and postgres and attached a profiler of sorts of postgres, but haven't seen anything conclusive yet.
Two things I have found:

The problem seems a lot worse with recent versions of algod/indexer/conduit
The problem was even worse still when I used this code instead: https://github.com/algorandfoundation/algokit-subscriber-ts/commit/0ec773573f192c3a2b375445c889a51252350690

@robdmoore
To confirm this is an issue with follower getting stuck on random relays please try setting this in conduit for a source of blocks:
netaddr: "http://mainnet-api.algonode.cloud"
or for testnet:
netaddr: "http://testnet-api.algonode.cloud"
This switches to a cloud based "instant" follower that is synced to any round you need and does not suffer from intermittent pauses.
If the 17sec gaps disappear then we need to start digging into the follower issue.

To be clear: I'm running these tests on AlgoKit LocalNet aka with dev mode algod (hence the 17s is really noticeable vs the sub-second near-instant commit and index times).
I could try and run the tests against testnet, but it wouldn't be quite the same test given how different dev mode is. If I get a chance though I'll give it a crack and see what happens.

So I'm following, we think this is a de mode specific issues on an indexer 3.x install?

I assume so if there are no performance issues seen in normal indexer. Noting it's not necessarily indexer itself, but could be conduit it's unclear which is the cause of the 17s delay in indexing.
It's easily reproduceable with the above-linked test suite.

Closing this in favor of #1613 - the original issue in the description no longer exists (indexer 2.x has been retired and the described behavior has not been observed on mainnet/testnet in 3.x outside of dev mode).


feat(modules support): add node.js modules support to  cli

This PR adds support for using designs defined as node.js modules (ie with require() & module.exports etc) as inputs to the command line

it also cleans up & add some common code in the core package
very minor naming tweak in the web package

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

I just remembered something... UPPER CASE file extensions don’t work. For example, myfile.STL There are some programs out there that do this still.

which file is that ? (in uppercase ?)
feel free to copy & paste to the wiki of course :) but I like clear and self contained READMEs with all needed information
if you mean the whole part about node modules: that will need to be fleshed out & expanded uppon, and put into the main README & wiki for sure (once I add the 'fake' require() to the web variant in particular, since then we will have 100% useability )


Fix flaky negative_sampling

Fixes https://github.com/chainer/chainer/issues/7958.
Relaxes rtol for float16 backward tests. Verified locally for 50k repetitions to all pass.
Also includes some cosmetics for readability.
rtol for double backward should probably be relaxed too but I'm leaving that to after flaky failures have been observed since this one is rare already.

Jenkins, test this please

Jenkins CI test (for commit 940bf362e97bd0d4e95727e0ddd25dceb1965322, target branch master) failed with status FAILURE.

Jenkins,  test this please

Jenkins CI test (for commit 940bf362e97bd0d4e95727e0ddd25dceb1965322, target branch master) succeeded!


Manually installed Xcode causes iOS Simulator to fail

If you have a manually installed Xcode (instead of via Mac App Store), the line at https://github.com/AppGyver/steroids/blob/master/src/steroids/Simulator.coffee#L19-L30 won't find it, causing the Simulator launch to fail.

Thanks for sharing! We'll fix it

I've just encountered this issue too. I downloaded Xcode from Apple Developer Downloads. This manual installation of Xcode can't be detected by pkgutil --pkgs=com.apple.pkg.Xcode.*, so Simulator.xCodeInstalled() fails.
Instead of using pkgutil to detect Xcode, would it be possible to detect whether the Xcode command-line tools are installed? Tools such as:

xcodebuild
xcrun
xcode-select

Maybe something similar to this:
xCodeInstalled: ->
  new Promise (resolve, reject) ->
    xcodeSession = sbawn
      cmd: "which"
      args: ["xcodebuild"]
      exitOnError: false

    xcodeSession.on "exit", ->
      if xcodeSession.stdout.match '/usr/bin/xcodebuild'
        resolve()
      else
        reject new NotInstalled "XCode not installed."

This code doesn't quite work, but the idea is: if which xcodebuild outputs /usr/bin/xcodebuild, then Xcode is installed.

Interesting solution – not sure why the stdout is not matched correctly. Seems like the Promise resolves and THEN the stdout is printed, so I guess the exit event fires too soon for which (you can see this if you add stdout: true to the sbawn options). I'll put this on the backlog, and in the meantime, PRs are welcome!


Remove use of temp table for Snowflake incremental merge

resolves #92
CT-185 Remove use of temporary table for merge incremental strategy in Snowflake

Description
This is a bit work-in-progress, but wanted to put something in place to start discussion around what the right resolution would look like. Apologies for whitespace changes...my editor apparently likes to clear out whitespace on empty lines.
Checklist

[X] I have signed the CLA
[X] I have run this code in development and it appears to resolve the stated issue
[] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have updated the CHANGELOG.md and added information about my change to the "dbt-snowflake next" section.

I've just tested this out on a model which uses the delete+insert strategy without a unique key set (so it actually only inserts) and it cut down the run time from 106s to 66s. I've made a couple of suggested changes which allow for a view to be made in a delete+insert strategy provided that there are no unique_keys.

I've just tested this out on a model which uses the delete+insert strategy without a unique key set (so it actually only inserts) and it cut down the run time from 106s to 66s. I've made a couple of suggested changes which allow for a view to be made in a delete+insert strategy provided that there are no unique_keys. Great work


load stream

Is it possible, and how to send video/audio from a device connected to the laptop?

I'm afread there's no readily available solution; I think you have two options that will both require development:

create an endpoint on your own laptop that will serve the stream as a video file (https://github.com/xat/castnow uses this approach)
find out how the screen mirroring protocol works (some hints at https://github.com/thibauts/node-castv2-client/issues/14) and use that

Yep. Also I'm not planning to add anything on this project to enable this kind of solution.


[Feature] Add installer for dba-multitool

Summary of new feature
Hi 👋 all! I have a suite of utilities under the name dba-multitool (formerly Express SQL). To be brief, they are:

... a suite of scripts for the long haul: optimizing storage, on-the-fly documentation, general administrative needs, and more. Each script relies solely on T-SQL to ensure it is secure, requires no third-party software, and can be installed in seconds.

As far as I know, no other projects cover the functional areas that my scripts do, so I think they would be a good value add to DbaTools.
I've been working on these for over 2 years and don't have any plans to stop maintaining them.
Proposed technical details (if applicable)
Mimic Install-DbaFirstResponderKit and the like to install them from the source repository. I have a single installer script that handles them all.
They don't (generally) support versions < 2012, so a version check would be the only deviation from the existing installer patterns.
Latest version of dbatools as of writing
1.0.5 - Conroy

I am happy to make the appropriate PR if this request is approved 👍

The ability for our module to help in managing 1+n servers across an enterprise, and the databases associated it seems these scripts would serve a good purpose in being commands that allow a user to run the code across their enterprise. Having some wrapper script that called each procedure and handled parameters would allow users more access to your tooling.
I'm not sure if your procedure output could be turned into PowerShell objects for users to see, as it would have to conform to our standard output object. Your docs do not include any sample output that I could find to verify. I do like the lint testing you do with your scripts though, that's a nice touch.
Overall we do not have any strict guidelines (in writing) at this time on community tools being added for "install". So you are more than welcome to submit a PR for review of the installation command. The problem I see though is naming it since you have dba in the name of your "product" having Install-DbaDbaMultitool looks odd to me. If you are okay with just using Install-DbaMultitool I think that will work?

I'm not sure if your procedure output could be turned into PowerShell objects for users to see, as it would have to conform to our standard output object. Your docs do not include any sample output that I could find to verify.

I've added output to the documentation pages. In the cases of sp_helpme and sp_estindex there are multiple (3+) result sets, so it might be a challenge to get those to fit in with the dbatools object styles in an exec wrapper.
sp_doc would be relatively easy, I think, since it just returns a single row & column with all the markdown content. sp_sizeoptimiser has a single result set also, so would be straightforward to wrap.
I'm curious of people's thoughts on:

a first PR containing just the installer function versus one that also includes dedicated execution functions
any concerns/comments about only being able to have 2 of 4 stored procedures having a corresponding execute function

The problem I see though is naming it since you have dba in the name of your "product" having Install-DbaDbaMultitool looks odd to me. If you are okay with just using Install-DbaMultitool I think that will work?

That works for me, if it does for ya'll. 👍

Just starting with an installer command is fine. We can see from there if anyone submits a request to have commands for the commands created.


Where is numeric code???

I can see from home app on iOS, but i don t know where numeric code is...I ve been looking on terminal but is not there. Any help please?

The numeric code is the same of Homekit Code. When you starting homebridge, after plugin loaded you can see the HK code. You must use it.


Release workflow failing due to permission-related issue

The following error message appears while creating a new release:
remote: Permission to devonfw/IDEasy.git denied to hohwille.
fatal: unable to access 'https://github.com/devonfw/IDEasy/': The requested URL returned error: 403
Error: Process completed with exit code 128.
It seems to be a permission related issue.

So here is where the workflow fails:
https://github.com/devonfw/IDEasy/blob/f49f74a1bf9066537f29b73b683d4d4e81727db0/.github/workflows/release.yml#L99
Seems to be a similar issue as we had with out UrlUpdater action that was broken after some token expired.

https://github.com/devonfw/IDEasy/actions/runs/8388379203/job/22972657620

I created a new access token that also has write permissions to IDEasy repo and still also to ide and ide-urls and replaced it in the secrets as Action_Push_Token. Fingers crossed that now all actions work without permission denied errors.

Horray, worked. Release is out with green workflow and tags and release arrived on github:
https://github.com/devonfw/IDEasy/releases/tag/release%2F2024.04.001-alpha


[BEAM-7390] Add code snippet for Mean

Adding the code snippets for Mean.
R: @pabloem

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.


JwtRule supports allow_missing_or_failed

issue #43982
https://github.com/istio/api/pull/2733

@wulianglongrd: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
8f925ca41358b2f164c646c84bca5e78ce3e1e8c
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Update package.json to include the repository key

With the rise in supply chain attacks and OSS dependencies being used as a attack vector, Microsoft is working with our ecosystem partners, such as the Linux Foundation's OpenSSF, to enable OSS consumers to track packages back to their public sources.
We've identified that the following packages published to NPM do not report where sources can be found, typically accomplished by including a link to your GitHub repository in your package.json REPOSITORY field. This PR was created to add this value, ensuring future releases will include this provenance information.
Published NPM packages with repository information:

t

Is there anything that is needed to land this pull request ?


about MSR

Do I need preprocessing when running the MSR dataset, or do I directly access his depth file? If preprocessing is required, can you provide preprocessing code

我解决了这个问题，参考meter的msr读取就行


[Feature Request] Support Ads for Desktop platforms (Windows, Linux, Mac)

Thanks Flutter team to develop of Google Ads.
Now we have stable windows desktop and developer growth with windows platform.I have requested to develop of windows ads also most of developer can earning with windows desktop ads and also other platforms

Hi @bhargavraviya,  Thanks for filing the issue. Labeling this issue as a valid feature request.

I'm developing a cross platform app and I'm supporting them all but there is a big issue and frankly vacuum in the ad space. There is literally no options for monetisation via ads on the flutter desktop platform.
Please add support for Linux, MacOS and Windows platform so flutter developers and companies could monetise their apps via ads.

We’re closing this issue due to inactivity. If you’re still impacted, please create a new issue via the Developer Forum.

Re-opening this issue as there has been a similar request recently.

This feature request can be reconsidered with a different angle, since Flutter now supports game development with Flutter Flame and soon there will be Rive GameKit, ads support becomes essential, that's literally one of the most-used monetization methods in Gaming, especially 2D ones.

Closing this issue as this is something we do not plan to implement for the foreseeable flutter. The google mobile ads plugin works within the bounds of the AdMob SDK and the SDK itself does not have not web support. (Android/iOS)

Closing this issue as this is something we do not plan to implement for the foreseeable flutter. The google mobile ads plugin works within the bounds of the AdMob SDK and the SDK itself does not have not web support. (Android/iOS)

Why would it need web support for a native desktop platform? I don't think this issue was related to the problem you mentioned.

Closing this issue as this is something we do not plan to implement for the foreseeable flutter. The google mobile ads plugin works within the bounds of the AdMob SDK and the SDK itself does not have not web support. (Android/iOS)

Why would it need web support for a native desktop platform? I don't think this issue was related to the problem you mentioned.

Agreed

I understand this is a signifcant development effort and out of scope for this package. Like others mentioned, having the possibility to ship ads for all target platforms would be huge,
I am trying to sell Flutter as a framework to a customer of ours for their apps - and having beautiful, performant desktop versions of them is a really strong argument.
Unfortunately, without ads or monetization, it's currently not feasible for many companies to ship desktop versions of their products.
Can you point us to a place or channel where we can voice this need to google, so resources can be allocated to develop this feature?

I understand this is a signifcant development effort and out of scope for this package. Like others mentioned, having the possibility to ship ads for all target platforms would be huge, I am trying to sell Flutter as a framework to a customer of ours for their apps - and having beautiful, performant desktop versions of them is a really strong argument.
Unfortunately, without ads or monetization, it's currently not feasible for many companies to ship desktop versions of their products.
Can you point us to a place or channel where we can voice this need to google, so resources can be allocated to develop this feature?

I think they'll point you here: https://groups.google.com/forum/#!categories/google-admob-ads-sdk


How can i change compliments?

Hi, i've switching from standalone pi to a docker mirror. It is running now, but i had a custom compliments file. I included that to my custom folder of modules as i did that with the standalone MM. But how will this affect any updating? In the past i had to change the compliments.js to the original version to update my mirror via git.

If I'm correct you can include the compliments either in the config.js file or in a external file. If you include the compliments directly into the config.js or the external file is in the config or modules folder, they won't get overridden on an update. It's important, that you add these as volumes!

Ok thanks a lot. Would this be the same dir changes in a CSS file for the Mirror? As suggested by the rtspstream Module maintainer i need a CSS change:
~/MagicMirror/css/custom.css file.
.MMM-RTSPStream .innerWrapper {
margin: 0px;
}

Oh ok, that's something I didn't consider. It was new to me, that you could write your own custom css in css/custom.css. Theoretically it should work if you mount the css/custom.css file using volumes:
--volume ~/your/path/custom.css:/opt/magic_mirror/css/custom.css

@dersch81 I updated the README to reflect this use case. I tested it yesterday and it worked as expected. 👍It's important, that you create your custom.css file before you mount/run the container. I hope this helps you. If you have any further questions, please feel free to reopen this issue.

Thanks a lot! I'm actually playing around with it.

I need to add the main.css as well to the volume, right? I couldn't get the mirror working correctly without this.
If I change the custom.css file i need to stop/start the container or do I need to create it again? (docker stop/rm/run)

My change of the custom.css doesn't change anything acutally.
`/*****************************************************

Magic Mirror                                      *
Custom CSS                                        *

                                              *

By Michael Teeuw http://michaelteeuw.nl           *
MIT Licensed.                                     *

                                              *

Add any custom CSS below.                         *
Changes to this files will be ignored by GIT. *
*****************************************************/

body {
.MMM-RTSPStream .innerWrapper {
margin: 0px;
}
}

If you mount the /css folder you need to copy the main.css and custom.css file manually into it, correct. If you just mount the custom.css file instead of the whole folder, you don't need to do anything with the main.css file.
Your css changes aren't working, because the are not correct. In normal CSS you can not nest rules. This only works in SASS for example. It should be:
/*****************************************************
 * Magic Mirror                                      *
 * Custom CSS                                        *
 *                                                   *
 * By Michael Teeuw http://michaelteeuw.nl           *
 * MIT Licensed.                                     *
 *                                                   *
 * Add any custom CSS below.                         *
 * Changes to this files will be ignored by GIT. *
 *****************************************************/

body {
  /* only things you want to change on the 'body' element (eg: background: red;) */
}

.MMM-RTSPStream .innerWrapper {
  margin: 0px;
}


New Building Scripts for OpenSSL FIPS Object Module for iOS >= 7

Hello x2on and team.
Thank you very much for your building script for compiling OpenSSL for iOS >= 7 Devices on Mac OS X El Capitan (Darwin Kernel Version 15.0.0) for iOS >=7 device.
I have built a general OpenSSL module successfully using build-libssl.sh. The built OpenSSL library works well for iOS 9 device.
However, I failed to build OpenSSL FIPS module for iOS >=7 using three different approaches.
(1) I failed to build OpenSSL FIPS module after adding FIPS option to build-libssl.sh.
(Method A) failed
Line 27
CONFIG_OPTIONS=""
with FIPS option
CONFIG_OPTIONS="fips"
(Method B) also failed
Line 165
./Configure no-asm darwin64-x86_64-cc --openssldir="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk" ${LOCAL_CONFIG_OPTIONS}
with FIPS option
./Configure no-asm darwin64-x86_64-cc fips --openssldir="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk" ${LOCAL_CONFIG_OPTIONS}
Similar changes are also applied to Lines 167, 171, 173
https://github.com/x2on/OpenSSL-for-iPhone/blob/master/build-libssl.sh
(Method C) also failed
Line 24
VERSION="1.0.2f"
is modified to the source code of OpenSSL FIPS Object Module
VERSION="fips-2.0.11"
(2) I failed to build OpenSSL FIPS module for iOS >= 7 using the old version of building script provided by the OpenSSL website.
http://openssl.com/fips/2.0/platforms/ios/
https://mta.openssl.org/pipermail/openssl-users/2016-February/002940.html
(3) I failed to build OpenSSL FIPS module for iOS >= 7 on using the new version of building script provided by the OpenSSL website.
http://openssl.com/testing/validation-2.0/platforms/ios-7.1/
https://mta.openssl.org/pipermail/openssl-users/2016-February/002955.html
I have used Beyond Compare 4 to check the difference between openssl-1.0.2f/config (or Configure) and openssl-fips-2.0.11/config (or Configure). I do NOT know how to modify the setenv-ios-11.sh to build OpenSSL FIPS module for iOS >=8 under the new Mac OS available from Apple website.
The source code for OpenSSL FIPS Object Module is
https://www.openssl.org/source/openssl-fips-2.0.11.tar.gz
The source code for general OpenSSL Object Module (used by https://github.com/x2on/OpenSSL-for-iPhone/blob/master/build-libssl.sh) is
https://www.openssl.org/source/openssl-1.0.2f.tar.gz
Could you please also develop the building scripts for compiling OpenSSL FIPS Object Module on  for iOS >= 7 device based on the following the old version script?  Thank you very much.
http://openssl.com/testing/validation-2.0/platforms/ios-7.1/setenv-ios-11.sh
Or
Would you please shed some light on how to modify the above building script setenv-ios-11.sh on Mac OS X El Capitan (Darwin Kernel Version 15.0.0) for iOS >=8 device? Thank you very much.
With best regards,
Winston Hong

Sorry there are no plans for supporting the FIPS module from my side.


Relative directory path

Hello,
Thank you for the useful program.
I've encountered 2 major issues on the :

It does not seem possible to use relative directories, in GUI and command line.
After command line execution, the program always waits for ENTER to close, which is bad for  automation an use in scripts.

Will be great if you can fix these issues.
Thanks

Hello @nminkov ,
This issue will be closed since it has been resolved.
Feel free to reopen it if you feel otherwise.
Best Regards,
Jonathan


Secured Peer Communication not working for domain name only certificate

Hi all,
I having problems in provisioning an etcd cluster:
ETCD Version: 3.2.7
Configuration:
ETCD_INITIAL_CLUSTER="etcd-server-0=https://etcd-server-0.example.de:2380,etcd-server-1=https://etcd-server-1.example.de:2380"
ETCD_NAME="etcd-server-0"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-1"

ETCD_ADVERTISE_CLIENT_URLS="https://etcd-server-0.example.de:2379"
ETCD_ADVERTISE_PEER_URLS="https://etcd-server-0.example.de:2380"

ETCD_LISTEN_CLIENT_URLS="https://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379"
ETCD_CLIENT_CERT_AUTH="true"
ETCD_CERT_FILE="/etc/etcd/server.pem"
ETCD_KEY_FILE="/etc/etcd/server-key.pem"
ETCD_TRUSTED_CA_FILE="/etc/etcd/ca.pem"

ETCD_LISTEN_PEER_URLS="https://<IP_ADDRESS>:2380"
ETCD_PEER_CLIENT_CERT_AUTH=true
ETCD_PEER_CERT_FILE="/etc/etcd/peer.pem"
ETCD_PEER_KEY_FILE="/etc/etcd/peer-key.pem"
ETCD_PEER_TRUSTED_CA_FILE="/etc/etcd/ca.pem"

The peer certificate is generated via cfssl with following configuration:
{
    "CN": "etcd peer",
    "hosts": [
        "*.example.de"
    ],
    "key": {
        "algo": "ecdsa",
        "size": 256
    },
    "names": [
        {
            "C": "DE",
            "L": "NW",
            "ST": "Wesel"
        }
    ]
}

Starting the etcd cluster leads to following exception:
ep 24 09:49:54 etcd-server-0 etcd[10669]: rejected connection from "<IP_ADDRESS>:49676" (tls: "<IP_ADDRESS>" does not match any of DNSNames ["*.example.de"] (lookup <IP_ADDRESS>.in-addr.arpa. on <IP_ADDRESS>:53: no such host))

If I add the IP Address to the certificate it seems to work. But I'm trying to do it so dynamic that only *.example.de is in the IP area. Do you have any idea how to solve it?
Best regards,
Björn

Can you share the output of command dig -x <IP_ADDRESS>?

<IP_ADDRESS>.in-addr.arpa does not match *.example.de, so etcd is working as expected with DNS misconfiguration.

Hrm this is interesting, dns is configured by DigitalOcean...

Please reopen if it still doesn't work after fixing the DNS.


Let's move Corcel up!!!

Hi guys!
First thank you for all contributions Corcel had last months :D
I'd like to propose the creation of a Slack channel. What do you think? We can add contributions (and followers) and get discussions about new improvements and features, what they want, etc.
What do you think about it? It'll be nice to add more administrators too, merging pull request, checking code, etc.
Cheers :-)
CC: @yoramdelangen @jeffersonsouza @thiagof @ashwin-sureshkumar @kriskbx @bruno-barros @rundef

Count me in!

There is a roadmap?
Not sure how the package can grow.. The use case sounds simple.

Thanks @kriskbx!
Hi @thiagof! There's a good opportunity to create the roadmap :D

This will be great! I want to return to contribute in open source projects!
Count me in!

Is there a slack channel already :O?

Hi @josec89 I'm gonna add you in Slack channel. But it's not active yet, but you can help us ;-)

@jgrossi how can I help with that? Let me know :)

You are already helping us @josec89 hehe. I think the next move to corcel is to integrate front end features (rewriting the code, of course), to work with database collected data.
Another point is to convert the PHPUnit tests using Sqlite and not MySQL, but I'm already working in this feature.
I think would be nice to improve the README file to include all new features you've developed to Corcel. I think with this finished and all tests ok we change dev-master to our first release :-)


Throwable in signature for partial application of CheckedFunctions

I do not really understand why the signature of methods for partial application of CheckedFunctions expects a Throwable, e.g.:
default CheckedFunction1<T2, R> apply(T1 t1) throws Throwable {
    return (T2 t2) -> apply(t1, t2);
}

Partial application of checked functions become very unhandy under this circumstances and from my point of view it's unncessary to expect a Throwable at this point. But I think you see a sense behind this signature :-) so I would like to know the reason your design decision ;-)

You are right! Partial apply should not throw. I will change that. It was an oversight.


app freeze report

Not sure if this stack trace will help, but I experienced a freeze on GrapheneOS
type: ANR
osVersion: google/raven/raven:13/TQ1A.230205.002/2023021000:user/release-keys
package: com.vitorpamplona.amethyst:43
process: com.vitorpamplona.amethyst

activity: com.vitorpamplona.amethyst/.ui.MainActivity
cause: ANR Input dispatching timed out (f8e8402 com.vitorpamplona.amethyst/com.vitorpamplona.amethyst.ui.MainActivity (server) is not responding. Waited 5004ms for MotionEvent)
info: ANR in com.vitorpamplona.amethyst (com.vitorpamplona.amethyst/.ui.MainActivity)
PID: 30797
Reason: Input dispatching timed out (f8e8402 com.vitorpamplona.amethyst/com.vitorpamplona.amethyst.ui.MainActivity (server) is not responding. Waited 5004ms for MotionEvent)
Parent: com.vitorpamplona.amethyst/.ui.MainActivity
ErrorId: b5509544-3b64-4a6c-a7e8-090c84d446f1
Frozen: false
Load: 3.75 / 3.23 / 3.01
----- Output from /proc/pressure/memory -----
some avg10=0.00 avg60=0.00 avg300=0.00 total=17977567
full avg10=0.00 avg60=0.00 avg300=0.00 total=6700038
----- End output from /proc/pressure/memory -----

CPU usage from 0ms to 18361ms later (2023-02-13 10:46:56.945 to 2023-02-13 10:47:15.306):
  158% 13161/org.telegram.messenger: 65% user + 93% kernel / faults: 164072 minor 137 major
  105% 30797/com.vitorpamplona.amethyst: 87% user + 18% kernel / faults: 1460836 minor 537 major
  12% 1512/system_server: 7.3% user + 5.2% kernel / faults: 45269 minor 433 major
  9.5% 28701/com.Slack: 6.9% user + 2.6% kernel / faults: 19963 minor 465 major
  7.5% 29459/com.google.android.inputmethod.latin: 5.1% user + 2.3% kernel / faults: 18781 minor 160 major
  6.5% 1976/com.android.systemui: 4.4% user + 2.1% kernel / faults: 36282 minor 199 major
  0% 1156/media.swcodec: 0% user + 0% kernel / faults: 6565 minor 28 major
  1.1% 521/sugov:0: 0% user + 1.1% kernel
  0.3% 3542/com.android.nfc: 0.2% user + 0.1% kernel / faults: 3451 minor 1447 major
  0.7% 555/surfaceflinger: 0.1% user + 0.6% kernel / faults: 2046 minor 5 major
  0.7% 29991/com.twitter.android: 0.3% user + 0.3% kernel / faults: 165 minor 9 major
  0.2% 2161/com.shannon.qualifiednetworksservice: 0% user + 0.1% kernel / faults: 2226 minor 1420 major
  0.6% 20209/.ShannonImsService: 0.3% user + 0.3% kernel / faults: 1856 minor 1233 major
  0% 1098/media.extractor: 0% user + 0% kernel / faults: 3390 minor 35 major
  0.5% 2329/com.shannon.imsservice: 0.2% user + 0.3% kernel / faults: 2197 minor 1297 major
  0.5% 2377/com.android.phone: 0.2% user + 0.2% kernel / faults: 2010 minor 817 major
  0% 2241/com.google.pixel.digitalkey.timesync: 0% user + 0% kernel / faults: 2010 minor 2231 major
  0.4% 2311/com.shannon.rcsservice: 0.2% user + 0.2% kernel / faults: 1978 minor 1800 major
  0% 2347/com.samsung.slsi.telephony.oemril: 0% user + 0% kernel / faults: 2057 minor 2320 major
  0.4% 12/rcu_preempt: 0% user + 0.4% kernel
  0.4% 84/kcompactd0: 0% user + 0.4% kernel
  0.4% 147/thermal_BIG: 0% user + 0.4% kernel
  0.4% 1069/irq/450-sec_ts: 0% user + 0.4% kernel
  0.4% 2191/com.android.networkstack.process: 0.1% user + 0.2% kernel / faults: 1844 minor 1045 major
  0% 2225/com.samsung.slsi.telephony.oem.oemrilhookservice: 0% user + 0% kernel / faults: 1892 minor 2239 major
  0% 2272/[com.android.se](http://com.android.se/): 0% user + 0% kernel / faults: 1941 minor 1992 major
  0.3% 523/sugov:6: 0% user + 0.3% kernel
  0.3% 827/twoshay: 0.3% user + 0% kernel
  0.3% 1011/dhd_rpm_state_t: 0% user + 0.3% kernel
  0% 1347/kworker/u16:2-events_unbound: 0% user + 0% kernel
  0% 3522/com.qorvo.uwb.vendorservice: 0% user + 0% kernel / faults: 1886 minor 2256 major
  0.2% 49/rcuog/4: 0% user + 0.2% kernel
  0% 1120/media.codec: 0% user + 0% kernel / faults: 1319 minor 88 major
  0.2% 151/thermal_MID: 0% user + 0.2% kernel
  0.2% 154/thermal_LITTLE: 0% user + 0.2% kernel
  0.2% 507/logd: 0.1% user + 0.1% kernel / faults: 143 minor 7 major
  0.2% 522/sugov:4: 0% user + 0.2% kernel
  0.2%<EMAIL_ADDRESS>0.1% user + 0.1% kernel / faults: 1 minor
  0.2% 2443/com.android.launcher3: 0.1% user + 0.1% kernel / faults: 15 minor
  0.1% 13/rcuog/0: 0% user + 0.1% kernel
  0.1% 46/ksoftirqd/4: 0% user + 0.1% kernel
  0.1% 125/simpleinteracti: 0% user + 0.1% kernel
  0.1%<EMAIL_ADDRESS>0% user + 0.1% kernel
  0% 723/tombstoned: 0% user + 0% kernel / faults: 185 minor 82 major
  0.1% 886/statsd: 0% user + 0.1% kernel / faults: 163 minor 30 major
  0.1%<EMAIL_ADDRESS>0% user + 0.1% kernel
  0.1% 32594/kworker/0:1-dm_bufio_cache: 0% user + 0.1% kernel
  0.1% 32680/kworker/1:0-memlat_wq: 0% user + 0.1% kernel
  0.1% 1/init: 0% user + 0% kernel / faults: 10 minor 10 major
  0.1% 243/decon0_kthread: 0% user + 0.1% kernel
  0.1% 887/netd: 0% user + 0.1% kernel / faults: 61 minor 17 major
  0% 994/audioserver: 0% user + 0% kernel / faults: 68 minor 19 major
  0.1% 1046/kworker/7:2-memlat_wq: 0% user + 0.1% kernel
  0% 1090/cameraserver: 0% user + 0% kernel / faults: 89 minor 41 major
  0% 1103/media.metrics: 0% user + 0% kernel / faults: 33 minor 10 major
  0.1% 1137/rild_exynos: 0% user + 0% kernel / faults: 1 minor 2 major
  0.1% 1331/kworker/4:0: 0% user + 0.1% kernel
  0% 1350/kworker/u16:6-events_unbound: 0% user + 0% kernel
  0.1% 1508/kworker/6:0-memlat_wq: 0% user + 0.1% kernel
  0.1%<EMAIL_ADDRESS>0% user + 0.1% kernel
  0.1% 1759/android.hardware.input.processor-service: 0.1% user + 0% kernel
  0% 18997/org.thoughtcrime.securesms: 0% user + 0% kernel / faults: 8 minor
  0% 29344/com.google.android.gms.persistent: 0% user + 0% kernel / faults: 68 minor 1 major
  0.1% 32052/kworker/u17:2-kbase_pm_poweroff_wait: 0% user + 0.1% kernel
  0.1% 32632/kworker/u16:1-gpu-dvfs-control: 0% user + 0.1% kernel
  0.1% 32727/kworker/3:0-memlat_wq: 0% user + 0.1% kernel
  0% 32730/kworker/u17:0-kbase_pm_poweroff_wait: 0% user + 0% kernel
  0% 11/ksoftirqd/0: 0% user + 0% kernel
  0% 14/rcuop/0: 0% user + 0% kernel
  0% 25/ksoftirqd/1: 0% user + 0% kernel
  0% 28/rcuop/1: 0% user + 0% kernel
  0% 35/rcuop/2: 0% user + 0% kernel
  0% 39/ksoftirqd/3: 0% user + 0% kernel
  0% 42/rcuop/3: 0% user + 0% kernel
  0% 50/rcuop/4: 0% user + 0% kernel
  0% 57/rcuop/5: 0% user + 0% kernel
  0% 111/spi11: 0% user + 0% kernel
  0%<EMAIL_ADDRESS>0% user + 0% kernel
  0% 716/android.hardware.power-service.pixel-libperfmgr: 0% user + 0% kernel
  0% 783/loop25: 0% user + 0% kernel
  0% 790/loop27: 0% user + 0% kernel
  0% 909/rlsservice: 0% user + 0% kernel
  0% 1014/dhd_logtrace_th: 0% user + 0% kernel
  0% 1060/traced_probes: 0% user + 0% kernel
  0% 1292/com.google.usf.: 0% user + 0% kernel
  0% 1336/kworker/u17:1-ufs_clk_gating_0: 0% user + 0% kernel
  0% 1372/kworker/5:1-pm: 0% user + 0% kernel
  0% 2361/irq/449-dhdpcie: 0% user + 0% kernel
  0% 21529/com.mining.app.mipca: 0% user + 0% kernel / faults: 4 minor 2 major
  0% 21627/app.vanadium.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0: 0% user + 0% kernel / faults: 1 minor
  0% 24569/app.vanadium.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0: 0% user + 0% kernel / faults: 1 minor
  0% 29228/com.google.android.gms: 0% user + 0% kernel / faults: 1 major
  0% 29742/free.reddit.news: 0% user + 0% kernel / faults: 7 minor 2 major
  0% 32679/kworker/2:1-memlat_wq: 0% user + 0% kernel
39% TOTAL: 22% user + 16% kernel + 0.1% iowait + 0.3% irq + 0.3% softirq
CPU usage from 67ms to 527ms later (2023-02-13 10:46:57.012 to 2023-02-13 10:46:57.471):
  130% 13161/org.telegram.messenger: 53% user + 76% kernel / faults: 51 minor
    47% 13192/globalQueue: 15% user + 31% kernel
    34% 13161/egram.messenger: 19% user + 15% kernel
    6.3% 3345/DispatchQueuePo: 3.1% user + 3.1% kernel
    6.3% 12058/DispatchQueuePo: 3.1% user + 3.1% kernel
    6.3% 12059/DispatchQueuePo: 0% user + 6.3% kernel
    6.3% 12060/DispatchQueuePo: 3.1% user + 3.1% kernel
    6.3% 12093/DispatchQueuePo: 3.1% user + 3.1% kernel
    6.3% 22056/DispatchQueuePo: 3.1% user + 3.1% kernel
    6.3% 22057/DispatchQueuePo: 3.1% user + 3.1% kernel
    3.1% 12057/DispatchQueuePo: 0% user + 3.1% kernel
  98% 30797/com.vitorpamplona.amethyst: 98% user + 0% kernel / faults: 1783 minor
    98% 1565/[ay.damus.io/..](http://ay.damus.io/).: 98% user + 0% kernel
  55% 1512/system_server: 19% user + 35% kernel / faults: 757 minor
    44% 2180/AnrConsumer: 13% user + 30% kernel
    2.7% 1580/ActivityManager: 0% user + 2.7% kernel
    2.7% 1591/batterystats-ha: 0% user + 2.7% kernel
    2.7% 10094/binder:1512_13: 2.7% user + 0% kernel
  11% 2377/com.android.phone: 8.8% user + 2.9% kernel / faults: 243 minor
    5.9% 2377/m.android.phone: 5.9% user + 0% kernel
    2.9% 2625/binder:2377_3: 0% user + 2.9% kernel
    2.9% 2711/binder:2377_8: 2.9% user + 0% kernel
  5.8% 2329/com.shannon.imsservice: 2.9% user + 2.9% kernel / faults: 113 minor 2 major
    2.9% 2329/nnon.imsservice: 2.9% user + 0% kernel
  6.5% 20209/.ShannonImsService: 3.2% user + 3.2% kernel / faults: 12 minor
    3.2% 1503/binder:20209_F: 3.2% user + 0% kernel
  2.1% 1/init: 0% user + 2.1% kernel
  2.1% 12/rcu_preempt: 0% user + 2.1% kernel
  2.2% 49/rcuog/4: 0% user + 2.2% kernel
  2.3% 523/sugov:6: 0% user + 2.3% kernel
  2.6% 1046/kworker/7:2-memlat_wq: 0% user + 2.6% kernel
  2.6% 1137/rild_exynos: 2.6% user + 0% kernel / faults: 1 minor 2 major
  2.7% 1347/kworker/u16:2-events_unbound: 0% user + 2.7% kernel
  3.3% 28701/com.Slack: 0% user + 3.3% kernel / faults: 12 minor
40% TOTAL: 23% user + 15% kernel + 0.2% iowait + 0.2% irq + 0.2% softirq

Also using graphene. This is app freeze and crash from allocating too much memory. Memory leak?
type: crash
osVersion: google/raven/raven:13/TQ1A.230205.002/2023021000:user/release-keys
package: com.vitorpamplona.amethyst:55
process: com.vitorpamplona.amethyst
processUptime: 88202 + 232 ms

java.lang.OutOfMemoryError: Failed to allocate a 11920 byte allocation with 3647312 free bytes and 3561KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.
	at okio.Buffer.readByteArray(Buffer.kt:1075)
	at okio.Buffer.readString(Buffer.kt:313)
	at okio.Buffer.readUtf8(Buffer.kt:297)
	at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.kt:245)
	at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.kt:106)
	at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.kt:293)
	at okhttp3.internal.ws.RealWebSocket$connect$1.onResponse(RealWebSocket.kt:195)
	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:539)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
	at java.lang.Thread.run(Thread.java:1012)

Working on this right now. It is not a leak, just waay too much data being downloaded (specially if you are using public relays for public chats... Lots of spam)


accordion content with loop

given this data:
const items = [{title: string, body: string}, ....]
how do you render the accordion? considering react can only return one element
<Accordion>
  {items.map((i) => (
      <div>
         <AccordionTitle>{i.title}</AccordionTitle>
         <AccordionBody>{i.body}</AccordionBody>
      </div>
  )}
</Accordion>

does not work

Yes, bec need
let list = [];

items.forEach((i) => {
  list.push(<AccordionTitle>{i.title}</AccordionTitle>);
  list.push(<AccordionBody>{i.body}</AccordionBody>);
})

<Accordion>
  {list}
</Accordion>

oh nice, i didn't think of that


Does this backup the User directory too?

I've got a bunch of customisations/snippets etc in my User directory. Does this plugin automatically sync those?

To sync custom files as well, you could add the respective extensions in the config include_files. As long as they are not part of the ignore_files config, they should be synced

Thanks!


Use SourceDocumentTable for Project Documents and DocumentExplorer

Refactor the SourceDocumentTable / SearchResultsTable

related to #134

fixed with #389


[stable/pomerium] Version bump to 0.2.1

What this PR does / why we need it:
Updates pomerium to latest 0.2 release.
Addresses  CVE-2019-9512, CVE-2019-9514 and CVE-2019-14809.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/lgtm
Le mer. 14 août 2019 à 12:38, Kubernetes Prow Robot <
<EMAIL_ADDRESS>a écrit :

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: travisgroth
https://github.com/helm/charts/pull/16314#
The full list of commands accepted by this bot can be found here
https://go.k8s.io/bot-commands?repo=helm%2Fcharts.
The pull request process is described here
https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process
Needs approval from an approver in each of these files:

stable/pomerium/OWNERS
https://github.com/helm/charts/blob/master/stable/pomerium/OWNERS
[travisgroth]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/helm/charts/pull/16314?email_source=notifications&email_token=AABHJT7ZXQGRPT5MRBG2RU3QEPOBNA5CNFSM4ILTOVGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4IMV2Y#issuecomment-521194219,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABHJT4UC7QDO5C5DQA3RHLQEPOBNANCNFSM4ILTOVGA
.


Option to generate xml-files instead of zipfiles.

Instead of just generating zipped import formats, a user may require the xml-file itself.
Arguments could be -x and --xml.
Then also no zipfile should be generated any more.

The commit a6d76c3e418dc7e11182a7cde20ed97cc4ba5ef8 should resolve this issue.


Move model defaults handler to build scope

This fixes a performance regression when evaluating large multiproject builds with declarative scripts.
A recent change removed the need for this service to live at project scope.
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test this

The following builds have failed:

Pull Request Feedback (Trigger) (Check)

Build Scan

WARN: Based on labels, this pull request addresses notable issue but no changes to release note found.

The merge queue build has failed. Click here to see all failures.


add type="button" to Bootstrap versions dropdown

minor accessibility issue fix reported by webhint.io browser extension.

ah, good spot. missing type="button" doesn't really have any adverse effect unless you're inside a <form> (as otherwise a button without type="button" automatically acts as a submit button, which may not be intended), but as a good practice, we should definitely have it there either way.


Not work

fetch.cancel(id);
fetch.delete(id);
not working on service onStartCommand()

@SudoDios I would be happy to help. We will need more code to understand what is not working exactly.
fetch.cancel(id);
fetch.delete(id);
The above methods operate asynchronously and take callback methods for success and error. The callbacks will let you know when the operation is complete.


Corsair LL series fan speed

I am not sure if this is a bug or something I am setting up wrong.
In the arduino code, I am trying to set up a fan with the correct RPM range, the desired result for me is that the quiet profile actually runs the fan at the lowest rpm which is 600, currently it is still audible.
No matter what values I choose for the RPM using:
PWMFan fan1(PWM_FAN_PIN_1, 0, 2000);
iCUE cannot control the fan speed correctly for the quiet profile; it is still too fast.
I have tried increasing the RPM range and altering the setPower function in PMWFan.cpp:
void PWMFan::setPower(uint8_t percentage) {
	analogWrite(pwmPin, percentage / 2);
}

Any suggestions?

I seem to have achieved what I need by incresing the range by 500:
PWMFan fan1(PWM_FAN_PIN_1, 0, 2500);
and in PWMFan.cpp, reducing the power sent by 25 percent:
void PWMFan::setPower(uint8_t percentage) {
	analogWrite(pwmPin, percentage -25);
}

It would seem cleaner this way, quiet is low and extreme is at the fastest (audible test based on the initial fan speed when the controller starts up).

Maybe you can log the percentage value iCUE is using in quiet mode. If it is a high value it is a problem of iCUE.

I think more the issue was that iCUE couldn't read the fan RPM from the device, it seems to be reading the RPM now and I don't know what has changed, I've put it down to inconsistent behaviour of iCUE.  Whilst I can see the RPM now, the LL fan seems to run out of range of the specs, removing the -25 on percent and changing the range of the fan to 600 - 2500 has it working where I want it.


Slow Navigation

Thank you for actually making some software that can make use of my google drive!
However, whenever I explore the drive, either using a GUI or directly in the terminal it takes a long time to even enter a directory. When I try to move files in the directory or rename files/folders it can take up to 20-30s.
This does not happen with any other directory except the gdrive folder.
I've set the cache size to 1GB in the hopes it would basically just download my whole drive locally for fast access but the issue does not change.
Is this just an inherent problem, or is there something I can do?

I have the same problem with very slow access, from ls to nautilus, because I do have a lot of Google Docs in my drive, and this did work for me:

you can turn your docs into links...

document_format=desktop
presentation_format=desktop
spreadsheet_format=desktop
drawing_format=desktop
form_format=desktop

Then google-drive-ocamlfuse -cc to clear cache.

Thanks, @astrada!
One question: While links are a good workaround, is it possible to allow fast directory listing (e.g. ls and find), and only perform the slow document fetch/conversion later when the file is opened? Maybe report a 1-byte file (or some other special flag, like a symlink or named pipe) until the file is actually opened?

One question: While links are a good workaround, is it possible to allow fast directory listing
(e.g. ls and find), and only perform the slow document fetch/conversion later when the file is
opened? Maybe report a 1-byte file (or some other special flag, like a symlink or named pipe)
until the file is actually opened?

Unfortunately it's not easy because it requires opening files with O_DIRECT option, and the FUSE binding I'm using doesn't allow that. I'm keeping this issue open as a reminder.

Ok, thanks! The links feature is nice and will work for now.

I'm not sure if this is the right place for this comment, but it seems that doing lots of metadata requests (e.g. lstat()) is also extremely slow if the metadata cache expiry has occurred, say when you start up at the beginning of the day.  From my connection, one lstat() request takes anywhere from 500ms-1000ms. If you are getting the sizes of 1000 files, there's 10-20minutes in just checking metadata.
This is particularly a problem when doing an rsync update.  Is there any way to get some kind of bulk metadata update out of the google drive api, or perhaps a more efficient way of asking rsync to check file sizes?

The easiest thing that I can think of is running ls -lR before rsync to warm the cache. I don't know if it's quicker than running just rsync.

@astrada couldn't you fetch the whole google drive (drive.files.list should do this without many requests and also delivers all the stats needed) and instead of flushing the cache after metadata_cache_time simply poll drive.changes.get and flush only the parts of the cache that really have changes? This would dramatically speed navigation up.

Well, not really. drive.files.list without filters can be quite slow if you have many files. You can check it enabling lost+found and querying that folder. The changes are already polled the way you are suggesting. Global cache invalidation occurs only if there are more than 50 changes between 2 calls to drive.changes.get.

@astrada ... and a call to drive.changes.get happens every metadata_cache_time seconds right?
Currently the first attempt to navigation after mounting is painfully slow but every following navigation attempt is quite fast... but after some time (maybe an hour or so) navigation is slow again.

... and a call to drive.changes.get happens every metadata_cache_time seconds right?

Yes, right.

Currently the first attempt to navigation after mounting is painfully slow but every following navigation attempt is quite fast... but after some time (maybe an hour or so) navigation is slow again.

It can be slow if you have lots of Google Docs. As they are exported, I've have to download them fully to get their size (otherwise the will be shown as zero-bytes). If you don't care about exporting documents, you could switch formats to desktop, or turning them off setting download_docs=false in the config.

download_docs=false
This helps. Please specify this as a default option.

Where is the config? Thx

Hi, here's my take on this: to my mountGdrive script, I added tree /gdrive/ & which caches all the files in the background. I've increased the cache size to 2048 MB (it has to be a geeky number indeed) and the timeout to 3600. That's no big deal, I hav a plenty of space and the caching seems to work fine; besides, I only work with non-doc files over fuse.

Do you have many Google Docs (office-like files)? Those files can't be efficiently cached, so they slow down a lot the resource fetching. If you don't need them on your desktop, you can turn them completely off, putting download_docs=false in the config file. Otherwise, you can turn your docs into links, putting:
document_format=desktop
presentation_format=desktop
spreadsheet_format=desktop
drawing_format=desktop
form_format=desktop

in the config file, and then using -cc command line option to clear the cache.

Could you think about making this the default? Or at least have a command line option to force this for all formats?
Thanks.

Would you accept a PR to change the defaults?

In version 0.7.5, I added a command line option (-docsmode) to quickly set Google Docs config options. See Usage.

Nice that should do it!
Would you want to take PRs to add google drive relevant icons from wikipedia to the installed files. That way the desktop stuff gets nice icons

OK, thanks, just check that the icon license permits to embed it in another software.

Should be fixed in the latest versions.


Connection

Hello!
We can't download the blockchain, it has the headers sync but it get stuck to download the blocks.
There is an error in the debug.log saying that there are several forks on the same network.
Could you provide a snapshot of the actual chain (at block height 1,118) pls, that would fix it, ty!

on the website https://falconivity.com under resources you can find "Snapshot of the blockchain" file to dowload

I will be adding the latest snapshots to the site, this should solve the problem

I will be adding the latest snapshots to the site, this should solve the problem

Hello, no it did not fix it.
It missed all chainstate and other files for the blocks.
It should look like this, the two folders "blocks" and "chainstate" will make a snapshot

ty!

you're right, it's fixed

It<s a bit too late lol


demo出码，下载包运行，js报错

React does not recognize the verAlign prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase veralign instead. If you accidentally passed it from a parent component, remove it from the DOM element
页面也不是设计的页面

辛苦提供完整可复现的步骤/代码。

1.运行最新版demo
2.点击出码

3.下载源码包
4.运行下载的源码

项目是好项目，但是一直运行不起来。上手不易呀

Duplicate of https://github.com/alibaba/lowcode-engine/issues/429


fixups for SD clock, DMAC and reset

Add reset of MMC DMAC in case of DMA errors and to SDHC reset function.

Fix description of 'rcar_mmc_init_start_clk' function.

There isn't any sense to wait when RCAR_MMC_INFO2_CBSY flag is cleared,
because reset function can be called for case when MMC controller stucks
due to this flag.

SD clock divider is set incorrectly for case when it is needed to supply
from SDϕ without division.

Acked-by: Volodymyr Babchuk<EMAIL_ADDRESS>@firscity, are you okay with those patches being fixups?


Apply Rector: CountArrayToEmptyArrayComparisonRector

Change count array comparison to empty array comparison to improve performance
Checklist:

[x] Securely signed commits

All green :tada:

Checked benchmark with 1000000 at https://phpsandbox.io/n/cool-limit-q2mg seems sometime faster, sometime slower, or same.
Tested locally, compare with $array !== [] is 2x faster.

@paulbalandan thank you for the review.


task: Add caching to getApplicationJsonFromTemplate

Description
The drag and drop of Building blocks timing ranges from 3-6 seconds. To improve the user experience adding this cache  to API call to CS.
Fixes #Issue Number
or
Fixes Issue URL

[!WARNING]
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation
/ok-to-test tags=""
:mag: Cypress test results

[!CAUTION]
If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[x] No

Not required anymore.