Improving visual quality of the rgb scene capture

Description
Added temporal aliasing to screen captures with post processing. This gets rid of the jaggies during motion. Set the target gamma to 1.4. I found this value to be the best. It minimises the brightness difference between the screen capture and the main camera. There is still a small difference on some monitors. I disabled auto exposure because it was disabled on the main camera.
Fixes #
Where has this been tested?

**Platform(s): Ubuntu 16.04
**Python version(s): 3.5
**Unreal Engine version(s): 4.21.2

Possible Drawbacks

This change is

PR updated to address save_to_disk easy. Alpha values now set to 255.

Have you measured what's the cost of setting the alpha channel to max? for a 1920x1080 image for instance? That's executed in the render thread, every millisecond there reduces our FPS, unless that's very small I would do it in the client-side when the image is received, there is executed asynchronously.

Isn't FPixel reader used by all the camera sensors? I have added a sensor in my fork that uses all four channels. Won't setting alpha to max break sensors like that?

@analog-cbarber Yes, that would set alpha to max for all the camera-based sensors. In carla we don't have at the moment any sensor using the alpha channel, but I see this could be a problem.
Ideally we would like to tell Unreal to generate a buffer without alpha, but I don't think that's possible with these cameras.

You can indeed set the alpha channel in Post Processing materials in 4.21.
I have created a "reflectance" material for use in Lidar modeling. It computes reflectance separately for the RGB channels and uses the alpha channel to report the proportion of reflectance due to diffuse vs specular reflectivity so that we can apply different distance-based attenuation for specular vs diffuse light. Maxxing the alpha channel would make everything look like it was 100% diffuse for my sensor.
Since I am working on a fork, I can always just undo the change, but I was hoping to eventually contribute this back to CARLA so it would be nice if this was something that was supported.

Then I think setting alpha to max should be done in the client side in the ImageSerializer::Deserialize, then if there is a sensor that uses the alpha channel it can implement its own serializer (it can reuse  ImageSerializer::Serialize but overload the deserialize function). That'd have zero overhead because all the dispatch is done at compile-time.

The cost was relatively small but I will move to client side to ensure it works for any new sensors.

Now pixels changed on client side as requested. As Nestor said above, the Deserialize function will have to be overridden by new sensors that need the alpha value

LibCarla/source/carla/sensor/s11n/ImageSerializer.cpp, line 21 at r7 (raw file):
Previously, nsubiron (Néstor Subirón) wrote…
Not that makes any difference to the result, but wouldn't have been easier doing this :wink:
  SharedPtr<SensorData> ImageSerializer::Deserialize(RawData data) {
    auto image = SharedPtr<data::Image>(new data::Image{std::move(data)});
    // Set alpha of each pixel in the buffer to max to make it 100% opaque
    for (auto &pixel : *image) {
        pixel.a = 255u;
    }
    return image;
  }

Does data::Image constructor remove the header info from the data it's passed?

LibCarla/source/carla/sensor/s11n/ImageSerializer.cpp, line 21 at r7 (raw file):
Previously, wattsavolt (Aidan Clear) wrote…
Does data::Image constructor remove the header info from the data it's passed?

Just looked at the code, the data::Array class that it derives takes the offset into account so I'll change to your version. Thanks.

We noticed that somehow when you are using our Scene Capture camera, the results on the client and the editor doesn't match on low values of gamma, maybe there is more post process going on on background. Also, we must choose which value of gamma we should use. 1.4 gets the nearest result to the Editor, but the "standard" is 2.2 and maybe what should be fixed is the light values.
Opinions @wattsavolt @TheNihilisticRobot @XGodina @nsubiron?

CHANGELOG line duplication issue fixed

a discussion (no related file):
Previously, TheNihilisticRobot wrote…
I don't remember the specific value but I remember to have setted the Gamma when I was working on the weather blueprint to the value I thought that matched the visual results between the capture camera and the editor camera the most, making it possible to work for both cameras simultaneously.
If we set now for a more standard value we should tweak the weather a bit but focusing on the camera we need to give the best results (presumably the screen capture one).

1.4 was the value that made the screen capture look closest to the game camera for me. On one of my monitors, it was exactly the same. On the other, the screen capture was still a little brighter. I've set it back to 2.2 because that probably works best for everyone.

CHANGELOG.md, line 18 at r8 (raw file):
Previously, nsubiron (Néstor Subirón) wrote…
This line is duplicated, comes from another PR

Fixed

Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/SceneCaptureSensor.cpp, line 168 at r11 (raw file):
Previously, marcgpuig (Marc Garcia Puig) wrote…
please, remove the unnecessary spaces

lol you really picking at straws :D

Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/SceneCaptureSensor.cpp, line 168 at r11 (raw file):
Previously, wattsavolt (Aidan Clear) wrote…
lol you really picking at straws :D

Done.

Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/SceneCaptureSensor.cpp, line 17 at r11 (raw file):
Previously, marcgpuig (Marc Garcia Puig) wrote…
After the last changes, this isn't needed anymore right?

Done.

a discussion (no related file):
Previously, nsubiron (Néstor Subirón) wrote…
https://youtu.be/VEpaXIVygM0

Sorry about that. I've set the values back to default. I am creating another PR for changing motion blur settings from python api.

a discussion (no related file):
Previously, wattsavolt (Aidan Clear) wrote…
Sorry about that. I've set the values back to default. I am creating another PR for changing motion blur settings from python api.

Done.


Passing a value from a modules php-File to the React component

Problem Description
I'm trying to use functions which derive from a different plugin and return a string in the php-File of a Divi Builder Module. It works fine for the render Function in the php-File, but when it comes to the React component I would like to just pass the string to the component to use it to render the same output.
Is this possible with the current API?

You have to make an ajax request, to retrieve data.
AJAX WP Documentation
client-side
async fetch_posts() {

    window.jQuery.$.ajax({
      type: "GET",
      url: window.origin + "/wp-admin/admin-ajax.php",
      dataType: "json",
      data: {
        action: "get_buongiorni",
        number_of_posts: this.props.number_of_posts
      },
      success: function (response) {
        console.log("res", response);
      }
    });
  }

server-side
                add_action('wp_ajax_get_buongiorni', 'handle_request');
		add_action('wp_ajax_nopriv_get_buongiorni', 'handle_request');

		function handle_request() {

			$number = $_GET["number_of_posts"];

			if(isset($number)) {
				echo json_encode(BHUB_BuongiorniCustomModules::get_buongiorni($number));
			} else {
				echo "error";
			}

			exit;
		}

There are two ways I know of doing this.

If your string value is static, meaning it doesn't change or depend upon any user settings, you can put your string into a hidden field, something like this:

'my_hidden_field' =>  array(
'label' =>  esc_html__('My Invisible Label', 'my-domain'),
'description'  =>  esc_html__('My Invisible Description', 'my-domain'),
'option_category'  => 'configuration',
'tab_slug'  => 'general',
'toggle_slug'  => 'content',
'type'  => 'hidden',
'default' =>  my_get_string_function_here(),
),

If your string value is dynamic, meaning it changes or depends upon user settings, you'll need to look at using a computed field. This is Divi’s implementation of Ajax. It requires 3 interelated parts to get it working. 1) The regular user fields that 'affect' the computed property. 2) The computed field which 'depends' upon the regular fields. These begin with a double uderscore (eg.  __my_computed_field). 3) A callback function which is 'called' by the computed field and returns the value which you want to the computed field. You then get the value of the computed filed in the React component the same way you would any other value (eg. this.props.__my_computed_field; ). Have a look at some of Divi's own modules and see if you can get your head around it.

Thanks @dtcblyth for your great contribution. The two ways you mentioned should do the job.


Make vim.ui.input completion engines friendly

Hi, I'm a bit confused as to how one would re-enable completion engines such as cmp and mini as both are currently explicitly disabled with no option to prevent that.
Additionally and ideally there would be a hook of some sort that users can setup their completion engines within per vim.ui.input call.
That way for example when vim.ui.input is used to do an LSP rename, one could enable cmp with sources that make sense in that context (buffer, spell, rg .. etc) which aid in the operation of LSP renaming.
It really sounds like I'm asking for some hooks per vim.ui.input call here but I didn't want to be vague in order to eliminate any chance of having an XY problem here.
I might be missing something obvious here, wdyt?

First, some background on why things are the way they are:
There's a bit of conflict between the two sources of configuration for vim.ui.input. The first source is the callsite, which can pass in a completion argument to define what kind of completion to use (see :help vim.ui.select()). The second is the end user, who might want to have specific types of completion for specific types of dialogs. Additionally, the callsite has to limit itself to what's available in the bare Neovim API, whereas the user might want to use something else (e.g. LSP completion). Complicating the issue, there is no good way to tell what the purpose of the vim.ui.input dialog is. vim.ui.select() has the kind option for exactly this situation, but there is no such affordance for input.
I think a logical next step would be to make the existing completion option work with the autocomplete plugins. I believe that could be done with not too much effort, and would be a clear win.
To enable context-aware user-specified completion methods, that will be more difficult. I think the first step would be to make a PR to Neovim that adds kind to the vim.ui.input API, and to set unique values in the relevant locations (e.g. LSP rename). The next step would be to add config options to dressing that can both configure the autocompletion plugins, and also set a "default" completion method if none is specified by the callsite. I think that would then unlock the functionality you're asking for.

In case you set the completion in call site, is it expected to work? Or will it fail?
I'm asking because I just opened an issue in neovim (https://github.com/neovim/neovim/issues/19907) and now I am thinking if this is actually a bug in dressing.nvim

Thanks for your confirmation @stevearc.
I'll keep the issue in neovim repo open then

@danielo515 Oh no, I just pushed up that fix. I think that the report was a bug in dressing and not neovim. Try again on the latest master and see if it still repros.

Oh, ok, sorry for the confusion.
In any case, they already closed the neovim issue with a comment that, for
my personal taste is a bit harsh.
I will try the latest commit and report back, thank you
On Tue, Aug 23, 2022 at 9:24 PM Steven Arcangeli @.***>
wrote:

@danielo515 https://github.com/danielo515 Oh no, I just pushed up that
fix. I think that the report was a bug in dressing and not neovim. Try
again on the latest master and see if it still repros.
—
Reply to this email directly, view it on GitHub
https://github.com/stevearc/dressing.nvim/issues/55#issuecomment-1224683873,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWIF4WMZNQ4GAEGYNP3V2UQOVANCNFSM57CCUMOQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
https://danielorodriguez.com

Tried the mentioned commit (that specific one) and now it does not crash, but no autocomplete happens either. I am trying the same key to trigger the autocomplete that previously was making it crash, so I guess it's the correct one

@danielo515 I'm moving your discussion to #57, as this is now quite different from the original posted issue discussing the enabling of autocompletion engines in the input buffer.

are there any updates on getting completion in DressingInput? by manually adding things to DressingInput in the cmp config, I managed to get a popup menu upon, but not the ability to select things in it 🥴

wow, this is indeed pretty cool.
With this I got a cmdline replacement for :, including completion of commands
-- : via dressing
cmp.setup.filetype("DressingInput", {
	sources = cmp.config.sources { {name = "omni"} },
})
keymap("n", ":", function ()
	vim.ui.input({ completion = "command"}, function (input)
		if not(input) then return end
		cmd(input)
	end)
end, {desc = ": cmdline replacement"})

unfortunate, that it seems you cannot get multiple completions (e.g., commands and option)? 🤔

Unfortunately, the built-in input() method (and thus vim.ui.input) do not support multiple types of completion. If you want to hack it yourself, you could set the omnifunc in the input buffer to a custom function that completes commands and options.

I managed to use some weird tricks to allow completion on the input, but with a custom function. Do you have a better approach?

{ completion = "command"},

i want to have path completion.
is it possible to have?

See :help command-complete. You can get path completion by doing completion = "dir" or completion = "file"


Implement optional "strategyMove" behaviour that moves rather than reinserts DOM nodes

As per #83, this implements the option strategyMove which can either be set globally via ko.bindingHandlers.sortable.strategyMove = true or by passing strategyMove: true into the sortable binding like sortable: { strategyMove: true }.
strategyMove is the best I could come-up with. :smile:
I'm not quite sure if the additions to package.json and bower.json are desired, but I just went ahead and did them since npm was complaining about the missing license field anyway.
This is a 99% re-use of what @Crunc already did in #83 - this PR is merely making it optional to get the ball rolling.
What's potentially missing is an addition to the specs, but I'm a tad lost as far as simulating draggable/sortable is concerned.
Finally, one thing I realised is that, if I see this correctly, afterAdd won't fire when strategyMove is employed since, well, it won't be added anymore - that may need to be mentioned in the docs.
P.S.: I don't know why my indenting keeps exploding like that.

@JD-Robbs Thanks- I'll work towards getting this in.

Sorry for the delay. Thanks for putting together this PR. It is merged and available in v0.13.0.


fix infinite loop

1 fix 0 poolingfrequency issue
2 fix status parsing issue
3 fix timeout status update issue.

Change VReplicator concurrency to 3

The concurrent value also needs to be changed in "helm-charts/verticadb-operator/values.yaml", "helm-charts/verticadb-operator/README.md" and "config/manager/operator-envs",

"helm-charts/verticadb-operator/values.yaml", "helm-charts/verticadb-operator/README.md" have been updated.
"config/manager/operator-envs" only has environmental variable keys and does not need to be updated.


Web - Assign task - New task replies not showing in the main chat between task creator and assignee

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Make sure you have at least 3 accounts created.
Log into two of the accounts in Mac Chrome (one may have to be in an incognito window). You'll be "User A".
Open a chat with "User B".
Click on the big, green, circular button with a + in it (FAB) and choose "Assign task".
Add a title, select "User B" as the assignee, select "User C" as the "Share somewhere" option, and then click on the green "Confirm task" option.
Send a couple of messages in the newly-created task thread while, as "User B", observing the task created in your main chat with "User A".

Expected Result:
The number of replies in the task thread is shown and updates accordingly in "User B's" main chat with "User A".
Actual Result:
The replies in the task thread only show after the user navigates to a different chat and back, and it doesn't update accordingly.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.53-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/8f08ac38-9ee6-4faa-95e0-3ba73f9d5dad
https://github.com/Expensify/App/assets/115492554/213b9016-7679-4c13-9a9c-53fc2c8c1d7d
https://github.com/Expensify/App/assets/115492554/61e606ab-74bf-4424-8c67-2185b05fc210
Expensify/Expensify Issue URL:
Issue reported by: @Vicktor-nyagudi
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691146112430489
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01628e3a90daf05d44
Upwork Job ID:<PHONE_NUMBER>991907840
Last Price Increase: 2023-08-30

@s-alves10 can you confirm here, you think this is missing pusher events ? This is what I receive:

It''s not enough to do the link ?

@ShogunFire
Yeah. That's not enough.
For task report, we have two parent report: shareDestination and assignee(Can be 1 if they are same). When we send messages in the task report, we need the pusher events that notify these parent report actions. It looks like you get the pusher events for task report itself.

This seems to be internal IF we can reproduce and it requires additional pusher updates

Hmm, yeah interesting. Triaging for internal.

Still need someone to pick this up.

Sorry, I have too much on my plate to pick this up right now. I'm buried in dailies and still getting hourlies assigned to me on a regular basis. I'm going to un-assign myself.

Still waiting for someone internal.

Still not an internal priority, waiting for an internal engineer to pick this up.

Same, we need an internal engineer to pick up this issue.

Still waiting on internal engineers. Moving to monthy

Taking it and putting it as a weekly.

Same as above

Same same

Sorry for the lack of updates, but I'm really putting the focus on budgeting right now.

No worries, that's understandable

Gave it a look today, didn't figure it out yet how to send the correct Pusher event to update correctly the number of task replies.
I've tried sending a pusher event with the correct childVisibleActionCount (number of task replies), along with notifying the correct participant (the task assignee) so he receives the event, he receives the event but the number of task replies don't increase. Which makes me think it must be a problem of using the right report ID/reportActionID.
Will update whenever I have something new.

I'll have to go on parental leave, but I found a lead for the person that will pick this up.
Basically if we go on a report page like: https://dev.new.expensify.com:8082/r/5315000601989737
The report ID in the route is<PHONE_NUMBER>989737.
If we assign a task, we'll need to reuse the reportActionID for that.
Example:
2023-12-21 15:49:28.384<PHONE_NUMBER>989737  3          ADDCOMMENT  {"html":"assigned to y6@expensify.com","lastModified":"2023-12-21 15:49:28.384","taskReportID":8070629696725126}<PHONE_NUMBER>699635022

In that case we'll reuse the reportActionID<PHONE_NUMBER>699635022.
Then, with these two elements we're able to correctly update the task replies in the assignee side.
In sendChildDetailsToParentAction(), $parentParticipants will need to be updated and include the assignee account ID on top of the task creator's account ID. In our example, that'd be [3,6]. 3 is the task creator and 6 is the assignee.
So for example, if the task creator is account
For $parentReportID use the report ID in the route<PHONE_NUMBER>989737).
For $parentReportActionID use the reportActionID<PHONE_NUMBER>699635022).
That'd give something like this (hardcoded so you get precisely what I'm illustrating):
        $parentParticipants = [3, 6];
        $onyxData = [[
            'onyxMethod' => Onyx::METHOD_MERGE,
            'key' => OnyxKeys::COLLECTION_REPORT_ACTIONS.'5315000601989737',
            'value' => [
                '4790341435699635022' => [
                    'childCommenterCount' => $response['childCommenterCount'] ?? null,
                    'childLastVisibleActionCreated' => $response['childLastVisibleActionCreated'] ?? null,
                    'childLastActorAccountID' => $response['childLastActorAccountID'] ?? null,
                    'childOldestFourAccountIDs' => $response['childOldestFourAccountIDs'] ?? null,
                    'childVisibleActionCount' => $response['childVisibleActionCount'] ?? null,
                    'childMoneyRequestCount' => $response['childMoneyRequestCount'] ?? null,
                    'childLastMoneyRequestComment' => $response['childLastMoneyRequestComment'] ?? null,
                    'childLastReceiptTransactionIDs' => $response['childLastReceiptTransactionIDs'] ?? null,
                    'childReportNotificationPreference' => $response['childReportNotificationPreference'] ?? null,
                    'childRecentReceiptTransactionIDs' => $response['childRecentReceiptTransactionIDs'] ?? null,
                    'childType' => $response['childType'] ?? null,
                ],
            ],
        ]];

If you do it, you'll notice the number of replies correctly increase on the assignee's side.
However, it does not increase for the task creator, so you'll need to figure that out.

Ok thank you!

@lakchote Are you going to pick this up? If not, I'm inclined to close it since tasks are not a roadmap priority at the moment.

@JmillsExpensify I'm going to focus on waves to speed up the reunification. I can pick it up later if tasks become a priority?

I'm putting this up as a monthly since I found a lead and I'd like to finish it.

Had 2 days where I could focus on it for a few hours, but didn't find the culprit yet.
Asked @luacmartins for help as he has more experience in Onyx than me.
cc @chiragsalian too, since you're the one who created the sendChildDetailsToParentAction(), maybe you'll notice something right from the start?

I haven't investigated but in Action Performed -> Step 6, did you check,

Does the onyx data for the message contains userA as one of the senders?

My guess is userA is not one of the sender when new messages are added by userB. This is most likely because userA either,

Does not have the report shared with them, Or
Their notification setting for the report is different than what userB and userC has it.

Hence when userA clicks to another report and clicks back, i imagine the openReport auth command applies the correct setting. Basically if you check userA sharedReport and notification setting before and after the openReport command when they click back into the task report.
I haven't deep dived but let me know if that helps ✌

Thanks Chirag for your input.
Actually the problem is both for user B, and user C.
The notification setting is set to always for all three of them.
The participant account IDs in sendChildDetailsToParentAction() concerns both User A and User C, yet it's not updated for user C.
Regarding the report permissions in the sharedReports table, User A and User B have read, write.
So I'm still looking to see where the problem is.

Cool sounds good, if you are stuck let me know and ill test the flow and debug as well.

Cool sounds good, if you are stuck let me know and ill test the flow and debug as well.

Thank you @chiragsalian for your proposal! I'm going to be ooo tomorrow for the day, and on Monday I'll need to focus on writing the wave 8 Simplified Collect Xero detailed implementation to get this started.
If you have the bandwidth I would really appreciate it if you could take a look at this.
I've tried to spot differences between different reports or if any participant account ID is missing, without luck.
Having this issue solved and knowing what was the culprit would be great, I'd definitely subscribe to it! Let me know if that's okay for you, otherwise I'll pick it up again whenever I can :)

Sorry bud, my plate is a bit full too and I'm avoiding picking up VIP issues over wave issues unless the VIP issue is pretty important. If the priority here increases or if my plate gets a bit empty i can jump back here but for now i wont be picking this up.

I've gave it another look today.

I've created a task report with report action ID<PHONE_NUMBER>454437068 and report ID<PHONE_NUMBER>951644.
I've checked which onyx update we're sending when we're adding a comment, it's for the key: reportActions_2392293761951644 with value<PHONE_NUMBER>454437068.
The thread replies number is correctly sent and incremented.
So in theory, it should update the thread replies correctly, but it doesn't.
The childVisibleActionCount keeps the old value until we go back to the parent report of the task report.
In OpenReport response, we get (using the same Onyx merge update reportActions_2392293761951644 with value<PHONE_NUMBER>454437068 combo), the correct childVisibleActionCount and we get the updated number of thread replies. So my open question: why doesn't it update at first the thread replies count?

I've DMed @danieldoglas who seems well-versed with Onyx updates, to understand what I'm missing in order to move this forward.

So, it seems like after discussing with @danieldoglas that my reasoning is correct and thread replies should increment.
He told me to look in the onyxUpdates table and see what is being sent in the report channel.
Well, new thread replies number in childVisibleActionCount is correctly sent.
I've DMed @s-alves10 to ask about those missing pusher updates he had in mind. Maybe I've missed something.

Nice, looks great! So I believe that the main next steps would be payments. This issue was created before we stopped paying for bug bounties, so I believe that @Victor-Nyagudi would be owed $250 for the bug report. Given that no PR was reviewed, I don't believe that any C+ payment would be due.

All paid out. Thanks!


Resolved dependencies

Ensured that all necessary packages are contained in package.json and that a package-lock.json is included.

Imma close this because i have the changes in #9


How can i add link to selected items?

I modified the mentions.Now it will pass entire objects to mention list.So that i'm able to get the whole data in mention-list. My object contains also the web links to specific item.I would like to format my selected item as clickable links.

Custom formatting of text within input elements is not part of this package.


Multiple pins / locations

Icon name
map-pins
Use cases
An icon with more than one pin (either two or three pins), for when referring to multiple locations.
Similar to how we have user and users.
Design ideas

Checklist

[X] I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)
[X] I have searched existing icons to make sure it does not already exist and I didn't find any.
[X] I am not requesting a brand logo and the art is not protected by copyright.
[X] I am not requesting an icon that includes religious, political imagery or hate symbols.
[X] I have provided appropriate use cases for the icon(s) requested.

Maybe something like this (combining both our existing map pin shapes in one icon)?
Open lucide studio


1.21 just won't load the datapack

Describe the bug
The pack won't show up, and if I manually do the /function command, it won't work, as it sais it doesn't exist.
To Reproduce
Steps to reproduce the behavior:

make a song
export to datapack
place in datapack folder
load datapack

Expected behavior
It normallly should just show up, even if it doesn't work.

Hi, and thanks for reporting the issue!
1.21 changed the path where functions are stored within a data pack. A fix is already being applied but was not released yet.
In the meantime, if you open the exported .zip file (or folder), look for the data/minecraft/tags/functions and data/<song_name>/functions and rename both of them to function (no plural).

Fixed in 644c835d3b618e4d103e221c39c06dc98cf9182c


Manifest keys should be based on the output filename rather than the entry name

I ran into an issue today where my output was not what I expected it to be, and I wait to raise it for discussion. In my app I'm using two configs to generate separate .mjs and .es5.js files. The .mjs works as expected, but the .es5.js doesn't.
Here's the relevant part of my config:
entry: {
  'main': './app/scripts/main.js',
},
output: {
  filename: '[name]-[chunkhash:10].es5.js',
}

And this produces a manifest like the following:
{
  "main.js": "/main-dcf074ddfa-es5.js",
  "main.js.map": "/main-dcf074ddfa-es5.js.map",
}

This is unexpected to me. The key from my main script file is main.js, but I expected it to be main.es5.js.
Essentially, I wanted the keys to be the output filename with the hash information removed (as well as any leading -/_/.) but what I actually get is just the entry name plus the file extension.
Since I'm using two configs but building a single manifest, the current behavior produces two entries for main.js, and the second one gets overridden.

Possibly related issue: https://github.com/danethurber/webpack-manifest-plugin/issues/110

Hey all! I've taken over maintenance of the plugin and am doing some housecleaning. For Issues over a year old without a reproduction, we're going to go the route of closing them first. However, they're not dead! If the issue is still pending and still a problem, please reply with a reproduction and we'll reopen post-haste.
Please provide a reproduction by choosing one of the options below:

Using the REPL.it plugin reproduction template at https://repl.it/@shellscape/manifest-plugin-repro
Provide a minimal repository link (Read https://git.io/fNzHA for instructions).
Please use NPM for installing dependencies!
These may take more time to triage than the other options.

⚠ ZIP Files are unsafe and maintainers will NOT download them.


Can't run .pck file

When I try to run .pck file of the game, it just goes back to the RetroPie main screen.

Sure!
Here's the .pck (the linux one): https://github.com/LnlyPie/Evie/releases/tag/v0.3.0
And here's runcommand logs: https://pastebin.com/Wyi73wm3

Okay nevermind. I changed the "emulator" version and it works now. Sorry for the trouble

I'm glad you got it working ;)


Allow passing an api_client kwarg to BotBase

I guess netlify deployments have just been broken for a while now?

Yea seems like it, see https://canary.discord.com/channels/267624335836053506/411200599653351425/965903442159734784 and down for a discussion about it in core dev.


Change APIs

Change APIs

It returns uuid only.
It will be changed to returns all info.

- ^/ob/destinations
- ^/ob/plans
- ^/ob/campaigns
- ^/ob/dlmas
- ^/ob/dls
- ^/ob/dialings

Done. :)


Setting coordinates for new video

Hi. I want to run my own video. What to change and how to change in the code so as to run my own vehicle traffic video.
Thanks in advance!!

What do you mean? Do you need to run the program on your custom video record to detect vehicles? Could you specify your issue, please? Thus, I can try to help you better! Thanks..

Hi,
Yes. I need to run my custom video record to detect vehicles.
But unfortunately If I use my custom video, the program is not able to detect any vehicles. So what are parameters I should change and how to change it, so that I can run my custom video to detect vehicles
Thanks and Regards
Ani
On 17-Apr-2019 6:20 PM, Ozlu<EMAIL_ADDRESS>wrote:
What do you mean? Do you need to run the program on your custom video record to detect vehicles? Could you specify your issue, please? Thus, I can try to help you better! Thanks..
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fahmetozlu%2Fvehicle_counting_tensorflow%2Fissues%2F46%23issuecomment-484070412&data=02|01||dab34914b6794bf1e4c708d6c3335527|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636911022576881551&sdata=e1N6F0arkbQNc8VO9xqo5fPTTIPwKw4kWKmVB4t1dVY%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAtvbB1YVW3oXOENEbLciuGSsUakzhMBYks5vhxiugaJpZM4ckCWb&data=02|01||dab34914b6794bf1e4c708d6c3335527|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636911022576891562&sdata=iEhmDYmr9d7v1qHvjGt%2F8JiW6Gznzl%2BMO4bRfoPu6LE%3D&reserved=0.

You can use faster_rcnn_nas (COCO mAP[^1] = 43) frozen inference graph that is able to detect any kind of vehicles on the videos has taken any kind of angles and lightning conditions.
Moreover, you can train your custom vehicle detection model and can find the details in here about it.


Building findutils fails on macOS

It looks like a recent update to spack (https://github.com/spack/spack/pull/28316) breaks building findutils on my macOS, see the comment here: https://github.com/spack/spack/pull/28316#issuecomment-1033949493

I already have a PR for the authoritative spack repo, and there will be one for our fork later today (same commit, cherry-picked).

Any objections to changing to version 4.8.0 in the main packages.yaml? Else I would add 4.8.0 to the generic macOS site config so that it can build with GCC.

Any objections to changing to version 4.8.0 in the main packages.yaml? Else I would add 4.8.0 to the generic macOS site config so that it can build with GCC.

I think there was a problem with 4.8.0 on one of the HPCs ... because 4.7.0 worked "everywhere" (I tested) I went for that one. I think it was on Cheyenne if I remember correctly. We can make 4.8.0 the default and change it for Cheyenne or whichever the problematic machine was.

This issue was resolved by adding a bugfix for 4.7.0 to spack (it's also in the official repo by now). We also made 4.8.0 the default.


Modal pane does not have a lot of contrast in dark themes

So I tried using the ModalPane and it works great so far. However, I find that when using dark themes, the modal pane does not stand out as much as when using a light theme. Maybe the background can be made even darker in dark themes?

Yes, you're probably right. It also can be styled via -color-modal-pane-overlay variable. I think increasing opacity a bit should fix that.


When switching projects, still can see lint errors from previous projects

Happens on v3.9.1 - easy to reproduce:

Open a project and have js-standard lint errors in them and they are visible at bottom in their own panel.
Do not fix them, just switch to another project
That panel at bottom is still there, listing those linting errors from previous project.

I expect them to disappear when switching to another project and have the linter run again for that new project or so.

I’m not able to reproduce this under v3.9.1. How do you switch to another project? Do you open it in a new window?
Either way, v3.9.2 might have fixed this. Could you let me know if that is the case for you?

Closing due to lack of response.


roslyn: remove RichCodeNav.EnvVarDump on source-build

should eliminate RichCodeNav.EnvVarDump
@crummel ptal
cc @omajid

Before merging please check the usage xml file. When it becomes available publicly I will do it myself.

I fonfirmed the report has the removal: prebuilt-report.zip


ng-cordova oauth "cannot autenticate via a web browser" error

Hi,
i read some and people saw that solution is to test it in emulator and not in browser.
I test it in my phone (nexus 4) via debug and release version of  apk but i have always this error.
Where is the mistake?
Thanks a lot

The README says you must use a device or simulator and not use ionic serve, ionic live-reload, or ionic view.
What do your full logs say?

Closing this due to duplicate issues https://github.com/nraboy/ng-cordova-oauth/issues/178


Looks good to me.


[Feature Request] 24 hour time format

It could be optional or just change. Anyway users should be able to see their date in 24 h format.

Yeah, it would be nice if users can set their own preferences, I will consider it in the next release


directly load a prepared dashboard: howto and bugfix

first - missing documentation: if you want to load a dashboard: first create it and then "save freeboard" to get a json on your local computer. then put this json on the server. then you should be able to call it like /freeboard/index.html#source=test.json (if its in the freeboard folder)
second - fix default index.html:
change in the default index.html to "$.getJSON" instead of "$.get"

and on linux freeboard does not work with firefox 35.0.1 my json sources do not get loaded. but with chrome it works with same dashboard json.

Are you receiving any sort of console errors when trying to run it on firefox?

hm. now it works on my ff on linux. strange... i'll post again if i get problems.

I was looking exactly for this. Thanks :+1:

Is this available in the master ?

the fix isn't on the master, but just change the $.get to $.getJSON and it works fine

Thanks. It works (and it seemed to work in Chrome even without the $.getJSON).

Fix is pushed to master now.  Thanks!


Add details about enabling individual API resources using --runtime-config

This is in support of beta APIs off by default KEP.  When beta APIs are off by default, we must describe how to turn particular ones on.
xref https://github.com/kubernetes/enhancements/issues/3136

Updated for comments.

We could actually have a whole new task page on how to enable a beta API, that can also cover things like editing the manifest for the relevant static pod (kube-apiserver). How do you feel about tracking that as a feature request issue @deads2k ?

Mechanics like a static pod vary by distribution.  In OpenShift for instance, this would be seamless as the operator would enable the API for a user.  I would expect distributions to indicate how to enable particular APIs using their deployment mechanism, versus this documentation which explains how the core binary itself functions.

/assign

/milestone v1.24

/milestone 1.24

/sig architecture

@deads2k Reminder that tomorrow (April 12th) is the deadline for 1.24 Docs Ready/Complete.
Could someone give this a quick tech review and /lgtm  if it’s good to go? Thank you!

technical content lgtm

/lgtm
From 1.24 Release Docs Shadow!

/cc @nate-double-u

/approve


Return timestamp of match in original recording

Hi, I was wondering if it was possible to use dejavu to retrieve the timestamp location of the match, in the original audio recording.
Thanks!

HI, Dejavu recognition returns an offset_secs value as response, I believe that might help you for the same as it basically is time in seconds where original audio recording was found.

hi Thanks for your help but i want to know how to convert offset_secs to second


Update to use boto3

It's not even new:

Boto3, the next version of Boto, is now stable and recommended for general use. It can be used side-by-side with Boto in the same project, so it is easy to start using Boto3 in your existing projects as well as new projects. Going forward, API updates and all new feature work will be focused on Boto3.

This was done - https://github.com/yunojuno/django-s3-upload/blob/master/pyproject.toml#L34
and #28 is a duplicate

Indeed it was, thanks @zerolab.


Some building components are displayed as squares.

I just started playing NMS recently, and I am learning to use your tools to complete complex buildings.
After importing json data, I found that many building parts can't display the model, but display a square in position. I read the json text, and found that the metal narrow staircase is F_FLOOR, not C_FLOOR in the plug-in. After I manually modify the json text of the save file, some of the metal building parts can be mapped into models normally.
Is this due to the change of game version or other reasons? How can I update the changes of these names due to version?

Hey there,
Thanks for using the plugin!
NMS had a patch recently which added about 270+ new building parts, and the
plugin isn't compatible yet. I am working on a fix now, but it might take
some time due to the amount of new things they added. When the plugin
doesn't recognise a new part (F_FLOOR) for example, it will display a cube
instead.
Charlie
On Sat, 11 Sep 2021, 06:41 wenxiao2012, @.***> wrote:

I just started playing NMS recently, and I am learning to use your tools
to complete complex buildings.
After importing json data, I found that many building parts can't display
the model, but display a square in position. I read the json text, and
found that the metal narrow staircase is F_FLOOR, not C_FLOOR in the
plug-in. After I manually modify the json text of the save file, some of
the metal building parts can be mapped into models normally.
Is this due to the change of game version or other reasons? How can I
update the changes of these names due to version?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/charliebanks/nms-base-builder/issues/68, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AC3OG4OEGOEHBHPNUOTUW6DUBLTYJANCNFSM5D2TBDHA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Thank you for your prompt reply! I wrote a small python script to complete the conversion of part ID in the clipboard, but I also found that there are many new parts without 3d models, which are not just as simple as changing from "metal wall" to "alloy wall".
Are the 3d models in your plugin exported from the game?


ORCA not working with binder

in binder:
plotlyjs()

Unable to load WebIO. Please make sure WebIO works for your Jupyter client. For troubleshooting, please see the WebIO/IJulia documentation.
InitError: IOError: could not spawn `/srv/julia/pkg/artifacts/a42f5c72a500a8683c08a5e818d27a104fc9cd5a/bin/orca server --port=7982 --graph-only`: no such file or directory (ENOENT)
during initialization of module ORCA

Stacktrace:
 [1] _spawn_primitive(::String, ::Cmd, ::Array{Any,1}) at ./process.jl:99
 [2] #550 at ./process.jl:112 [inlined]
 [3] setup_stdios(::Base.var"#550#551"{Cmd}, ::Array{Any,1}) at ./process.jl:196
 [4] _spawn at ./process.jl:111 [inlined]
 [5] open(::Cmd, ::Base.DevNull; write::Bool, read::Bool) at ./process.jl:370
 [6] open at ./process.jl:361 [inlined] (repeats 2 times)
 [7] restart_server() at /srv/julia/pkg/packages/ORCA/jdK40/src/ORCA.jl:84
 [8] __init__() at /srv/julia/pkg/packages/ORCA/jdK40/src/ORCA.jl:94
 [9] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:697
 [10] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:781
 [11] _require(::Base.PkgId) at ./loading.jl:1006
 [12] require(::Base.PkgId) at ./loading.jl:927
 [13] require(::Module, ::Symbol) at ./loading.jl:922
 [14] top-level scope at /srv/julia/pkg/packages/Plots/LWw1t/src/backends.jl:490
 [15] eval at ./boot.jl:331 [inlined]
 [16] _initialize_backend(::Plots.PlotlyJSBackend) at /srv/julia/pkg/packages/Plots/LWw1t/src/backends.jl:489
 [17] backend at /srv/julia/pkg/packages/Plots/LWw1t/src/backends.jl:174 [inlined]
 [18] plotlyjs(; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /srv/julia/pkg/packages/Plots/LWw1t/src/backends.jl:31
 [19] plotlyjs() at /srv/julia/pkg/packages/Plots/LWw1t/src/backends.jl:31
 [20] top-level scope at In[6]:1

https://github.com/fomightez/orca-plotly-binderized/blob/master/postBuild

https://github.com/plotly/orca/issues/150

I believe this is outdated since ORCA is no longer a required dependency


Memory spikes when using plugins with<EMAIL_ADDRESS>

We recently upgraded from graphql-mesh v0 to @graphql-mesh/compose-cli v1 + Hive Gateway as recommended by the migration guide.
Here are our relevant dependencies and versions:
"dependencies": {
    "@envelop/core": "^5.0.1",
    "@graphql-hive/gateway": "^1.0.8",
    "@graphql-mesh/compose-cli": "^1.0.2",
    "@graphql-mesh/supergraph": "^0.8.6",
    "graphql": "^16.8.1",
    "graphql-yoga": "^5.6.0",
  },

Here's our config:
import { defineConfig } from "@graphql-hive/gateway";
import plugins from "@app/plugins/init";

export const gatewayConfig = defineConfig({
  supergraph: "supergraph.graphql",
  port: 8000,
  plugins: () => [...plugins],
  executionCancellation: true,
  upstreamCancellation: true,
  pollingInterval: oneYearInMs,
});

Before V1, memory usage was a plateau and stable. After upgrading to use hive gateway, we immediately observed unstable memory utilization.

Zooming in, every 15 to 30 minutes, there is a sharp spike in memory.

Our only clue was this release note in mesh v0.98.7 that referenced memory leaks from plugins.
We're using a mix of homegrown plugins that perform various functions such as datadog tracing and graphql-armor vendor plugins. We ran a short experiment to turn them all off and didn't observe any memory spikes:

To isolate against the possibility of the content of our plugins being the issue, we created a barebones empty plugin to see if we still saw a memory spike just with that, and we did. Using the below config, with just a plugin that hooks into onFetch and onExecute, we still saw a memory spike after around 20 minutes.
export const gatewayConfig = defineConfig({
  supergraph: "supergraph.graphql",
  port: 8000,
  plugins: () => [
    {
      onFetch: () => {},
      onExecute: () => {},
    }
  ],
  executionCancellation: true,
  upstreamCancellation: true,
  pollingInterval: oneYearInMs,
});

This made it seem clear to us that there must be some memory leakage going on within the plugin infrastructure that could be similar to the issue referenced in the graphql-mesh release notes.

Hey there! Thanks for reporting. For me to debug this in depth I'd need to a bit more about the test env you have and create a benchmark that's replicating the behaviour in order for to pin-point the issue.
Can you tell me:

Which Node version are you using?
Does the traffic change for the 15-20min spike, what is happening during that time?
Is there consistently a spike every 15-20mins or at random times? Also during low traffic?
How are you performing the test? Constant VUS over time or are you using some sort of real traffic?

@enisdenjo Thank you for the quick reply!

Which Node version are you using?

We're running the gateway on a docker container in a kubernetes pod. The docker container is running node 20.14.0.

Does the traffic change for the 15-20min spike, what is happening during that time?
Is there consistently a spike every 15-20mins or at random times? Also during low traffic?
How are you performing the test? Constant VUS over time or are you using some sort of real traffic?

This is with real traffic. It's overall constant, but we do get generally lower traffic overnight. The spikes are consistently every 15-20 minutes, but not exactly.


Project questions

This is more a question (would be great if you enabled discussions in this project).  Is this project alive and kicking (you did merge my pr quickly.  :)  thanks)?  Do you have any type of roadmap or ideas for it?  I did see one other person fork it recently and enable the service in docker (which i really like).  I am looking for a solution for my keystone RV and trying to decide between a couple of projects and/or running my own thing.
My goals are really just to get and set basic RV-C devices from my 2021 keystone cougar in home assistant.
I am a software developer by trade so i have some familiarity with this stuff but just getting up to speed on rv-c and even mqtt.
look forward to hearing back from you.
Thanks

I have been watching projects like this one in the same endeavor to integrate the RV systems into HA, especially since HA is working on a watch app!  I'm interested in helping where I can if you find a project to collaborate on.  :)

Discussions are now enabled! :)
The project is alive.. but life has gotten in the way on making more progress.  I originally created CoachProxy ( which is now open-sourced at CoachProxyOS.  This project 'rvc-monitor-py' is meant as a drop-in replacement for the Perl decoder that's part of CoachProxyOS.
As far as roadmap -- my intention is exactly the type of thing you're talking about... creating a proxy layer between RV-C ( and the rvc-monitor.py output / input ) and Home-Assistant.  We ( @greendog99 and a few other random people here or there ) have discussed that that proxy layer would look like, but we've never gotten to consensus.
Ultimately, I think the best option is to have the 'proxy' handler allow for declarative configuration ( via Yaml ) the same as the decoder does.  The way some devices in the coach are handled causes a lot of pain with this approach.
For Spyder Controls based RV-C systems (at least), not all of the controls in an RV are mapped to the explicit RV-C DGN that you'd think would be used.  Example, Shade controls -- on most Tiffin coaches, the side of the coach with the highest count of motorized shades have a dedicated 'shade' controller, which does use the Windows Shade status/control DGNs.  However, on the other side of the coach, they use the DC_DIMMER command/status DGNs which require turning on one dimmer ID, while turning off the other, in order to roll the shade up or down.  Same for roof vents.  The 2 speed ceiling fan in the bedroom also has 2 DC_DIMMER ID's associated, one for low, one for high -- but both cannot be on at the same time, and both off == the fan is off.
There are also variations in how heated floors are handled, based on the year of the coach.  And, how the heating / cooling controls are handled, etc...
So, the declarative configuration has to be flexible enough to handle simple things ( Light to DC_DIMMER_ID mapping, easy ), to much more complex things which may need lots more helper code.
Very welcome to more contributions in the form of discussions, code, issues, etc..
fwiw, I use my CoachProxy with additional helper code in NodeRED to interface with HomeAssistant.
Welcome!  I'm excited to see people interested in the project. :)

As for me, after 7 years on the road full-time we sold our RV and are stationary again, so all my tinkering time goes into "normal" home assistant stuff, not RV-C related. Hope this project keeps moving forward though... would be great to have a real replacement for the old CoachProxy code some day :-)

Thanks for the updates and the background.
I did some pretty big refactor although i think you both will recognize a lot of code.
Because of that i spawned a new project.   https://github.com/spbrogan/rvc2mqtt
I moved things around.  Tried to decouple the rvc, app, and can layers.  I cut out the MQTT layer so at the moment it really is just an RVC decoder.   I plan to add back once the floorplan concept (map/config) is integrated.
My goal is next to make the docker image a little better, take a config file from a docker volume, and do the same with logging.
The idea with the config volume is that someone deploying the container could adjust the config from their host without having the change the docker image/src.  I also think the config volume could contain the simple mapping file and maybe even a "python plugin" that could translate devices to friendly sensors.  Anyway, just wanted to give heads up.  we will see where the project will go and if any of that sounds interesting feel free to contribute in any way you see fit.

Thanks for the link!  I'm happy to see someone moving forward with an HA integration.
I'm curious.. what hardware are you using?  Still the Pi + CAN-bus hat?  Or something else?
( I ask because of the docker use -- seems excessive for a Pi.. :D )

I am using a pi zero right now...plan to switch to pi3 (lower power than 4 and wired ethernet).
Docker..because it is just so easy to keep iterations isolate and do deployment.  it doesn't mess up native packages on the raspberrypi and lowers the dependencies.  A pi 3 or 4 could run a fair number of docker containers without much impact so again it really is just about the easy deployment and maintenance model.

Happy to help with testing! I have an Entegra Aspire 2022 and using the CP version from ERVIN on pi 3 with CAN, and running latest HomeAssistant on pi4. I am using the HUE integration on HA to control lights and awnings and Node-red in Home Assistant to read sensors with MQTT.


UI from beta

. bring latest UI enhancements from Beta
. bring level map fix bug from Beta
. update to support C# 8 lang.

Except for a toggle under SRD _ didn’t migrate conjure fey patch _ and the DMPRO merge, code under Viewers is almost identical to beta.


iOS Object Detection with Custom .tflite file: "Failed to allocate memory for input tensors."

I am trying to run the sample iOS with a custom .tflite file (download) where only one object exists.
When the app loads, it crashes with the error Failed to create the interpreter with error: Failed to allocate memory for input tensors..
Here is a comparison of both .tflite files (left: original, right: custom):

As shown in the image, input tensors exist. What is the reason for this error?

Hi @MHX792. Which sample app were you trying to run? Can you provide a way to reproduce the error?


Multiple commands produce "FirebaseFirestore_Privacy.bundle"

I have updated the Podfile as shown below.
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.24.0'

However, when I tried to execute "Product > Archive" in Xcode, an error occurred that prevented the archiving process.
Multiple commands produce '/Users/UserName/Library/Developer/Xcode/DerivedData/AppName/Build/Intermediates.noindex/ArchiveIntermediates/AppName/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/FirebaseFirestore_Privacy.bundle

Do you have any solutions to this issue?
Thanks

I am receiving the same issue today.

Same:
Error (Xcode): Multiple commands produce
'/Users/UserName/Library/Developer/Xcode/DerivedData/AppName/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/FirebaseFirestore_Privacy.bundle'
After update to 10.24

Closing as this is fixed 👍

With the following Podfile, the cleanup steps don't fix it:
# Override Firebase SDK Version
$FirebaseSDKVersion = '10.23.0'
# Uncomment this line to define a global platform for your project
platform :ios, '13'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => $FirebaseSDKVersion
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # Using the un-qualified names means you can swap in different implementations, for example ccache
      # https://reactnative.dev/docs/0.69/build-speed#xcode-specific-setup
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
        config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
        config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
        config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
        config.build_settings["CC"] = "clang"
        config.build_settings["LD"] = "clang"
        config.build_settings["CXX"] = "clang++"
        config.build_settings["LDPLUSPLUS"] = "clang++"
    end
    flutter_additional_ios_build_settings(target)
  end
end


Out of Memory Waveform Loading

Pretty big PR here with the following changes:

Adds out of memory waveform loading

waveforms are now loaded from disk, supporting multiple or single files
chunks of waveforms are loaded  from the files, the size of which defined by argument chunk_size. This is handled by Hdf5WaveformLoader (analogous to Hdf5TimeseriesDataset)
batches of waveforms are then sampled from these chunks. The rate at which a new chunk is loaded in is defined by chunks_per_epoch argument. This is handled by ChunkedWaveformLoader (analogous to ChunkedTimeSeriesDataset)
waveform slicing now happens in on_before_batch_transfer lightning hook. In the future we could do the slicing directly in the dataloader (or, just do the slicing during data generation)

Renamed TimeslideWaveforms to TestingWaveforms for consistency (and honestly clarity). Standardized the TestingWaveforms, TrainingWaveforms, and ValidationWaveforms tasks to inherit from the same WaveformParams object.

The TrainingWaveforms task is now condorized. It also now uses the IntrinsicWaveformSet.from_parameters API to generate waveforms. We can probably get rid of / clean up some of the data.waveforms module now.

[x] Running into memory problem sending large training file to remote cluster; I think we can get rid of the TrainingWaveforms merge and just send multiople files since the dataloading supports it

End to end run complete: https://ldas-jobs.ligo-wa.caltech.edu/~ethan.marx/waveform-sampler.html
wandb: https://wandb.ai/ml4gw/aframe/runs/dmeky0uq?nw=nwuserethanmarx
No improvement going to 1,000,000 waveforms sadly

@wbenoit26 Also want to point out that I snuck in some additions to the ledger and rejection sampling code that adds ability to store individual ifo snrs.
Basically adds an ifos metadata field and an ifo_snrs field

Yeah, I saw that. Seems like a good addition to have - no reason not to track that information


SPS30 sensor get serial fail

Hi,
I have some problems with your SPS30 sensor with the TI CC3220MODASF MCU.
Using your SDK (sps30_get_serial), and when I read the serial number, I only get "FF" bytes and the CRC check fails.
can you help me solve my problem?
Note: I am using your SCD30 sensor with the same MCU as TI CC3220MODASF and everything is working properly.
Thank yo

Hi @FATRI
Can you show the full code you are using? Also did you make sure that the sensors starts in i2c mode and not in UART mode (pin4 pulled to ground)?

Hi,
Thank your for your reply, Pin4 is pulled to ground to start the sensor in I2C mode.
First i initialize the I2C on CC3220MODASF MCU.
then I use the following code to init the SPS 30 sensor :
int8_t initSPS30()
{
int8_t l_iCounter = 0;
/* Busy loop for initialization, Simply to check that the sensor
 * is connected to the board successfully
 */
while (sps30_probe() != STATUS_OK)
{

    sleep(1);
    l_iCounter++;
    if (l_iCounter == 5)
    {
        return FAILURE;
    }
}

return SUCCESS;

}
__s16 sps30_probe() {
char serial[SPS_MAX_SERIAL_LEN];
return sps30_get_serial(serial);

}
__s16 sps30_get_serial(char *serial) {
__u16 i;
__s16 ret;
union {
char serial[SPS_MAX_SERIAL_LEN];
__u16 __enforce_alignment;
} buffer;
ret = sensirion_i2c_read_cmd(SPS_I2C_ADDRESS, SPS_CMD_GET_SERIAL,
                             (__u16 *)buffer.serial,
                             SENSIRION_NUM_WORDS(buffer.serial));
if (ret != STATUS_OK)
    return ret;

SENSIRION_WORDS_TO_BYTES(buffer.serial, SENSIRION_NUM_WORDS(buffer.serial));
for (i = 0; i < SPS_MAX_SERIAL_LEN; ++i) {
    serial[i] = buffer.serial[i];
    if (serial[i] == '\0')
        return 0;
}

return 0;

}
__s16 sensirion_i2c_delayed_read_cmd(__u8 address, __u16 cmd, __u32 delay_us,
__u16 *data_words, __u16 num_words) {
__s16 ret;
__u8 buf[SENSIRION_COMMAND_SIZE];
sensirion_fill_cmd_send_buf(buf, cmd, NULL, 0);
ret = sensirion_i2c_write(address, buf, SENSIRION_COMMAND_SIZE);
if (ret != STATUS_OK)
    return ret;

if (delay_us)
    sensirion_sleep_usec(delay_us);

return sensirion_i2c_read_words(address, data_words, num_words);

}
__s16 sensirion_i2c_read_cmd(__u8 address, __u16 cmd, __u16 *data_words, __u16 num_words)
{
return sensirion_i2c_delayed_read_cmd(address, cmd, 0, data_words,
num_words);
}
__s16 sensirion_i2c_read_words(__u8 address, __u16 *data_words, __u16 num_words) {
__s16 ret;
__u8 i;
ret = sensirion_i2c_read_bytes(address, (__u8 *)data_words, num_words);
if (ret != STATUS_OK)
    return ret;

for (i = 0; i < num_words; ++i)
    data_words[i] = be16_to_cpu(data_words[i]);

return STATUS_OK;

}
__s16 sensirion_i2c_read_bytes(__u8 address, __u8 *data, __u16 num_words) {
__s16 ret;
__u16 i, j;
__u16 size = num_words * (SENSIRION_WORD_SIZE + CRC8_LEN);
__u16 word_buf[SENSIRION_MAX_BUFFER_WORDS];
__u8 * const buf8 = (__u8 *)word_buf;
ret = sensirion_i2c_read(address, buf8, size);
if (ret != STATUS_OK)
    return ret;

/* check the CRC for each word */
for (i = 0, j = 0; i < size; i += SENSIRION_WORD_SIZE + CRC8_LEN) {

    ret = sensirion_common_check_crc(&buf8[i], SENSIRION_WORD_SIZE,
                                     buf8[i + SENSIRION_WORD_SIZE]);
    if (ret != STATUS_OK)
        return ret;

    data[j++] = buf8[i];
    data[j++] = buf8[i + 1];
}

return STATUS_OK;

}
On The last function After sensirion_i2c_read (I receive a series of FF), then the CRC check fail??

On The last function After sensirion_i2c_read (I receive a series of FF), then the CRC check fail??

If you just receive 0xFF you should also get an error code returned. Can you also post the source of your I2C implementation? I suspect there is something wrong there.

The Error code returned is : -1
The I2C code used is  :
/*

Functions :

sensirion_i2c_read
***********************/
__s8 sensirion_i2c_read(__u8 address, __u8 data, __u16 count)
{
__s8 l_scStatus;
uint8_t l_ucbuf_reg[1];
l_ucbuf_reg[0] = address;
/Indicate the register to be read/
l_scStatus = I2C_IF_Write(address, l_ucbuf_reg, 1);
if (l_scStatus == SUCCESS)
{
/*
* Delay*/
UtilsDelay(100000);
/* Read from the indicated register */
l_scStatus = I2C_IF_Read(address, data, count);
}
return l_scStatus;
}
/*

Functions :

sensirion_i2c_write
***********************/
__s8 sensirion_i2c_write(__u8 address,  __u8 data, __u16 count)
{
__s8 l_scStatus;
l_scStatus = I2C_IF_Write(address, data, count);
return l_scStatus;
}

int I2C_IF_Write(unsigned char ucDevAddr, unsigned char pucData,
unsigned char ucLen)
{
//    unsigned char buf_read[2];
/ Point to the concerned register and read its readLen bytes */
i2cTransaction.slaveAddress = ucDevAddr;
i2cTransaction.writeBuf = pucData;
i2cTransaction.writeCount = ucLen;
i2cTransaction.readBuf = NULL;
i2cTransaction.readCount = 0;
if (I2C_transfer(i2c, &i2cTransaction))
{

//        UART_PRINT("I2C Transfer SUCCESS \n\r");
return SUCCESS;
}
else
{
UART_PRINT("I2C Bus fault\n\r");
return FAILURE;
}
}
//****************************************************************************
//!I2C_IF_Read_Reg
//! \return 0: Success, < 0: Failure.
//****************************************************************************
int I2C_IF_Read(unsigned char ucDevAddr, unsigned char pucData,
unsigned char ucLen)
{
/ Point to the concerned register and read its readLen bytes */
i2cTransaction.slaveAddress = ucDevAddr;
i2cTransaction.writeBuf = NULL;
i2cTransaction.writeCount = 0;
i2cTransaction.readBuf = pucData;
i2cTransaction.readCount = ucLen;
if (I2C_transfer(i2c, &i2cTransaction))
{

//        UART_PRINT("I2C Transfer SUCCESS \n\r");
return SUCCESS;
}
else
{
UART_PRINT("I2C Bus fault\n\r");
return FAILURE;
}
}
Nb: This the same I2c code that i use for communicating with SPS30 sensor.

Hi @FATRI
Could you please clean up the code before posting? The indentation is quite bad which makes it hard to follow. Also the types do not correspond to the driver. We cannot support you if you change parts of the framework, e.g. the typedef statements used would be helpful in this case.
Please also use the code markers (<> button) to make sure that the formatting is not affected by styling.
One thing I did spot while glancing at the code is the following signature which should cause a compiler warning (unless you also changed the header):
 __s8 sensirion_i2c_write(__u8 address, __u8 data, __u16 count)
Assuming that __u8 is mapped to unsigned char (our u8 / uint8_t), data should be a pointer __u8 *data

Thank you for your reply.
Below the cleaned code :
`/*

Functions :

sensirion_i2c_read
***********************/
int8_t sensirion_i2c_read(uint8_t address, uint8_t data, uint16_t count)
{
int8_t l_scStatus;
uint8_t l_ucbuf_reg[1];
l_ucbuf_reg[0] = address;
/Indicate the register to be read/
l_scStatus = I2C_IF_Write(address, l_ucbuf_reg, 1);
if (l_scStatus == SUCCESS)
{
/*
* Delay*/
UtilsDelay(100000);
/* Read from the indicated register */
l_scStatus = I2C_IF_Read(address, data, count);
}
return l_scStatus;
}
/*

Functions :

sensirion_i2c_write
***********************/
int8_t sensirion_i2c_write(uint8_t address,  uint8_t data, uint16_t count)
{
int8_t l_scStatus;
l_scStatus = I2C_IF_Write(address, data, count);
return l_scStatus;
}

//****************************************************************************
//!I2C_IF_Read_Reg
//! \return 0: Success, < 0: Failure.
//****************************************************************************
int I2C_IF_Read(unsigned char ucDevAddr, unsigned char pucData,
unsigned char ucLen)
{
/ Point to the concerned register and read its readLen bytes */
i2cTransaction.slaveAddress = ucDevAddr;
i2cTransaction.writeBuf = NULL;
i2cTransaction.writeCount = 0;
i2cTransaction.readBuf = pucData;
i2cTransaction.readCount = ucLen;
if (I2C_transfer(i2c, &i2cTransaction))
{
    return SUCCESS;
}
else
{
    UART_PRINT("I2C Bus fault\n\r");
    return FAILURE;
}

}
//****************************************************************************
//!I2C_IF_Write_Reg
//! \return 0: Success, < 0: Failure.
//
//****************************************************************************
int I2C_IF_Write(unsigned char ucDevAddr, unsigned char pucData,
unsigned char ucLen)
{
/ Point to the concerned register and read its readLen bytes */
i2cTransaction.slaveAddress = ucDevAddr;
i2cTransaction.writeBuf = pucData;
i2cTransaction.writeCount = ucLen;
i2cTransaction.readBuf = NULL;
i2cTransaction.readCount = 0;
if (I2C_transfer(i2c, &i2cTransaction))
{
    return SUCCESS;
}
else
{
    UART_PRINT("I2C Bus fault\n\r");
    return FAILURE;
}

}
`

int8_t sensirion_i2c_read(uint8_t address, uint8_t* data, uint16_t count)
{
   int8_t l_scStatus;

   uint8_t l_ucbuf_reg[1];
   l_ucbuf_reg[0] = address;

    /*Indicate the register to be read*/
   l_scStatus = I2C_IF_Write(address, l_ucbuf_reg, 1);
    if (l_scStatus == SUCCESS)
    {
        UtilsDelay(100000);
      // Read from the indicated register
        l_scStatus = I2C_IF_Read(address, data, count);
    }
   return l_scStatus;
}

Why do you call I2C_IF_Write in this function? It is only supposed to read from the I2C bus.

Thank you for your help.
I wanted to use I2C_IF_Write to indicate the registre that i will read from it the data, but it is this function that causes me the error.
which weird, i already use the same way with SCD30 and read the data.

Weird indeed.  sensirion_i2c_read is just intended to read, any write before the read, to indicate the register to read, is done by the sps30 driver itself using sensirion_i2c_write.
But glad that you could solve your issue :slightly_smiling_face:

Thank you for your help.
you are right, i use write before read to indicate the registre to read, i forgot that SPS30 driver set a registre to read before this step. This is a mistake that i make.
but, i use the same way with the SCD30 and i can read data??
Best regards.

but, i use the same way with the SCD30 and i can read data??

I'm not sure, it probably just works by chance. Maybe the SCD30 just ignores the second write access since it is invalid or it is exactly the same register address that you send additionally. Either way, you should just remove the write call from your SCD30 driver as well.


put tests in their own subdirectory

Tests will start to get confusing with this being a module that people will use. put tests in their own subdirectory.

issue closed with feature merge.


ci: enable manifest and luet repo for arm64

Now that we have published the artifacts, we can rely again in the cos
repo to install luet and packages in the system with the side effect of
being able to enable the manifest generation for arm64
Signed-off-by: Itxaka<EMAIL_ADDRESS>

only arm64 job should pass for this PR

nice, we got all packages from the releases-green-arm64 repo :D


Training doesn't converge

Hi Fangchang:
Thank you so much for sharing this great project!
I have tested your pre-trained self-supervised model, it's RMSE is around 1300, matched with your paper.
But when I try to train the model with this command:
python main.py --train-mode sparse+photo
on 2 Tesla-V100 GPU for around 15 epochs, it can only converge to RMSE ~8k-9k and never further. I didn't change any hyper parameter from your code, just the batch-size is smaller than you mentioned (8).
Are there any parameters or options I need to change from this Github repo? Or do you have any suggestions on training?
Thank you so much!
Sincerely,
Ziyue Feng

I have the same question.
Have you tried batchSize =16?
I tried batchSize =8 with 2*TITAN RTX, but it doesn't converge either.
But when I increased the weight of photometric_loss to 1, the first epoch converged to RMSE1400 +, and later epoches diverged.

I have the same question.
I tried batchSize =8 with 2TITAN RTX, but it doesn't converge either.Same situation as you,RMSE ~8k-9k.
then I increased the weight of photometric_loss to 1, the first epoch converged to RMSE1400 +, and later epoches diverged.
I see in his trained model file, bs =16,(4TITAN RTX?).I don't have that many GPUs to experiment
Have you tried batchSize =16?

@fengziyue
I have the same question.
I tried batchSize =8 with 2TITAN RTX, but it doesn't converge either.Same situation as you,RMSE ~8k-9k.
then I increased the weight of photometric_loss to 1, the first epoch converged to RMSE1400 +, and later epoches diverged.
I see in his trained model file(sparse+photo), bs =16,(4TITAN RTX?).I don't have that many GPUs to experiment
Have you tried batchSize =16?

No I didn’t make it converge
On Tue, Apr 6, 2021 at 9:54 PM Zoengkyun @.***> wrote:

@fengziyue https://github.com/fengziyue
I have the same question.
I tried batchSize =8 with 2TITAN RTX, but it doesn't converge either.Same
situation as you,RMSE ~8k-9k.
then I increased the weight of photometric_loss to 1, the first epoch
converged to RMSE1400 +, and later epoches diverged.
I see in his trained model file(sparse+photo), bs =16,(4TITAN RTX?).I
don't have that many GPUs to experiment
Have you tried batchSize =16?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fangchangma/self-supervised-depth-completion/issues/50#issuecomment-814543224,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCA33X42GHN743A2FO3RTDTHO3LFANCNFSM4WUI5MIQ
.

@fangchangma
Thanks for sharing !
We can't make it converge with self-supervised
Do you have any suggestions on training?
This is very important,thank you!

I'm the same with you. I think the precision of this research is not realiable.

@fangchangma
I also encountered the same problem. Could you give us some responses?


Feature: add validity check for missing z* files

is it possible to add (or change existing) validity check that will verify if all split files exists?
it happens that sometimes one or few zip split files (z01, z02 ...etc.) are missing on the disk (due to various reasons, not related to zip4j). The extractAll method will start the extraction and will fail only when it encounter the missing file with
Caused by: java.io.FileNotFoundException: zip split file does not exist: /home/ec2-user/bigZip.z11
it would be nice if i could test for missing files in advance. (like zipFile.isValidZipFile() add zipFile.isValidSplitZipFile() )

Sure, I think it is a good idea as well. I will add this logic to the existing ZipFile.isValidZipFile() method.

Feature added. Will include it in the next release

👍

Feature added in v2.6.2 released today.