Unpack solution overwrites the folder, deleting git repository files

You might want to add some documentation on what the Unpack solution task actually does.
By default it "overrides" the folder. So if you unpack to $(Build.SourcesDirectory), then it "takes control" over that folder. And when "Allow overwrite on existing files", the task actually performs a cleanup and deletes files from ./.git/ folder.
If you try to use git (to for example push the unpacked files back to repository), then you'll get an error fatal: not a git repository (or any of the parent directories): .git
A snippet from Unpack solution task log:
Unmanaged Extract complete.

There are 27 unnecessary files
Deleting files...
Clobbering: d:\a\1\s\.git\objects\00\a551c619efcf7954152885f52c71094127b703
Clobbering: d:\a\1\s\.git\objects\0c\a446aab9d09eac8625b53e3df8da661976c458
Clobbering: d:\a\1\s\.git\objects\98\04b758e84cac41a6acc4d011f57310a1f63102
5 warnings encountered
0
Finishing: Power Platform Unpack Solution

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

ID: e2d7f63d-dcde-f057-555a-3fffce0f229c
Version Independent ID: e4bba5f7-ae53-260f-269b-c8ad002ef696
Content: Build tool tasks - Power Platform
Content Source: power-platform/alm/devops-build-tool-tasks.md
Service: powerapps
GitHub Login: @mikkelsen2000
Microsoft Alias: pemikkel

@kornakar
Please provide the topic where this content occurred.

@kornakar
Please provide the topic where this content occurred.

Added the document link to the original message.


unexpected 'i' was used before it was declared, which is illegal for 'let' variables.

  function f() {
    "use strict";
    for (let i = 1, j = i; j < 100; j += i, i = j - i) {
      console.log(i);
    }
  }

Thanks for the report! Here's a further-reduced example:
// jshint esversion: 6
for (let x, y = x; ;) void y;

This is a regression in version 2.10.0. It's limited to for statements; JSHint 2.10.1 continues to parse variable declarations correctly:
// jshint esversion: 6
let x, y = x;
void y;

Version 2.10.0 introduced a lot of new features, so folks may not want to wait for a fix. One short-term workaround would be to declare the bindings outside of the for statement, adding an additional block scope if that's important. In terms of Viktor's original example:
 function f() {
   "use strict";
+  {
+    let i, j;
-    for (let i = 1, j = i; j < 100; j += i, i = j - i) {
+    for (i = 1, j = i; j < 100; j += i, i = j - i) {
       console.log(i);
     }
+  }
 }

That's far from ideal, so I'm prioritizing the fix!

https://github.com/jshint/jshint/blob/master/src/jshint.js#L4337
noin is 2 here and so this block will not call state.funct["(scope)"].initialize(t.id);, and the error is reported from https://github.com/jshint/jshint/blob/master/src/scope-manager.js#L975 , I think.
Although, the code looks strange, it doesn't check if there is an initialization...
Seems, I cannot fix it.

Thanks for taking a closer look! I just submitted a patch to fix this: gh-3376; more detail is available there


Remove the viewer option from the PDFPresentationMode constructor

The viewer option was only used for checking that a document is loaded in PDFPresentationMode.request, however that's just as easy to do by simply utilizing BaseViewer.pagesCount instead and this way we can also avoid the DOM lookup.

/botio-linux preview

Nice decoupling!


UTM SE: startup.nsh

UTM SE windows XP, just does not work.
every time i try to boot it, it says press ESC in 5 seconds to skip startup.nsh or any other key to continue.
Shell>
And i do not know how to press ESC, someone help!!!
Configuration (required)

UTM Version: UTM SE first version
OS Version: 17.4
Device Model: Base Iphone 11
Is it jailbroken (name jailbreak used)? No
How did you install UTM? App Store

Pay attention to the screen preceding the screen that results in the Shell>
You need to hit a key before getting to that screen to start the boot/install process. At least that's what worked for me.
It took a very long time to install, including a couple of times it seemed to get frozen resulting in me restarting (after the initial installation was completed). On my M4 iPad, I can only say that it's sloooooooow. Really, really, slooooooow.

Pay attention to the screen preceding the screen that results in the Shell> You need to hit a key before getting to that screen to start the boot/install process. At least that's what worked for me. It took a very long time to install, including a couple of times it seemed to get frozen resulting in me restarting (after the initial installation was completed). On my M4 iPad, I can only say that it's sloooooooow. Really, really, slooooooow. (It does seem to be a little faster on second boot. Even slow, it's remarkable to see an x86 OS running as a VM on Apple Silicon. Thanks to the UTM contributors for making this happen.)

but it didnt work?

UTM SE windows XP, just does not work. every time i try to boot it, it says press ESC in 5 seconds to skip startup.nsh or any other key to continue. Shell>
And i do not know how to press ESC, someone help!!!
Configuration (required)

UTM Version: UTM SE first version
OS Version: 17.4
Device Model: Base Iphone 11
Is it jailbroken (name jailbreak used)? No
How did you install UTM? App Store

I met the same issue, just press any key to start the boot process as @vernonstinebaker said

but it didnt work?

Yes. It works.

You accidentally enabled UEFI,
go into QEMU settings and disable it

@vernonstinebaker it really doesn't work bro

https://github.com/user-attachments/assets/a9bc2203-6f47-45c4-949a-2544136d8a9d


Merge pull request #6725 from neiljerram/openstack-watch-mtu

Calico for OpenStack: Handle changing MTU in the scenarios where Nova and libvirt successfully handle that
This backports #6725 to the release-v3.22 branch.
Release Note

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

Failure in Felix FV is unrelated, so I will merge this.


New export type: all records with OCLC numbers

We would like to create a new export for all records with OCLC numbers (e.g., everything we think we can share), stripping out the 583 field (includes private notes for RBSC items)

(Can be any sort of endpoint)

Notes on policy (in ITIMS team drive): https://docs.google.com/document/d/1rdPQ4G9rpG63KKoCQOnG0CdEkbP5Lo4sbIEhh9csT20/edit

Ivy Plus data lake proposal: https://docs.google.com/document/d/1uaMFlVA4_c4CFvGZNDZ_dlMLCCzTPmgAEQXY31YEarc/edit

Latest draft proposal for how this would work: https://docs.google.com/document/d/1uz6G4qvD_wnT-bhOBbOgJWhxppUT9fnRYDpdfwDsf0g/edit#heading=h.jem4s4a2v25p
TL;DR: we would have a client that would POST to a web service, with either MARC21/MARCXML in the body, or with the URL where it could be downloaded.

Here is a quick and dirty script that we could use to produce the files for an initial dump:
https://gist.github.com/hectorcorrea/e1e40a312ce93c1ac5d2ec0be5502373
A more sophisticated approach would probably be desired for continuous updates to the data.

@hectorcorrea I was playing around with this a couple of weeks ago, writing some scripts to fetch a full dump from bibdata and do the same filtering: https://github.com/escowles/pod_scripts/
I tried in both Ruby using ruby-marc and in Java using MARC4J, to see what the relative performance was. I would be very interested to see how that stacked up to marcli, too.

I finally ran and compared Esmé's implementations.
The Ruby version is way too slow, it takes about ~7 minutes per file, that translates to 13+ hours for all 100 files.
The Java implementation is incredibly fast, it takes about 10 seconds per file.
The Go implementation is somewhere in between, it takes 35 seconds per file.
I forked Esmé's repo and put it under https://github.com/pulibrary/pod_scripts and standardized the scripts to run each of the implementation so that it's easier to compare and contrast.

From @kevinreiss: There are some items with OCLC numbers that we don't loan outside of Princeton. We should be able to identify these by their shelf location codes.

@escowles good to know. I've just pushed a full load to POD with data from the 113 dump files: https://pod.stanford.edu/organizations/princeton.
I used your Java program with a few modifications (https://github.com/pulibrary/pod_scripts) but we can easily tweak it to exclude certain locations and re-post the files. The files that I uploaded are old anyway (Jan/2021) and a new set would be a good idea.

@hectorcorrea 👍🏻 good to get that uploaded now so people can see what our data look like. We'll have plenty of time to refine the process before anyone starts using this data in production (not expected until 2022).

Superseded by POD job in lib_jobs.


Revert "Merge pull request #857 from imjasonh/no-the-other-gcp-auth-plugin"

This reverts commit 2ba47b909ae46d6d85bdd8221e4d651bc8fb1314, reversing changes made to 6a7e4c627d3fcba3e2ad020f1c981243d64ba08a.
Ref: #857
This PR had broken Go's ability to fully resolve the build list:
$ go list -v -m all
get "k8s.io/cloud-provider-gcp/providers": found meta tag vcs.metaImport{Prefix:"k8s.io/cloud-provider-gcp", VCS:"git", RepoRoot:"https://github.com/kubernetes/cloud-provider-gcp"} at //k8s.io/cloud-provider-gcp/providers?go-get=1
get "k8s.io/cloud-provider-gcp/providers": verifying non-authoritative meta tag
go<EMAIL_ADDRESS>invalid version: unknown revision<PHONE_NUMBER>00

cc: @imjasonh @xnox

Was it me with my by hand conflict resolution?!


Capture @click event

Is your feature request related to a problem? Please describe.
I want to use my grid items as buttons - but I can't get the mouseDown event.
Describe the solution you'd like
I'd like to get some sort of event when the user clicks in the grid item.
Additional context
In my instance, I have resizing and editing disabled. I'd like to know when the user clicks anywhere inside the grid item. Currently any @click events don't fire..

Thats something you have to implement yourself. Create a button or a clickable div on each grid item and handle the click events.


Order of timing details

The order of timings that gets printed out seems a bit difficult to follow :-
{'name': 'simulation_step_1', 'timings': {'units_stageout_first_started': {'abs': None, 'rel': None}, 'start_time': {'abs': datetime.datetime(2015, 3, 10, 11, 39, 47, 103482), 'rel': datetime.timedelta(0, 0, 619)}, 'units_exec_last_finished': {'abs': datetime.datetime(2015, 3, 10, 15, 40, 2, 69000), 'rel': datetime.timedelta(0, 0, 717000)}, 'units_stagein_first_started': {'abs': None, 'rel': None}, 'end_time': {'abs': datetime.datetime(2015, 3, 10, 11, 40, 2, 213710), 'rel': datetime.timedelta(0, 15, 110847)}, 'units_stageout_last_finished': {'abs': None, 'rel': None}, 'units_exec_first_started': {'abs': datetime.datetime(2015, 3, 10, 15, 40, 1, 352000), 'rel': datetime.timedelta(0)}, 'units_stagein_last_finished': {'abs': None, 'rel': None}}}

The order is different from what is shown in 6.2.1.

Also,

"simulation_step_iter_1" would be easier to understand than "simulation_step_1".
I think the "units" in "units_stageout_*" can be avoided too or replaced with "step" or "simulation/analysis". This would make sense to users (non-RP users, who might not be familiar with "units") who would like to do some scaling tests (with their specific kernels for e.g.).

I Vivek - I have fixed the naming (among some other improvements). Please check http://radicalensemblemd.readthedocs.org/en/latest/dev_profiling.html.
Hope this makes more sense now. Please close the ticket if you think your comments have been addressed.

Yes, it does.


Allow using dithering with hard shadow mapping

When using the Hard shadow filter mode for performance reaons, this can be used to improve 3D shadow rendering quality at little performance cost. It works with both fixed blur and variable blur (non-zero size or angular distance).
This is similar to https://github.com/godotengine/godot/pull/53967, but for master this time.
I recommend merging this after https://github.com/godotengine/godot/pull/53961 so dithering can be disabled for hard shadows if needed.
Preview
Variable blur (SpotLight3D)

Fixed blur (OmniLight3D)

Fixed blur (DirectionalLight3D)

Variable blur (DirectionalLight3D)

#53961 doesn't produce hard shadows, it just removes the per-pixel rotation of the vogel disk. I'm not really sure what the benefit of doing that would be. Note especially, that the calculations for rotating the vogel disk still take place, so there will be no performance benefit.
I'm not sure that a global override to produce hard shadows makes sense. In other words, why would we take more than one sample when calculating hard shadows?

I'm not sure that a global override to produce hard shadows makes sense. In other words, why would we take more than one sample when calculating hard shadows?

Indeed, there is no benefit in doing so.

I'm not really sure what the benefit of doing that would be. Note especially, that the calculations for rotating the vogel disk still take place, so there will be no performance benefit.

Several people requested a way to disable dithering while still using soft shadows, which is currently not possible in 3.x. Dithering doesn't always go well with games that use a flat color/lowpoly aesthetic, since you want to avoid having a noisy look.

I reworked this PR to add a Soft Very Low quality setting as requested.


Is this config PV-RCNN++?

https://github.com/open-mmlab/OpenPCDet/blob/master/tools/cfgs/waymo_models/pv_rcnn_with_centerhead_rpn.yaml

No, it just replaced the anchor-based head of PV-RCNN by center-based head.
I haven't integrated PV-RCNN++ to this repo yet. It still needs some time.

Hi, the codes of PV-RCNN++ has been released just now.


Changes to the manifest don't update errors

See https://www.alwaysrightinstitute.com/tows-vsc/
Adding a required macOS platform in Package.swift does not get rid of availability errors.

https://bugs.swift.org/browse/SR-15679

Fixed in https://github.com/apple/sourcekit-lsp/pull/471


Low performance

Hi! This recent release (0.10.3) further destroyed the performance for me. It uses 2.5GB of RAM, pegs a single CPU thread at 100% and took 9 minutes for the GUI to show. And even then it's very slow to react to pretty much anything.
Even in the search window, each character is like a 10 second lag. File open dialogs are taking like 5-10 second for every action.
Granted, this is with ~1400 plots but still, it's much worse than the last release - for me at least (windows, 8700k).
I really love the harvester health feature though! But it's only showing 656 plots instead of ~1400 that is in the single logfile it's reading from. There isn't a single instance in the log file for that amount of plots.

Ok, I already know what caused this and how to fix it. Next version might be faster for you than 0.10.2 was.

Try 0.10.4. First time starting the version takes a while, that then speed should improve.

But it's only showing 656 plots instead of ~1400 that is in the single logfile it's reading from.

First and Last log entry where mixed up.

There isn't a single instance in the log file for that amount of plots.

It does load debug.log.1, debug.log.2, ... etc as well. In one of them you will find 656.
The idea is to make an overview about current state and a separate view over the entire historic data. It is all still work in progress.

Everything's solved. Cheers!


Implement -static-stdlib for Linux

What's in this pull request?
Depends on #1817, #1806.
This provides the Linux implementation of the -static-stdlib flag, allowing static linking of the standard library on Linux.
This follows the Darwin implementation in #1817 where possible, but there are a number of very dark corners in ELF that are involved in the implementation choices.  These are discussed in more detail in the commit message, but, very briefly, we have to take several unusual steps to make protocol conformance tables work in static executables.
We introduce separate test coverage for Linux, that (in addition to the protocol conformance tables check) uses ldd to verify the linkage on the final binary.
Special thanks to @jckarter @hpux735 for their amazing help running down these dark corners.

Resolved bug number: (SR-730)

Before merging this pull request to apple/swift repository:

[x] Review and merge dependency #1806
[ ] Review and merge dependency #1817
[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

@jckarter Good catch.  Updated to use -exclude-libs ALL

This looks reasonable to me, though the driver is still primarily @jrose-apple's domain, so he might want to look over it too. --exclude-libs ALL is hopefully close enough to the right thing for most people's use case of statically linking an executable that doesn't need to reexport any static library module API.

Rebased against #1817

ping @jrose-apple

Bump. We're following the status of the bug and referenced PRs over at: https://github.com/kripken/emscripten/issues/2427. There's an effort to get swift compiled to javascript, I'm sure many would appreciate an update on this PR's status. Thanks.

Rebased on #1817
Anticipated @jrose-apple's style nitpick

@jrose-apple Good catch, it was part of an abandoned solution @jckarter and I were studying, but it's no longer necessary with the present approach

@swift-ci Please test
(will use for this and #1817)

@swift-ci Please test

Test failure unrelated


After goBack navigation, admob broke the app

After topmost goBack, when calling the admob create banner again, I get this error
TypeError: Cannot read property 'addView' of null File: "/data/data/com.example.test/files/app/tns_modules/nativescript-admob/admob.js, line: 127, column: 55"

nativescript-admob: 1.1.4
nativescript: 2.0
emulator: android 6.0

Can you try fiddling with these lines to fix it?

Removing timeout the problem disappears!

Ok, so if you use the appModule method, it puts the banner behind the navigation buttons.
Going back to the script....

setTimeout(function () {
                if (frame_1.topmost() !== undefined) {
                    var topMost = frame_1.topmost();
                    var currentPage = topMost.currentPage;
                    var currentPageParent = currentPage.android.getParent();
                    console.log(currentPageParent); // null
                    currentPageParent.addView(adViewLayout_1, relativeLayoutParamsOuter_1);

Even though it finds frame_1.topmost(), the current page parent is null, causing an error when trying to addView.


Form drop down

Hello i'm not sure if im in the right place, but how can I use the select input in the forms? I look in the react-boostrap and I tried to use the 'option' and 'select' in the type but is not working.

Hello there, @a35096 ,
Here is a sample code for your need:
  <FormGroup>
    <ControlLabel>Hey</ControlLabel>
    <FormControl componentClass="select">
      <option>1</option>
      <option>2</option>
      <option>3</option>
      <option>4</option>
      <option>5</option>
    </FormControl>
  </FormGroup>

Best,
Manu


Race in client_pooled_socket_disconnected on tokio branch

I'm seeing the client_pooled_socket_disconnected fail spuriously on the tokio branch, and I think that this may be related to connection pooling. There's a select to take a connection from the pool and in parallel attempt a new connection, returning whichever is successful first. I think that the race here is what's causing the nondeterminism, and the problem is happening when the pooled connection here is pulled out.
The pooled connection is guaranteed to return a failure (e.g. broken pipe) b/c the connection is closed on the remote end. Is this a problem in general with pooled connections? Is there a location where the health of the connection is tested before it's used?  (I may have missed this)

There is a health check before using (in Pool, the status is checked that it is still Idle, and not expired), and the hangup on the socket will trigger the status to be set to disabled. Unfortunately, the hangup may take some time to be received, and so it is possible for a client to try to start a new request on the socket before we know it has been closed.
For this test case, I've added a sleep to the core to wait for a few milliseconds, since the socket is local, the race was likely just scheduling between the server and client threads. The sleep should make it deterministic, allowing this test to check that disconnected sockets are tossed.
Separately, for the case when a client tries a socket before receiving HUP, hyper should do similar to what Go's http client does: check if the socket has been used before, and if it has, try to use a new socket. There is a field to track that on the Pooled type, but it will take a little more work to check it, and also make sure it's safe to retry the request (idempotent method, or body hasn't been written, etc).


K8s-8540 Check for all 404 error types for openstack get

What this PR does / why we need it:
test errors on get requests during deletion on all types of gophercloud 404 errors.
Usually the error that gets returned is a default404 err but depending on the response from openstack other 404 errs can also be returned.
Which issue(s) this PR fixes:

What type of PR is this?
<!--
Add one of the following kinds:
/kind bug

Nice find Phillip! LGTM.


Upgrade oc-id rails to 6.1

We need to make sure we get on the latest and greatest rails release so we can upgrade to a modern Ruby release and also to avoid eventually running an EOL rails/ruby combo.

https://github.com/chef/chef-server/pull/2678


return keyword in mini.base16

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md
[X] I have updated 'mini.nvim' to latest version

Module(s)
mini.base16
Description
The return keyword in mini.base16 is assigned to base08, shouldn't keywords be assigned to base0E according to https://github.com/chriskempson/base16/blob/main/styling.md? I have red mapped to base08, since base08 is used for lsp errors. Should errors and the return keyword have the same color?
Neovim version
0.10.1
Steps to reproduce
NA
Expected behavior
return should be mapped to base08
Actual behavior
return is mapped to base0E.

This is deliberate to make return keyword stand out. All other keywords use base0E.


Use DeviseInvitable with Merit

Hello,
I have been trying to grant to users a badge with the Merit gem when a user invite someone to join our platform. However, I keep receiving this error [merit] no target_obj found on Rule#applies?. I am able to retrieve the invitations_count in the console by doing:
inviter = User.all.find(87)
inviter.invitations_count
=> 3

I think the problem is linked to how Merit works with Devise's controllers as stated here How to grant badges on user using Devise. However, I do not know how to apply it to the InvitationsController.
Here is the full trace:
 (0.2ms)  BEGIN
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
  User Create (1.1ms)  INSERT INTO "users" ("email", "encrypted_password", "created_at", "updated_at", "invitation_token", "invitation_created_at", "invitation_sent_at", "invited_by_type", "invited_by_id") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"  [["email"<EMAIL_ADDRESS>["encrypted_password", "$2a$11$xWUVrXq/L0Vk3E5BCNwFwuTvP/ORwSS.M9IOka8j4FrusKMp9VzOS"], ["created_at", "2020-02-23 13:24:59.462314"], ["updated_at", "2020-02-23 13:24:59.462314"], ["invitation_token", "46a64ecc16658220a6bd8ba28c9f6b49dd0d1c958f92cbe62571d1cdaa313727"], ["invitation_created_at", "2020-02-23 13:24:59.460562"], ["invitation_sent_at", "2020-02-23 13:24:59.460562"], ["invited_by_type", "User"], ["invited_by_id", 87]]
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
  User Update All (0.5ms)  UPDATE "users" SET "invitations_count" = COALESCE("invitations_count", 0) + 1 WHERE "users"."id" = $1  [["id", 87]]
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
   (2.1ms)  COMMIT
[Email's HTML displayed here]

   (0.3ms)  BEGIN
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
  Merit::Action Create (1.3ms)  INSERT INTO "merit_actions" ("user_id", "action_method", "ta
rget_model", "target_data", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETU
RNING "id"  [["user_id", 87], ["action_method", "create"], ["target_model", "devise/invitati
ons"], ["target_data", "--- \n"], ["created_at", "2020-02-23 13:04:23.168487"], ["updated_at
", "2020-02-23 13:04:23.168487"]]
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
   (0.4ms)  COMMIT
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
  Merit::Action Load (1.8ms)  SELECT  "merit_actions".* FROM "merit_actions" WHERE "merit_ac
tions"."processed" = $1 ORDER BY "merit_actions"."id" ASC LIMIT $2  [["processed", false], [
"LIMIT", 1000]]
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
   (0.2ms)  BEGIN
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
  Merit::Action Update (0.5ms)  UPDATE "merit_actions" SET "processed" = $1, "updated_at" =
$2 WHERE "merit_actions"."id" = $3  [["processed", true], ["updated_at", "2020-02-23 13:04:2
3.182957"], ["id", 10]]
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
   (0.4ms)  COMMIT
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
  User Load (0.5ms)  SELECT  "users".* FROM "users" WHERE "users"."id" IS NULL LIMIT $1  [["
LIMIT", 1]]
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
[merit] no target_obj found on Rule#applies?
  CACHE User Load (0.0ms)  SELECT  "users".* FROM "users" WHERE "users"."id" IS NULL LIMIT $
1  [["LIMIT", 1]]
  ↳ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscrib
er.rb:98
[merit] no target_obj found on Rule#applies?

In badge_rules.rb:
      # Invitations
      grant_on 'users/invitations#create',
               badge: 'friendly',
               level: 1,
               model_name: 'User',
               to: :itself do |user|
        user.invitations_count == 1
      end

In merit.rb:
Merit::Badge.create!(
  id: 34,
  name: 'friendly',
  description: 'User invited 1 person.',
  level: 1
)

In routes.rb:
  devise_for :users, controllers: {
    registrations: 'users/registrations',
    invitations: 'users/invitations',
    confirmations: 'users/confirmations'
  }

In devise.rb:
  # The class name of the inviting model. If this is nil,
  # the #invited_by association is declared to be polymorphic.
  # Default: nil
  config.invited_by_class_name = 'User'

  # The column name used for counter_cache column. If this is nil,
  # the #invited_by association is declared without counter_cache.
  # Default: nil
  config.invited_by_counter_cache = :invitations_count

Thank you in advance!

I haven't use merit, but reading docs and wiki, I think merit needs an instance variable, such as @user, but devise and devise invitable don't set @user, they set self.resource. Also, resource in invitations controller is new user, not the user who invited, which is current_user. You could try with to: :action_user, or try to override create method in user/invitations_controller:
def create
  @user = current_inviter
  super
end

Thank you @scambra for your quick reply.
I just have a question however. This is my def create in InvitationsController:
    def create
      self.resource = invite_resource
      resource_invited = resource.errors.empty?
      yield resource if block_given?
      if resource_invited
        if is_flashing_format? && resource.invitation_sent_at
          set_flash_message :notice, :send_instructions, email: resource.email
        end
        if method(:after_invite_path_for).arity == 1
          respond_with resource, location: after_invite_path_for(current_inviter)
        else
          respond_with resource, location: after_invite_path_for(current_inviter, resource)
        end
      else
        respond_with_navigational(resource) { render :new }
      end
    end

Where should I put
  @user = current_inviter
  super
```
in the definition?

So I tried both solution:
In app\models\merit\badge_rules.rb:
      grant_on 'users/invitations#create',
               badge: 'friendly',
               level: 1,
               model_name: 'User',
               to: :itself do |user|
        user.invitations_count == 1
      end

If I add
@user = current_inviter
super

in InvitationsController#create like this
def create
  **@user = current_inviter
  self.resource = invite_resource**
  resource_invited = resource.errors.empty?
  yield resource if block_given?
  if resource_invited
	if is_flashing_format? && resource.invitation_sent_at
	  set_flash_message :notice, :send_instructions, email: resource.email
	end
	if method(:after_invite_path_for).arity == 1
	  respond_with resource, location: after_invite_path_for(current_inviter)
	else
	  respond_with resource, location: after_invite_path_for(current_inviter, resource)
	end
  else
	respond_with_navigational(resource) { render :new }
  end
end

It gives me this error:
Render and/or redirect were called multiple times in this action. Please note that you may only call render OR redirect, and at most once per action. Also note that neither redirect nor render terminate execution of the action, so if you want to exit an action after redirecting, you need to do something like "redirect_to(...) and return".

createapp/controllers/users/invitations_controller.rb
Line 57
  respond_with resource, location: after_invite_path_for(current_inviter)
else
  respond_with resource, location: after_invite_path_for(current_inviter, resource)
end

If I remove the super in InvitationsController or if I just change it to action_user without modifying the InvitationsController, I still get the [merit] no target_obj found on Rule#applies? but twice this time. Here is the full trace:
Redirected to http://localhost:3000/
   (0.2ms)  BEGIN
  Merit::Action Create (0.4ms)  INSERT INTO "merit_actions" ("user_id", "action_method", "target_model", "target_data", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id"  [["user_id", 357], ["action_method", "create"], ["target_model", "users/invitations"], ["target_data", "--- \n"], ["created_at", "2020-03-23 18:33:38.540877"], ["updated_at", "2020-03-23 18:33:38.540877"]]
   (0.8ms)  COMMIT
  Merit::Action Load (0.5ms)  SELECT "merit_actions".* FROM "merit_actions" WHERE "merit_actions"."processed" = $1 ORDER BY "merit_actions"."id" ASC LIMIT $2  [["processed", false], ["LIMIT", 1000]]
   (0.2ms)  BEGIN
  Merit::Action Update (0.4ms)  UPDATE "merit_actions" SET "processed" = $1, "updated_at" = $2 WHERE "merit_actions"."id" = $3  [["processed", true], ["updated_at", "2020-03-23 18:33:38.554016"], ["id", 49]]
   (0.4ms)  COMMIT
  User Load (0.5ms)  SELECT "users".* FROM "users" WHERE "users"."id" IS NULL LIMIT $1  [["LIMIT", 1]]
[merit] no target_obj found on Rule#applies?
  CACHE User Load (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" IS NULL LIMIT $1
  [["LIMIT", 1]]
[merit] no target_obj found on Rule#applies?
Completed 302 Found in 600ms (ActiveRecord: 6.1ms | Allocations: 29475)

You don't have to put super if you overrided the method copying whole action, or you can just put:
def create
  @user = current_inviter
  super
end

I thought instance variable should be @user, because wiki was using @user for registrations controller, and model_name was User in grant_on call, as you have. However, I see in wiki @confirmation is used in Users::ConfirmationsController, maybe you have to set @invitation. Or maybe you can ask merit, they may know better how their code work.

I will try again with what you just said @scambra and I'll come back to you. I already asked Merit a few weeks ago but I didn't receive any answer...

It worked with @invitation! Thank you @scambra. To recap for others, here are the exact steps:
In app\controllers\users\invitations_controller.rb, add @invitation = current_inviter to def create:
def create
  @invitation = current_inviter
  self.resource = invite_resource
  resource_invited = resource.errors.empty?
  yield resource if block_given?
  if resource_invited
	if is_flashing_format? && resource.invitation_sent_at
	  set_flash_message :notice, :send_instructions, email: resource.email
	end
	if method(:after_invite_path_for).arity == 1
	  respond_with resource, location: after_invite_path_for(current_inviter)
	else
	  respond_with resource, location: after_invite_path_for(current_inviter, resource)
	end
  else
	respond_with_navigational(resource) { render :new }
  end
end

In config\initializers\merit.rb, create a badge:
Merit::Badge.create!(
  id: 1,
  name: 'friendly',
  description: 'User invited 1 person.',
  level: 1,
  custom_fields: { icon_tag: 'glass' }
)

In app\models\merit\badge_rules.rb, add a badge rule:
grant_on 'users/invitations#create',
		  badge: 'friendly',
		  level: 1,
		  model_name: 'User',
		  to: :itself do |user|
  user.invitations_count == 1
end

Make sure you initialized invitations_count in config\initializers\devise.rb:
  # The column name used for counter_cache column. If this is nil,
  # the #invited_by association is declared without counter_cache.
  # Default: nil
  config.invited_by_counter_cache = :invitations_count

Voilà !


Can the default Dashboard menu option be removed or edited?

If not, what is the syntax for adding dashboards under resources?
I tried using both NovaResource:: and InternalLink::, but NovaResource:: threw errors pointing to the dashboard class file, and InternalLink wasn't doing a RouterLink, so the whole page was being redrawn.
The docs say WidgetResource:: only supports the Nova Dashboard package, so I didn't try that.
The menu in Nova is one of its weakest points, but this package goes a LONG way to fixing that. Many Thanks!

Yes, you can remove the default nova dashboard link:
new CollapsibleResourceManager([
    'disable_default_resource_manager' => true, // set this to true..
]);

Thanks for the quick response!
Even when explicitly setting 'disable_default_resource_manager' => true, the Dashboard menu link is still displaying for me.
        new CollapsibleResourceManager([
            'disable_default_resource_manager' => true,
            'remember_menu_state' => true,
            'navigation' => [
                TopLevelResource::make([
                    'label' => 'Resources',
                    'icon' => null, // HTML/SVG string or callback that produces one, see below
                    'resources' => [
                        Group::make([
                            'label' => 'People',
                            'expanded' => true,
                            'resources' => [
                                NovaResource::make(\App\Nova\Account::class),
                                NovaResource::make(\App\Nova\Person::class),
                            ]
                        ]),

I can live with the Dashboard link there if I can move custom dashboards into the Resources menu so I can have control over expanding and collapsing the list. Which resource type (NovaResource, etc.) is used to link to dashboards?

Oh, I misunderstood what you meant.. Yeah, it is possible to remove that.. add this to your NovaServiceProvider tools method:
public function tools()
{

    foreach (Nova::$tools as $index => $tool) {

        if ($tool instanceof \Laravel\Nova\Tools\Dashboard) {

            unset(Nova::$tools[ $index ]);

        }

    }

}


rke2 cluster provisioning - Access to configure audit logging from the API is missing

What kind of request is this (question/bug/enhancement/feature request):
Enhancement
Steps to reproduce (least amount of steps as possible):
Audit logging cannot be configured via rancher UI/API on the rke2 clusters.
As an enhancement,  provision to configure audit logging on the API for easier access is needed.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head commit 55f0bb2
Installation option (single install/HA): Single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Infrastructure Provider

In theory, if you set the audit policy file, there is a way:
https://github.com/rancher/kontainer-driver-metadata/blob/dev-v2.6/channels-rke2.yaml#L38

Need to add support for specifying contents of audit-policy-file to "machineGlobalConfig" and push contents of this file to RKE2 via plan and set audit-policy-file option to point to this file.

This is likely to miss 2.6.4 release, so adding release-note label on it (at least for now) to make sure we include call out that this is not supported yet.

Need functionality similar to https://rancher.com/docs/rancher/v2.5/en/security/rancher-2.5/1.6-hardening-2.5/#reference-hardened-rke-cluster-yml-configuration (search for audit_log).

The following PR (https://github.com/rancher/rancher/pull/40353/) adds support for delivering files to downstream nodes which is needed for this enhancement.

[SURE-5352] recently another customer also requested this.

Since Rancher v2.7.2, we can configure the audit logging for RKE2 clusters in Rancher's Dashboard.
Step 1: Prepare a Secret or ConfigMap containing the audit policy
Below is an example of such a Secret, and it needs to meet the following two requirements:

The namespace needs to be fleet-default where the Cluster object exists
It must have the annotation  rke.cattle.io/object-authorized-for-clusters: <Cluster-Name> to allow Rancher to use the secret for the target cluster

Rancher Dashboard has an easy-to-use UI for creating the secret.
apiVersion: v1
data:
  audit-policy: >-
    IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
kind: Secret
metadata:
  annotations:
    rke.cattle.io/object-authorized-for-clusters: jiaqi-c1
  name: jiaqi-audit-policy
  namespace: fleet-default

Step 2: Edit the cluster as YAML
First, we need to instruct Rancher to send the file to the control plane node. The field is under .spec.rkeCofig.machineSelectorFiles.
    machineSelectorFiles:
      - fileSources:
          - configMap:
              name: ''
            secret:
              items:
                - key: audit-policy
                  path: /etc/rancher/rke2/jiaqi-audit-policy.yaml
              name: jiaqi-audit-policy
        machineLabelSelector:
          matchLabels:
            rke.cattle.io/control-plane-role: 'true'

Second,  we need to instruct kube-apiserver to use the above audit  policy. The field is under .spec.rkeCofig.machineGlobalConfig.kube-apiserver-arg:
      kube-apiserver-arg:
        - audit-policy-file=/etc/rancher/rke2/jiaqi-audit-policy.yaml
        - audit-log-path=/etc/rancher/rke2/jiaqi-audit.logs

Finally, we need to save the change and allow the cluster to finish the upgrading.

waiting for the updated Rancher docs to be live.

QA TEST PLAN
Scenarios

Scenario
Test Case

1
As a standard user, provision a downstream RKE2 cluster with audit logging enabled, validate in the control plane node that auditing is enabled

2
As a standard user, provision a downstream RKE2 cluster, edit the cluster to enable audit logging, validate in the control plane node that auditing is enabled

3
As a standard user, provision a downstream RKE2 cluster, edit the cluster to enable audit logging, validate in the control plane node that auditing is enabled, remove audit logging from the cluster and validate the audit logs remain

Tested this against v2.8-head https://github.com/rancher/rancher/commit/efc48ac09ab8307cc949f13aa5e57cc2568c4ab6. See results below:
ENVIRONMENT DETAILS

Rancher install: Docker
Rancher version: v2.8-head https://github.com/rancher/rancher/commit/efc48ac09ab8307cc949f13aa5e57cc2568c4ab6

TEST RESULT

Scenario
Test Case
Result

1
As a standard user, provision a downstream RKE2 cluster with audit logging enabled, validate in the control plane node that auditing is enabled
:x:

2
As a standard user, provision a downstream RKE2 cluster, edit the cluster to enable audit logging, validate in the control plane node that auditing is enabled
:white_check_mark:

3
As a standard user, provision a downstream RKE2 cluster, edit the cluster to enable audit logging, validate in the control plane node that auditing is enabled, remove audit logging from the cluster and validate the audit logs remain
:white_check_mark:

VALIDATION STEPS
Scenario 1

As the local admin user, created a secret in the fleet-default namespace with the sample YAML:

apiVersion: v1
kind: Secret
metadata:
  name: test
  annotations:
    rke.cattle.io/object-authorized-for-clusters: <downstream cluster to later be provisioned>
    #  key: string
  labels:
    {}
    #  key: string
  namespace: default
type: Opaque
data:
  test: <retracted>
  audit-policy: >-
    IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
  #  key: string
__clone: true
#immutable: boolean

Logged out and logged back in as a standard user.
Provisioned a downstream RKE2 v1.27.5+rke2r1 node driver cluster.

When provisioning, the node driver is being recognized as a custom cluster. This is unexpected behavior, therefore, this test failed.

Scenario 2

Repeated scenario 1, steps 1-3, but ensured I created a new secret for this separate downstream RKE2 v1.27.5+rke2r1 node driver cluster.
Edited the downstream cluster to include the following snippets of YAML under rkeConfig:

machineSelectorFiles:
      - fileSources:
          - secret:
              name: '<secret name>'
              items:
                - key: audit-policy
                  path: /etc/rancher/rke2/mew-audit-policy.yaml
        machineLabelSelector:
          matchLabels:
            rke.cattle.io/control-plane-role: 'true'
    machineGlobalConfig:
      cni: canal
      disable-kube-proxy: false
      etcd-expose-metrics: false
      profile: null
      kube-apiserver-arg:
        - audit-policy-file=/etc/rancher/rke2/mew-audit-policy.yaml
        - audit-log-path=/etc/rancher/rke2/mew-audit.logs

Validated that the cluster and nodes came back as Active after the changes were applied.
SSH'ed into the control plane node and validated that the logging is now present:

# pwd
/etc/rancher/rke2
# ll
total 22880
drwxr-xr-x 3 root root     4096 Sep 20 18:45 ./
drwxr-xr-x 5 root root     4096 Sep 20 18:01 ../
drwxr-xr-x 2 root root     4096 Sep 20 18:01 config.yaml.d/
-rw------- 1 root root 23398661 Sep 20 18:47 mew-audit.logs
-rw------- 1 root root      107 Sep 20 18:42 mew-audit-policy.yaml
-rw------- 1 root root       29 Sep 20 18:42 registries.yaml
-rw------- 1 root root      365 Sep 20 18:46 rke2-pss.yaml
-rw------- 1 root root     2969 Sep 20 18:47 rke2.yaml

Scenario 3

Repeated scenario 2, steps 1-4, but ensured I created a new secret for this separate downstream RKE2 v1.27.5+rke2r1 node driver cluster.
Edited the downstream cluster and removed the snippets of YAML added under the rkeConfig block.
Validated that the cluster and nodes came back as Active after the changes were applied.
SSH'ed into the control plane and validated that the logging files still remain despite updating the cluster.

The failure of Scenario 1 is caused by a regression in the Dashboard UI, which is tracked here https://github.com/rancher/dashboard/issues/9724
We will be able to re-validate Scenario 1 after the UI bug is fixed.

Tested this against v2.8-head https://github.com/rancher/rancher/commit/4c55a12f9c27873b31cd42bb60917c68df857e5b.
ENVIRONMENT DETAILS

Rancher install: Docker
Rancher version: v2.8-head https://github.com/rancher/rancher/commit/4c55a12f9c27873b31cd42bb60917c68df857e5b

TEST RESULT

Scenario
Test Case
Result

1
As a standard user, provision a downstream RKE2 cluster with audit logging enabled, validate in the control plane node that auditing is enabled
:x:

2
As a standard user, provision a downstream RKE2 cluster, edit the cluster to enable audit logging, validate in the control plane node that auditing is enabled
:white_check_mark:

3
As a standard user, provision a downstream K3S cluster, edit the cluster to enable audit logging, validate in the control plane node that auditing is enabled
:x:

4
As a standard user, provision a downstream RKE2 cluster, edit the cluster to enable audit logging, validate in the control plane node that auditing is enabled, remove audit logging from the cluster and validate the audit logs remain
:white_check_mark:

VALIDATION STEPS
Scenario 1

As the local admin user, created a secret in the fleet-default namespace with the sample YAML:

apiVersion: v1
kind: Secret
metadata:
  name: test
  annotations:
    rke.cattle.io/object-authorized-for-clusters: <downstream cluster to later be provisioned>
    #  key: string
  labels:
    {}
    #  key: string
  namespace: default
type: Opaque
data:
  test: <retracted>
  audit-policy: >-
    IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
  #  key: string
__clone: true
#immutable: boolean

Logged out and logged back in as a standard user.
Provisioned a downstream RKE2 v1.27.6+rke2r1 node driver cluster - ensured I specified the following YAML snippet:

machineSelectorFiles:
      - fileSources:
          - secret:
              name: '<secret name>'
              items:
                - key: audit-policy
                  path: /etc/rancher/rke2/mew-testing-cluster.yaml
        machineLabelSelector:
          matchLabels:
            rke.cattle.io/control-plane-role: 'true'
    machineGlobalConfig:
      cni: canal
      disable-kube-proxy: false
      etcd-expose-metrics: false
      profile: null
      kube-apiserver-arg:
        - audit-policy-file=/etc/rancher/rke2/mew-testing-cluster.yaml
        - audit-log-path=/etc/rancher/rke2/mew-testing-cluster.logs

Validated that the cluster and nodes came back as Active after the changes were applied.
SSH'ed into the control plane node and validated that the logging is now present:

# pwd
/etc/rancher/rke2
# ll
total 16592
drwxr-xr-x 3 root root     4096 Oct  3 17:29 ./
drwxr-xr-x 5 root root     4096 Oct  3 17:29 ../
drwxr-xr-x 2 root root     4096 Oct  3 17:29 config.yaml.d/
-rw------- 1 root root 16958471 Oct  3 17:33 mew-testing-cluster.logs
-rw------- 1 root root      107 Oct  3 17:29 mew-testing-cluster.yaml
-rw------- 1 root root       29 Oct  3 17:29 registries.yaml
-rw------- 1 root root      365 Oct  3 17:29 rke2-pss.yaml
-rw------- 1 root root     2969 Oct  3 17:29 rke2.yaml

Scenario 2

Provisioned a downstream RKE2 v1.27.6+rke2r1 node dirver cluster - ensured that I have a separate secret for auditing.
Validated that the cluster and nodes came back as Active after the changes were applied.
Edited the cluster YAML to have the audit snippet seen in scenario 1.
Validated that the cluster and nodes came back as Active after the changes were applied.
SSH'ed into the control plane and validated that the logging is present.

Scenario 3

Provisioned a downstream K3S v1.27.6+k31 node driver cluster with the following snippet:

machineSelectorFiles:
      - fileSources:
          - secret:
              name: '<secret name>'
              items:
                - key: audit-policy
                  path: /etc/rancher/k3s/mew-audit-policy.yaml
        machineLabelSelector:
          matchLabels:
            rke.cattle.io/control-plane-role: 'true'
    machineGlobalConfig:
     disable-apiserver: false
      disable-cloud-controller: false
      disable-controller-manager: false
      disable-etcd: false
      disable-kube-proxy: false
      disable-network-policy: false
      disable-scheduler: false
      etcd-expose-metrics: false
      kube-apiserver-arg:
        - audit-policy-file=/etc/rancher/k3s/mew-k3s-test.yaml
        - audit-log-path=/etc/rancher/k3s/mew-k3s-test.logs

Cluster never provisions and I am left with the following:

Scenario 4

Repeated scenario 2, steps 1-5, but ensured I created a new secret for this separate downstream RKE2 v1.27.6+rke2r1 node driver cluster.
Edited the downstream cluster and removed the snippets of YAML added under the rkeConfig block.
Validated that the cluster and nodes came back as Active after the changes were applied.
SSH'ed into the control plane and validated that the logging files still remain despite updating the cluster.

Updated the above test result after retesting scenario 3. There was user error in how I configured the auditing. When fixed, the scenario worked as expected. As such, closing this issue as this has been addressed.

@markusewalker , reopening this issue to validate another (simpler!) approach for configuring audit policy outlined in https://github.com/rancher/rancher-docs/pull/900
FYI @daviswill2

QA has validated this additional scenario (scenario 5) in the test results. Leaving this issue as open until the doc PR is merged. Once it is merged, @jiaqiluo will go ahead and close the issue.
In the meantime, moving this out of to test since QA has validated this.

Closing this issue as the doc PR has been merged.


Avoid creating large amounts of -WUnused in projects using glog

logging.h contains a fancy macro that emulates static_assert via an interesting use of typedef. In situations where the assertion is true, the typedef ends up unused, which yields a warning on some recent compilers.
This PR redefines the macro to use the C++ built-in static_assert when compiling for C++11 or newer (since that is when the built-in was added). This avoids the warnings, and provides slightly nicer errors when the assert fails.
This seems a more elegant solution to the problem than attempting to directly suppress the warning, since there seems to be no non-insane way to do that in a compiler-agnostic way.

Fixed in PR #255

Err PR #225

Closing since another PR has been merged.


head tag sign not showing properly on a section, please check screenshot attached

Head tag shows <head>  instead of

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

ID: cb8bc6ab-a440-d860-e40c-8f18aa1eafb3
Version Independent ID: 8a5b47e7-b29c-b049-30e8-5b405a5086b6
Content: ASP.NET Core Blazor environments
Content Source: aspnetcore/blazor/fundamentals/environments.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @guardrex
Microsoft Alias: riande

Thanks @chinmay-trivedi ... I'll patch that up.

It's a bit of an internal problem because they're using the title raw ... i.e., they're using the HTML-encoded angle. It's actually correct for the topic itself ...
https://github.com/dotnet/AspNetCore.Docs/edit/main/aspnetcore/blazor/components/control-head-content.md
... and renders correctly for the doc ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/components/control-head-content?view=aspnetcore-6.0
I think the best way to address this is to encode it as `head` (code fenced) so that it doesn't localize and don't use the angle brackets. I'll inspect the topics after it goes live to confirm that it all works out ok.


create-eliza-app package doesn't install or exist

create-eliza-app package in the packages directory doesn't work
Following the readme in the package in repo-folder/packages/create-eliza-app/ fails.

Is this package still valid ?  I see something else on the ai16z website.

@shakkernerd


Add feature for manually creating bug tickets

Describe the solution you'd like
Add a feature for manually creating bug tickets, if a bug tracker system is linked to an app.
Suggest making this work similar to the equivalent feature in HockeyApp where:

There is a UI associated with a crash group that shows a "Tracked" tag that indicates if the crash group is linked to a crash ticket:

If the crash group is not tracked, there is an option for "Create ticket", where the UI is similar to HockeyApp where you can preview/edit the ticket before it's created:

If the crash group is already tracked, i.e. as described under 1, there is an option for viewing the tracked ticket details, including an option to untrack the ticket. Example from HockeyApp:

Describe alternatives you've considered
Use the App Center feature for automatically generated tickets. We tried this but it does not work if the 'Number of crashes' setting is > 1. This bug is tracked in https://github.com/microsoft/appcenter/issues/901

this is a must feature. please add this as priority. thank you

Hi all - thanks for the feature request. We have an item on our backlog to support manual linking of bug trackers. I don't have an ETA at the time but I will post here if I have any updates.
In the meantime, you can find the WIP mockups here. Note the UI is a bit outdated and also doesn't include a input text field like HockeyApp does. Let me know you have any feedback.
Thanks!

Definitely a quite important feature I'd really like to see getting added to App Center very soon.

Agreed - this is a big gap.  I'm disappointed not to see it in place prior to having migrated from HockeyApp, where we'd had this capability for years.

Hello, also for us this is a very important feature since the auto-creation results in lots of duplicates in our JIRA :-(

Any ETA for this after 3 months? Is it tracked as a P1 item?

Hi there - unfortunately no updates. This is being tracked but due to other priorities at the moment, this isn't on our immediate roadmap. We understand the importance of thihs feature and will post here with any updates. Thanks!

Hi @winnieli1, is the roadmap here https://github.com/Microsoft/appcenter/wiki/Roadmap what you are referring to as the "immediate roadmap"? If so, can we assume the unticked items are being treated as higher priority than this one? Thanks

@dj-dev correct, that is our short term roadmap. The items listed are higher priority at the moment but we continuously update our plans based different factors including customer feedback.

Ok thanks @winnieli1. This is a very important feature to have so hopefully the community will keep giving this issue a thumbs up :wink: :wink:

I don’t understand why we were forced out of HockeyApp app a week ago and feature parity is not even close. We should been allowed to stay there longer.

Why is there even a toggle to enable "Auto create ticket", if there is no manual way to create tickets? Manually creating tickets is a MUST HAVE, especially because AppCenter will create duplicates of each crash group for every app version (https://github.com/microsoft/appcenter/issues/1430)...


- What is the expected behavior?
we should have some sort of command, maybe netlify functions:install that just goes through every folder and installs deps. this isnt onlyuseful for buildbot, we might also want this for local usage as well.

1000

Something like:
If (command === 'deploy' || command === 'dev') {
// check deps, hash package.json
// install deps if missing
}
Buildbot also needs to do this automatically (recursive installation of deps)

ohh your way is probably smarter. mine would be a whole new command.

Closing in favour of https://github.com/netlify/cli/issues/454


Feature/multiple clients

Hi @jstuczyn, please delete unused code instead of commenting - other than that looks good!


Is MyModel.populate(['dep1', 'dep2']) supported?

It would be helpful if populate support was tracked on this page.

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

ID: 15cfab04-d589-f655-fe2e-15573364c486
Version Independent ID: 781d4067-2c14-6a09-0e85-3d7d8d16d5f4
Content: 4.0 server version supported features and syntax in Azure Cosmos DB's API for MongoDB
Content Source: articles/cosmos-db/mongodb/feature-support-40.md
Service: cosmos-db
Sub-service: cosmosdb-mongo
GitHub Login: @gahl-levy
Microsoft Alias: gahllevy

@jeff-r-koyaltech Thank you for your feedback. We are checking this and will get back shortly.

@gahl-levy Is Model.populate supported yet.?

#reassign:seesharprun
Hello @jeff-r-koyaltech!
In our docs, we specify that you can use the $lookup aggregation command. $lookup is the formal way to perform a left join and include information from multiple documents. This command can be used with the official MongoDB Node.js driver.
The <model>.populate() command you mention is part of the mongoose ORM that is a open-source community project for MongoDB in general (not specific to Azure Cosmos DB). There's a documentation page that describes the difference between their command and the built-in command for MongoDB.
For our docs, we won't be able to track if commands from various third-party libraries are all individually supported, so we will close this issue today. #please-close


Fix race condition after startup that prevents suppressing offers

Note: this is a fix against Marathon 1.6
Summary:
A race condition in the OffersWantedForReconciliationActor lead to Marathon not suppressing offers after startup: the actor changed the offersWanted observable to true, indicating that offers are needed for reconciling potentially stale reservations after startup. If that message was received before a predefined timeout, nothing would happen - the actor would not transition to the unsubscribedToOffers and would not indicate that no offers are needed.
JIRA issues: MARATHON-8632

The UUID solution looks like it will work; @kensipe and I paired on fixing the test. This needs to be forward ported all the way to master it seems? I suppose given the urgency we addressed directly on 1.6?

@kensipe and @timcharper thanks for bringing this across the finish line – yeah since the customer in question was on Marathon-1.6 I wanted to fix it there and verify in a setup close to theirs that it actually solves the issue, instead of fixing on master and then verifying a backport.


Dataflow annotations for APEX

Fixes #4257 (again) since the previous fixes were not complete.

What's currently blocking this?

What's currently blocking this?

I'm still not convinced that the specializations added are actually needed. See my comments above.

hpx::parallel::execution::parallel_executor isn't a thread_pool (or thread based?) executor and it goes through a different customization point I expect. This PR fixed my problems and the user's ones, but if it isn't of value then just delete it and I'll maintain my own branch for using apex.

@biddisco I have rebased this branch onto master. Let's see how the tests fare.

@msimberg I have added more assertions here that make sure local_thread_num is not being used whenever it happens to be -1. Those asserts fire, unfortunately - looks like your fixes have not solved all the related problems.
@biddisco The guided executor is still failing to compile since this branch was rebased onto master. I don't know what is going on, care to have a look (https://app.circleci.com/pipelines/github/STEllAR-GROUP/hpx/2899/workflows/c2f4ac28-1268-4c02-a04b-19f0fd4fa8f6/jobs/177995)?

@msimberg I have added more assertions here that make sure local_thread_num is not being used whenever it happens to be -1. Those asserts fire, unfortunately (https://app.circleci.com/pipelines/github/STEllAR-GROUP/hpx/2899/workflows/c2f4ac28-1268-4c02-a04b-19f0fd4fa8f6/jobs/177989) - looks like your fixes have not solved all the related problems.

local_num is still allowed to be -1. I had intended for only thread_num to be used later which is not allowed to be -1. I've added asserts for thread_num instead.
I've merged master into this branch now (I've not fixed building the async_customization example).

Changes to thread numbering have nothing to do with this dataflow-annotations branch. They should not be included here. If other changes have been made and merged into this, they should be fixed in their own PR's and branches.

Changes to thread numbering have nothing to do with this dataflow-annotations branch. They should not be included here. If other changes have been made and merged into this, they should be fixed in their own PR's and branches.

Right... The only problem is that the issues manifest themselves on this branch only, I think.

I will fix this branch and the thread numbering.

@biddisco are you able to reproduce the segfaults with the apex builder? They might be the failures we were trying to fix earlier.

I do not know what segfaults you are referring to. The dataflow PR looks pretty clean on cdash to me - could you please elaborate.

https://cdash.cscs.ch//viewTest.php?onlyfailed&buildid=105728

Those tests appear to be failing on multiple dashboards
https://cdash.cscs.ch//testSummary.php?project=2&name=tests.performance.local.resume_suspend&date=2020-04-27
it does not appear to be connected to this PR

Those tests appear to be failing on multiple dashboards
https://cdash.cscs.ch//testSummary.php?project=2&name=tests.performance.local.resume_suspend&date=2020-04-27
it does not appear to be connected to this PR

The tests failed on those two PRs (#4570 and #4551) because the build failed (no tests to run). The tests are not failing on master.

OK. I'll delete this PR and come back to it some other time.

Reopening this after debugging with a clang build. No idea why gcc builds pass and clang ones fail, because they were both dereferencing a nullptr that was taken from the default implementation of get_function_annotation - this is fixed by returning "" instead of nullptr so that apex always has something to store. This might fix other apex related problems that I was having when reductions of task names took place in distributed runs. I will check this.
Thanks @msimberg for being annoying enough that I took some time to investigate this.

FYI: rebased onto latest master.

Thanks @msimberg for being annoying enough that I took some time to investigate this.

You're welcome, I guess... how come the nullptrs aren't being dereferenced on master? Are there maybe some checks missing for nullptrs (the fallback strings are fine by me though, I'm just wondering what changed)?

Reopening this after debugging with a clang build. No idea why gcc builds pass and clang ones fail, because they were both dereferencing a nullptr that was taken from the default implementation of get_function_annotation - this is fixed by returning "" instead of nullptr so that apex always has something to store. This might fix other apex related problems that I was having when reductions of task names took place in distributed runs. I will check this.

May I suggest using something more descriptive as the fallback - perhaps "<unknown>"? That might help identifying issues down the road.
Also, @biddisco thanks for not dropping the ball on this!

May I suggest using something more descriptive as the fallback - perhaps "<unknown>"? That might help identifying issues down the road.

It actually returns "<anonymous>" but I'm not sure why the markup cha nged my text to an empty string.

how come the nullptrs aren't being dereferenced on master? Are there maybe some checks missing for nullptrs (the fallback strings are fine by me though, I'm just wondering what changed)?

As far as I can tell, the nullptrs get derefernced to some random stack memory on gcc and cause a segfault in clang. I added printfs and gcc was dumping out rubbish, consistent with some of the stuff I saw being generated in OTF files that woulnd't load properly in vampir.
I should investigate further, but when I saw the nullptr stuff being accessed I changed the unspecialized version of get_annotated_function and everything started working, so I stopped then.

@biddisco this just needs formatting now. I think we can merge this after that.

@biddisco I just rebased and clang-formatted this branch. If CI comes back happy I'll merge it.


Folder structure becomes flat when uploading

I would like to upload a folder via WebDav, keeping the folder structure intact. Which is not the case right now.
The configuration looks like this:
    - name: Upload WebDAV
      uses<EMAIL_ADDRESS>      with:
        webdav_address: ${{secrets.NEXTCLOUD_ADDRESS}}
        webdav_username: ${{secrets.NEXTCLOUD_USERNAME}}
        webdav_password: ${{secrets.NEXTCLOUD_PASSWORD}}
        webdav_upload_path: "/AT/dev/${{ env.VersionNumer }}/manual"
        files: |
          ${{ env.working-directory }}/site/**
        fail_on_unmatched_files: true

How do I specify that the order structure should be kept?

add new config keep_structure, you can do this using this:
    - name: Upload WebDAV
+     uses<EMAIL_ADDRESS>      with:
        webdav_address: ${{secrets.NEXTCLOUD_ADDRESS}}
        webdav_username: ${{secrets.NEXTCLOUD_USERNAME}}
        webdav_password: ${{secrets.NEXTCLOUD_PASSWORD}}
        webdav_upload_path: "/AT/dev/${{ env.VersionNumer }}/manual"
        files: |
          ${{ env.working-directory }}/site/**
        fail_on_unmatched_files: true
+       keep_structure: true

sry, fixed


Fix InlineChunk dosen't work

InlineChunkHtmlPlugin dosen't work for lack of Runtime Chunk Configuration

Duplicate from https://github.com/facebook/create-react-app/pull/11763


Fix action_should_fail_with_message sh helper

Description
Add missing exit 1 to make test actually fail.
Had to remove jvm_opts = ["-Xbootclasspath/p:$(location @bazel_tools//third_party/java/jdk/langtools:javac_jar)"],
because test fails for wrong reason -Xbootclasspath/p is no longer a supported option.
Motivation
Tried to write a test using action_should_fail_with_message and couldn't make it fail with a wrong error message.

Also fixes https://github.com/bazelbuild/rules_scala/issues/855 and duplicates https://github.com/bazelbuild/rules_scala/pull/860


ERROR in LDL_factor: Error in KKT matrix LDL factorization when computing the nonzero elements. The problem seems to be non-convex

Hi, I'm new to osqp-eigen, I'm trying to use osqp-eigen to solve a real-time trajectory optimization problem under ROS environment, I create and initiate the solver in the callback function, the solver solved the problem at first time, but at second time, there always comes the error "ERROR in LDL_factor: Error in KKT matrix LDL factorization when computing the nonzero elements. The problem seems to be non-convex".  is there anyone can help me with this or provide a  template code for using osqp-eigen in callback funciton?

What is the difference between the first time you call the solver (when it is working) and the second time? In general It Is much easier for people to help you if you share more details of how you build you problem, or even better if you share your source code.

What is the difference between the first time you call the solver (when it is working) and the second time? In general It Is much easier for people to help you if you share more details of how you build you problem, or even better if you share your source code.

thanks for your quick reply, I share the related source code here. I define a OSQP solver as a global parameter, and define a
ROS server node, which will receive the neccessary data from a client node and then call the OSQP solver to solve the problem,
and it turns out my code works for the first call, and failed for the second. I guess the difference between the first and the latter
call is the solver memory. After the first call, I used solver.clearSolver() to delete the memory, but dont know weather it works.
(I also tried initiate the solver in the main function and use the solver.update~ to update the related matrix, but the outcome solution is strange at first place). I think the crux of my problem is how to repeat using a OSQP solver.  Thank you~
`
Eigen::VectorXd QPSolver(MatrixXd H, MatrixXd f, MatrixXd A, MatrixXd b, MatrixXd Aeq, MatrixXd beq)
{
    int numOfVar = H.cols();
    int numOfCons = A.rows() + Aeq.rows();

    solver.settings()->setWarmStart(true);
    solver.settings()->setVerbosity(false);
    solver.data()->setNumberOfVariables(numOfVar);
    solver.data()->setNumberOfConstraints(numOfCons);

    Eigen::SparseMatrix<double> hessian;
    Eigen::VectorXd gradient;
    Eigen::SparseMatrix<double> linearMatrix;
    Eigen::VectorXd lowerBound;
    Eigen::VectorXd upperBound;

    hessian = H.sparseView();

    gradient = f;

    MatrixXd linearMatrix_modi=MatrixXd::Zero(Aeq.rows() + A.rows(), A.cols());
    linearMatrix_modi.block(0, 0, Aeq.rows(), Aeq.cols()) = Aeq;
    linearMatrix_modi.block(Aeq.rows(), 0, A.rows(), A.cols()) = A;
    linearMatrix = linearMatrix_modi.sparseView();

    MatrixXd upperBound_modi=MatrixXd::Zero(beq.rows() + b.rows(), 1);
    upperBound_modi.block(0, 0, beq.rows(), beq.cols()) = beq;
    upperBound_modi.block(beq.rows(), 0, b.rows(), b.cols()) = b;
    upperBound = upperBound_modi;

    MatrixXd lowerBound_modi = MatrixXd::Ones(beq.rows() + b.rows(), 1) * (-OsqpEigen::INFTY);
    lowerBound_modi.block(0, 0, beq.rows(), beq.cols()) = beq;
    lowerBound = lowerBound_modi;

    solver.data()->setHessianMatrix(hessian);
    solver.data()->setGradient(gradient);
    solver.data()->setLinearConstraintsMatrix(linearMatrix);
    solver.data()->setLowerBound(lowerBound);
    solver.data()->setUpperBound(upperBound);

    solver.initSolver();

    solver.solveProblem();

    Eigen::VectorXd QPSolution;
    QPSolution = solver.getSolution();

    solver.clearSolver();

    return QPSolution;
}

bool Callback(ros_learning::QP_Solver::Request  &req,ros_learning::QP_Solver::Response &res)
{
    int n_order=req.n_order;
    int n_seg=req.n_seg;
    int side_index=req.side_index;
    vector<double> waypoints=req.waypoints;
    vector<double> corridor=req.corridor;
    vector<double> ts=req.ts;
    double v_max=req.v_max;
    double a_max=req.a_max;
    double lambda_goal=req.lambda_goal;

    MatrixXd waypoints_eigen=Eigen::Map<MatrixXd>(waypoints.data(),2,2);
    MatrixXd corridor_eigen=Eigen::Map<MatrixXd>(corridor.data(),corridor.size()/2,2);

    vector<double> poly_coef=spatiotemporal_trajectory(waypoints_eigen, corridor_eigen, ts, n_seg, n_order,  v_max, a_max,  side_index, lambda_goal);

    res.poly_coef = poly_coef;

    return true;
}

int main(int argc, char **argv)
{
ros::init(argc, argv, "Trajectory_generation");

ros::NodeHandle n;

ros::Rate loop_rate(10);

Spatiotemporal_trajectory Spa_traj;

ros::ServiceServer traj_service = n.advertiseService("/QP_Solver_test", &Spatiotemporal_trajectory::Callback,&Spa_traj);

ros::spin();

return 0;

}
`


Add a serializer

Description
Add a serializer taking as input a SubtitleFile and a subtitles format, and generating the corresponding file
All formats are not completely compatible, the SSA and ASS formats for example contain more info than the SubRip or MicroDVD.
Therefore we should develop some "forward" compatibility to autofill missing info when serializing from low-info formats to high-info formats, and a warning on info loss when serializing from high-info formats to low-info formats.
Tasks

Update README

Conversion will be done in #26


initial probot stale configuration

@LorenzMeier @thomasgubler @mrpollo FYI
Unlike gitmate this probot should close both issues and PRs. The configuration also lives in the repo and permissions are granted via a Github App.


SystemUiMode.edgeToEdge works incorrectly in Android

According to the documentation edgeToEdge it's available starting at SDK 29 or Android 10 and earlier versions of Android will not be affected by this setting.
But my Huawei P20 Lite running Android 9 is affected in a weird way by not showing the nav and status bar until you tap on the screen. They disappear again if you multitask away, as the video shows. In fact, it acts like a sort of immersive mode, instead of just showing the bars normally on top and below the app.
https://user-images.githubusercontent.com/23609784/145923406-219091b3-c9a4-4963-baef-4d60723949eb.mp4
Steps to Reproduce

Execute flutter run on the code sample.

Expected results: The navigation and status bar should appear normally below and on top of the app since the Android version is lower than 10.
Actual results: The navigation and status bar only show up after tapping on the screen.

Code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text("EdgeToEdgeDemo")),
        floatingActionButton: FloatingActionButton(onPressed: null,),
      ),
    );
  }
}

Logs

[✓] Flutter (Channel stable, 2.8.0, on macOS 12.0.1 21A559 darwin-arm, locale en-MX)
    • Flutter version 2.8.0 at /Users/rodxander/Library/Flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cf44000065 (5 days ago), 2021-12-08 14:06:50 -0800
    • Engine revision 40a99c5951
    • Dart version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/rodxander/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] Connected device (3 available)
    • ANE LX3 (mobile)            • 6NU7N18401026651                     • android-arm64 • Android 9 (API 28)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64 • Android 12 (API 31) (emulator)
    • iPhone 13 (mobile)          • 3780AD81-72FA-4328-9D91-44851A55D1ED • ios           • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)

Verified this on Android 8 and 10 OS respectively and observed same behavior as OP.
Android 8:  app launches without showing nav bar and status bar and tapping on the screen shows them up:
Android 10: app launches with nav bar and status bar as expected:

[√] Flutter (Channel master, 2.6.0-12.0.pre.1028, on Microsoft Windows [Version 10.0.19042.1348], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.2)
[√] Android Studio (version 2020.3)
[√] VS Code (version 1.62.3)
[√] Connected device (4 available)

[√] Flutter (Channel stable, 2.8.0, on Microsoft Windows [Version 10.0.19042.1348], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.2)
[√] Android Studio (version 2020.3)
[√] VS Code (version 1.62.3)
[√] Connected device (5 available)

CC @Piinks

Thanks for reporting! I think I see what is happening here. The new SystemChrome.setEnabledSystemUIMode replaced the now deprecated SystemChrome.setEnabledSystemUIOverlays.
In the old method, calling it without any overlays resulted in that immersive mode you are seeing. I think in this case, it is falling back on that default when the SystemUIMode you provide is not supported by the current version of Android. I'll confirm this, and work on a fix now.
I think if the mode is unsupported we should just do nothing.
There is backwards compatibility for the old default when using SystemUIMode.manual.

Looks like this was already fixed in https://github.com/flutter/engine/pull/29643
I've just checked it on a Pixel 2, API 26 (Android 8) and saw the expected behavior.
@darshankawar you mentioned seeing this on the master branch, can you confirm? I am seeing it is fixed at tip of tree.

@Piinks
Yes, thanks. Verified on latest master (2.9.0-1.0.pre.93) and it's working as expected:

Closing this as fixed.


net: ip: Allow DHCPv4 to override IPv4 autoconf address if only 1 unicast address per interface is allowed

When DHCPv4 and IPv4 Autoconf are both enabled and only 1 unicast address is allowed per interface, the address type which gets registered for the interface is not deterministic.
This fix allows a DHCPv4 address to override an IPv4 autoconf address in the single unicast address case.
Signed-off-by: Savin Weeraratne<EMAIL_ADDRESS>

Why not require that user should increase the unicast address count to 2 in this case? This can be very confusing to the application if the network interface address changes all of a sudden and the previous address is used by a socket.

It is a pitty that that patch did not get accepted, eg. with a config option.
It works well for us, see https://github.com/zephyrproject-rtos/zephyr/discussions/68238#discussioncomment-8316492

@GeorgeAtKistler I do not mind the actual feature, but the patch was checking that 1 unicast address is available which imho is not correct.


main to live

Docs Build status updates of commit 96683ac:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Advertising/bingads-13/guides/report-attributes-performance-statistics.md
:bulb:Suggestion

Details

Advertising/bingads-13/bulk-service/ad-group.md
:white_check_mark:Succeeded

Advertising/bingads-13/bulk-service/campaign.md
:white_check_mark:Succeeded

Advertising/bingads-13/campaign-management-service/adgroup.md
:white_check_mark:Succeeded

Advertising/bingads-13/campaign-management-service/campaign.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/ad-languages.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/currencies.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/accountperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/addynamictextperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/adextensionbyadreportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/adextensionbykeywordreportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/adextensiondetailreportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/adgroupperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/adperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/audienceperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/campaignperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/destinationurlperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/dsaautotargetperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/dsacategoryperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/dsasearchqueryperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/geographicperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/keywordperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/languagereportfilter.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/productdimensionperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/productpartitionperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/productpartitionunitperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/productsearchqueryperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/publisherusageperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/searchqueryperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/shareofvoicereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/reporting-service/userlocationperformancereportcolumn.md
:white_check_mark:Succeeded

Advertising/bingads-13/guides/report-attributes-performance-statistics.md

Line 191, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


feat: include non-repo files for completing /read (take 2, exclude .files)

This should be faster, but I don't have a repo large enough to reproduce the slowdown in the original version (Cassandra isn't big enough), happy to test against a different repo if you have one in mind.

Enumerating all the files is just going to be slow for large filesystems.
The main branch has an implementation of this now. Let me know if it works for you.
aider --install-main-branch

Looks great, thanks!


Easy component type conversion, between mint types

I think people (including me) sometimes want to convert f64 types and f32 types or such component type conversion.
For example, downgrading Point3<f64> to Point3<f32>.
These conversions cannot be written using only From and Into trait (because of coherence), so usually it is done by .map() function.
(See Option::map and Result::map for example.)
I'm not sure how this should be implemented in this crate, .map() method, Map trait, or something else...
Are these component type conversion in scope of this crate?

FYI: rgb crate has ComponentMap trait to do that.

It sounds fairly straightforward: the feature is generic, doesn't involve any math specifically, and can be implemented with just a few blocks. I think we could have it in scope.
As for ComponentMap, it's a pretty solution but it doesn't appear to be providing a lot of benefit to mint since our types don't have any methods that would be confusingly conflict with map.


After attempting to switch workspaces using the shortcut, BinkyBox shuts down.

Hi,
I wanted to use this Tool but unfortunately it doesn't work for me.
After I input the shortcut the program shuts down
I use Windows 11 Pro Version 22H2.

It works now, thank you!

@lkmnch This was fixed in BinkyBox 0.2.0, please consider updating.


--exclude option excludes input files

I just recognised that the --exclude option takes all following arguments as exclude expressions. It took me a while understand why Error: Failed to read file: README.md shows up even that I passed a lot of other files and globs as input 😄. -- or another option (argument starting with dash) ends the exclude arguments.
If this is expected, probably a note in README + help text would be good, that -- shall be used to end the list of exclude arguments before the input file arguments start.
Otherwise, probably --exclude could use a single argument only. It should be enough since (a|b|c) regex syntax can be used to concatenate multiple expressions anyway? Or --exclude could be allowed multiple times.
Not sure what is best here and it is not really a bug, but since it took me 30 minutes to find out what is wrong, I thought it's a good idea to prevent other users from running into the same 😄.

We don't do anything fancy with --exclude; it's just a normal structopt field:
https://github.com/lycheeverse/lychee/blob/bfeeb28e1dab261f5025a9affdd483d61bf63ca6/src/bin/lychee/options.rs#L159-L162
So I'd say that's kind of the convention in structopt when you have a field that uses Vec<_> as a type.
At least according to the POSIX standard it seems to be standard behavior:
See Guideline 10 here:

The first -- argument that is not an option-argument should be accepted as a delimiter indicating the end of options. Any following arguments should be treated as operands, even if they begin with the '-' character.

I agree that it can be counterintuitive. We can debate if we want to change it if there is a way so that structopt only takes a single argument after --exclude. I doubt that this is possible, though and there might be good reasons for it. 😉

We don't do anything fancy with --exclude; it's just a normal structopt field:
https://github.com/lycheeverse/lychee/blob/bfeeb28e1dab261f5025a9affdd483d61bf63ca6/src/bin/lychee/options.rs#L159-L162
So I'd say that's kind of the convention in structopt when you have a field that uses Vec<_> as a type.
At least according to the POSIX standard it seems to be standard behavior:
See Guideline 10 here:

The first -- argument that is not an option-argument should be accepted as a delimiter indicating the end of options. Any following arguments should be treated as operands, even if they begin with the '-' character.

I agree that it can be counterintuitive. We can debate if we want to change it if there is a way so that structopt only takes a single argument after --exclude. I doubt that this is possible, though and there might be good reasons for it. 😉

Yes as said, it's not a bug, just a syntax that is probably rarely enough used so that inexperienced users and as well higher experienced developers like me sometimes run into 😅.
Mostly I know this from X server calls and similar, where you want to pass multiple parameters to the client/child layer, followed by parameters to the server/parent layer, which then need to be delimited by --, but indeed for multiple arguments to single options, when it's not such a multi-layer thing, at least me can't remember another case, currently.
Probably it's enough to add a line about this to readme + help output, which could be even written a way that makes clear that it is expected common syntax:

Multiple arguments are allowed for this option, remember to use "--" to separate the list of exclusions from the list of inputs.

Yes as said, it's not a bug, just a syntax that is probably rarely enough used so that inexperienced users and as well higher experienced developers like me sometimes run into 😅.
Mostly I know this from X server calls and similar, where you want to pass multiple parameters to the client/child layer, followed by parameters to the server/parent layer, which then need to be delimited by --, but indeed for multiple arguments to single options, when it's not such a multi-layer thing, at least me can't remember another case, currently.
Probably it's enough to add a line about this to readme + help output, which could be even written a way that makes clear that it is expected common syntax:

Multiple arguments are allowed for this option, remember to use "--" to separate the list of exclusions from the list of inputs.

We have the same behavior for includes and headers. Would you add that note to all of these parameters in that case, add it to the lychee help output as a general note below all options, or just to the README.md?

We have the same behavior for includes and headers. Would you add that note to all of these parameters in that case, add it to the lychee help output as a general note below all options, or just to the README.md?

Oh, I didn't think about that. To be effective, it would make sense in the usage/--help output of the binary itself, but not in full length below each option that supports multiple arguments.
Btw, I see now that it's already part of the usage info:

lychee [FLAGS] [OPTIONS] [--] [inputs]...

Maybe it's really just me who run into this, even overseeing this usage reminder. If at all, probably an additional sentence for the ARGS: <inputs>... block would do, like:

Prefix with "--" to separate inputs from options that allow multiple arguments.

Oh, I didn't think about that. To be effective, it would make sense in the usage/--help output of the binary itself, but not in full length below each option that supports multiple arguments.
Btw, I see now that it's already part of the usage info:

lychee [FLAGS] [OPTIONS] [--] [inputs]...

Maybe it's really just me who run into this, even overseeing this usage reminder. If at all, probably an additional sentence for the ARGS: <inputs>... block would do, like:

Prefix with "--" to separate inputs from options that allow multiple arguments.

Sounds reasonable. #119 😄

Sounds reasonable. #119 😄


refactor(protocol): Deploy l1

@davidtaikocha we should talk about it via phone.

@dantaik note that in this pr: https://github.com/taikoxyz/taiko-mono/pull/15235
I have added AssignmentHook to this deploy script as well.


Create minimal user profile page for retrieving token for use with API

Describe the feature you'd like and what it will do
Consider creating a minimal user profile page so that users can retrieve their user token for use with the DSP API.
Once a user has logged into the DSP and has authorized with each of the repositories, they can currently retrieve their DSP token at this URL https://dsp-demo.criticalzone.org/api/login for use with the API. If we document this somewhere, maybe we don't need a profile page.
Why is this feature important?
Users currently have no obvious way to retrieve their tokens for use with the API.
Is your feature request related to a problem? Please describe.
N/A
Additional context
N/A

Related to #48


Error 0xC000007B

I got this runtime error code 0xC000007B.
Source Code:
#define _USE_MATH_DEFINES
#include <iostream>
#include <matplotlib/matplotlibcpp.h>
namespace plt = matplotlibcpp;

int main() {

    plt::plot({1,3,2,4});
    plt::show();

    return 0;
}

I already linked the -lpython39 or libpython39.a.
I have already included the header directory of numpy core, matplotlib, and python correctly. (i changed the include path of matplotlib)
I have also placed python39.dll on system32 folder (windows OS)
I don't have any compilation and linking errors at all.

can you post the actual error output?


error when deploy-webresources.bat Access to the path is denied

The application terminated with an error.
Access to the path is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.FlushWrite(Boolean calledFromFinalizer)
at System.IO.FileStream.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at System.IO.StreamWriter.Dispose(Boolean disposing)
at System.IO.TextWriter.Dispose()
at SparkleXrm.Tasks.TraceLogger.WriteLine(String format, Object[] args)
at SparkleXrmTask.Program.RunTask(CommandLineArgs arguments, IOrganizationService service, ITrace trace)
at SparkleXrmTask.Program.Run(CommandLineArgs arguments)
at SparkleXrmTask.Program.Main(String[] args)
Error Code=1

it's because protected folder access blocked by Windows defender


Add date to cluster context SL output, and safety checking

What it does

Add service log creation date to the cluster context service log output
Add safety checking to the extraction of the oauth token from pagerduty config

Background
I :heart: cluster context and have been using it all week, but the thing I really needed was more context around when service logs have been sent - helps me make a judgement call on whether to invest time in re-verifying an issue still exists.
Likewise I initially had trouble with the pagerduty alert reporting because I was using an ancient version of the pagerduty-cli's config.json which did not have the structure expected by osdctl, so it would code-panic. I added some safety checking to prevent that.

/lgtm


docs(upgrade): Add docs for helm upgrade

Signed-off-by: Kalya Subramanian<EMAIL_ADDRESS>
Description:
This PR adds a script to clean up CRDs. This script is then referenced in upgrade documentation.
The docs only refer to the helm CLI for now. osm CLI upgrade support has yet to be implemented.
Partially addresses #2151

Affected area:

New Functionality      [ ]
Documentation          [ ]
Install                [ ]
Control Plane          [X]
CLI Tool               [ ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests                  [ ]
CI System              [ ]
Performance            [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

No

Codecov Report

Merging #2340 (89d24a8) into main (a0f936f) will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2340      +/-   ##
==========================================
+ Coverage   57.24%   57.29%   +0.05%
==========================================
  Files         149      149
  Lines        6661     6653       -8
==========================================
- Hits         3813     3812       -1
+ Misses       2843     2836       -7
  Partials        5        5

Impacted Files
Coverage Δ

pkg/utils/mtls.go
100.00% <0.00%> (ø)

pkg/envoy/ads/stream.go
0.00% <0.00%> (ø)

pkg/injector/init_container.go
100.00% <0.00%> (ø)

pkg/envoy/proxy.go
38.70% <0.00%> (+7.67%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #2340 (89d24a8) into main (a0f936f) will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2340      +/-   ##
==========================================
+ Coverage   57.24%   57.29%   +0.05%
==========================================
  Files         149      149
  Lines        6661     6653       -8
==========================================
- Hits         3813     3812       -1
+ Misses       2843     2836       -7
  Partials        5        5

Impacted Files
Coverage Δ

pkg/utils/mtls.go
100.00% <0.00%> (ø)

pkg/envoy/ads/stream.go
0.00% <0.00%> (ø)

pkg/injector/init_container.go
100.00% <0.00%> (ø)

pkg/envoy/proxy.go
38.70% <0.00%> (+7.67%)
:arrow_up:

Continue to review full report at Codecov.

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


Add history window to training CSV

In addition to the current values, we want to include also the values from previous four hours in the training examples. After joining the weather data with the sensor data, also add these history windows to each example so that we don't have to do it in a different tool.

This is now pretty much done. Closing the issue.