fixed invalid parameter

Purpose

Latest changes in Azure CLI extension broke the workflows.
Does this introduce a breaking change?

[ ] Yes
[x ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code
workflows to create and update environments should work

What to Check
Verify that the following are valid
workflows to create and update environments should work
Other Information
n/a

Hi @RogerBestMsft, this contribution updates the --catalog-item-name parameter to --environment-definition-name.
It looks good to me, but could you double-check & approve?
Thank you!


You may add this list to sources

https://github.com/cipher387/osint_stuff_tool_collection

Thank you!


fix(core): removed sass compilation from Mix

Resolves #88.

There were some regressions. They were fixed directly in the main branch.


Fix bugs in first run of bastion.

Fixup bugs in running bastion for the first time.
The /etc/ansible/ directory doesn't exist to write an inventory too and the shade package can't be installed without some additional ubuntu packages.

-1 this for now, I was testing on 16.04 but I wasn't supposed to add provision or the systemD change to the p-r

Looks like this is good to review again? The 16.0whatever stuff has been removed. @jamielennox is this good to go?

yep, this is good. I'll pass to adam to merge.


Accept ZT config instance name as argument in packet_client.startZeroOS()

Issue migrated from https://api.github.com/repos/Jumpscale/lib9/issues/285, opened by @yveskerwyn
Installation information

jumpscale version: development
operating system:

Detailed description
Currently  packet_client.startZeroOS() takes a ZeroTier API token as a value for zerotierAPI:
packet_client.startZeroOS(hostname='removeMe', plan='baremetal_0', facility='ams1', zerotierId='', zerotierAPI='', wait=True, remove=False, params=None, branch='master')

Instead  change this to taking a ZeroTier config instance name:
zt_config_instance_name = 'my_zt_account'
packet_client.startZeroOS(hostname='removeMe', plan='baremetal_0', facility='ams1', zerotierId='', zerotier_client=zt_config_instance_name, wait=True, remove=False, params=None, branch='master')

commented by @ahussein
I would not really change it to take a client object. I think it would be better to take the client instance name.

commented by @yveskerwyn
yes I agree @ahussein, client instance name would even be better, as long as we don't need to pass the API token


Remove sync_on_data_change

Related to: https://github.com/CartoDB/cartodb.js/issues/1862

retest this please


[dv/rstmgr] Review unr exclusion file with designer

The rstmgr_unr_excl.el file needs to be reviewed.

This urn exclusion file became unnecessary, so closing this.


Issue a warning or throw an exception for not completely configured ResourceOwnePassword flow.

Is your feature request related to a problem? Please describe.
It's easy to forget to register custom implementation of IResourceOwnerPasswordValidator when client is allowed to use resource owner credentials flow.
Describe the solution you'd like
I would like to see at least a warning, which says that clients A,B and D can use the flow, but it is not completely configured. Throwing an exception is definitely a breaking change, but failing at startup is much better than just log message flow is not supported.

Though it is weird because commit e504a423 contains line
_logger.LogInformation("Resource owner password credential type not supported. Configure an IResourceOwnerPasswordValidator.");

However I never saw the part about IResourceOwnerPasswordValidator

Ah, I got it. We log only errors, so this is not shown in log, but failed grant validation is logged as error, however, it contains string which is coming from ConvertTokenErrorEnumToString(error); So information is partially lost. Error description is returned as part of the response, yet it is not logged.
Ugly solution is to add another enum value TokenRequestErrors.ResourceOwnerPasswordValidatorNotImplemented and create correct string from it.

As I said before - extending the client config validator is the right way to do that.


the sample-code-php pack

why didn't  find out vendor/autoload.php directory when download sample-code-php pack?

I'm not quite sure I understand. Have you run composer update in the root level of the repo?

Since there hasn't been an update, I'm going to close this issue. If you have more information to provide related to this issue, feel free to reopen it.


do block problem

I also tested the possibility to change the outputted content which is a very important feature, but it is not working for me. Maybe I misunderstod the readme help. From the help I cut and pasted a changed version of the do feature as follows (I tried many variation of these blocks)
<%= show_for @user do |u| %>
<% u.association :groups, :collection_tag => :ol do |group| %>
<%= (" #{group.name}'hej'").html_safe %>
<% end %>
	     <%= u.association :relationships, :using => :related_user_role, :label=>'Fadder' %>
	  <% u.association :relationships do
	    @user.relationships.map(&:user_role).to_sentence
	  end %>

		<% u.attribute :gender do  %>
		    <%= ("<span> #{@user.gender}'hej'</span>").html_safe %>
		<% end %>

<% end %>
The result is that nothing is rendered when using do ... but it is OK when i just use the simple form as e.g. <%= u.attribute   :gender %>

It seems your blocks calls don't have the = sign in the erb tag, like this: <%= u.association :groups.. do %>. Without it, the result erb would not be rendered to the view. Please give it a try changing your block calls.

Carlos Thanks for the fast answer
That was the problem It works when I added =
However, you should change the readme. It says <% a.attribute :photo do %>
How about the the escape  problem ?

Hans Marmolin
St: Larsgatan 50, 58224 Linkping, Sweden
Phone: +46708371202
21 jan 2012 kl. 15.14 skrev Carlos Antonio da Silva:

It seems your blocks calls don't have the = sign in the erb tag, like this: <%= u.association :groups.. do %>. Without it, the result erb would not be rendered to the view. Please give it a try changing your block calls.

Reply to this email directly or view it on GitHub:
https://github.com/plataformatec/show_for/issues/30#issuecomment-3596408

Yeah sorry, the README is a bit outdated with Rails 3. Could you please send us a pull request updating the README? That would be awesome :)
I didn't have the change to look at your other issue, I'll try to check it until tomorrow.

Carlos
Have corrected and update the readme as suggested
Is that ok, or did you mean something else
This is my first pull request, so I may have made some mistakes

Hans Marmolin
St: Larsgatan 50, 58224 Linköping, Sweden
Phone: +46708371202
22 jan 2012 kl. 00.56 skrev Carlos Antonio da Silva:

Yeah sorry, the README is a bit outdated with Rails 3. Could you please send us a pull request updating the README? That would be awesome :)
I didn't have the change to look at your other issue, I'll try to check it until tomorrow.

Reply to this email directly or view it on GitHub:
https://github.com/plataformatec/show_for/issues/30#issuecomment-3600010

@Marmolin thanks for the pull request, it was applied on master.


Examples should be minimal.

I just finished teaching with the addon, and unless you throw away everything but the addons.make, src folder and bin folder before you run the Project Generator, it fails to properly link everything. I would reccomend stripping out the other files in the examples here.

Ah thanks!
And sorry for the delayed response, I never got any notifications from GitHub!


Problems with node and Error.Forbidden

Hello,
I have migrated a known working instance of kibana-authentication-proxy between similar Ubuntu systems on EC2, and on the new host when I try to start node with app.js I get the following error accessing the port. Can you advise me please I'm having trouble finding resources.
Error: Forbidden
at SendStream.error (/mnt/apps/kibana-authentication-proxy/node_modules/express/node_modules/send/index.js:239:16)
at SendStream.pipe (/mnt/apps/kibana-authentication-proxy/node_modules/express/node_modules/send/index.js:425:19)
at Object.serveStatic [as handle] (/mnt/apps/kibana-authentication-proxy/node_modules/express/node_modules/connect/node_modules/serve-static/index.js:107:12)
at next (/mnt/apps/kibana-authentication-proxy/node_modules/express/node_modules/connect/lib/proto.js:169:15)
at Object.compression [as handle] (/mnt/apps/kibana-authentication-proxy/node_modules/express/node_modules/connect/node_modules/compression/index.js:217:5)
at next (/mnt/apps/kibana-authentication-proxy/node_modules/express/node_modules/connect/lib/proto.js:169:15)
at pass (/mnt/apps/kibana-authentication-proxy/node_modules/express/lib/router/index.js:110:24)
at Router._dispatch (/mnt/apps/kibana-authentication-proxy/node_modules/express/lib/router/index.js:173:5)
at Object.router [as handle] (/mnt/apps/kibana-authentication-proxy/node_modules/express/lib/router/index.js:33:10)
at next (/mnt/apps/kibana-authentication-proxy/node_modules/express/node_modules/connect/lib/proto.js:169:15)

I found the problem on my own. Unlike before where the answer was to issue npm update and install, in this case it was to actually remove the npm version and use the apt-get version first. Now, it's working. Thank you.


[Doc]Add a micro/mega service WorkFlow for DocSum

added a micro/megaservice workflow for Doc Sum
Description
Need a workflow how we build DocSum via mega and micro service
Issues
n/a
Type of change
List the type of change like below. Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)
[x] Others (enhancement, documentation, validation, etc.)

Dependencies
NA
Tests
NA

Looks good.

pre-commit.ci  is not able to fix your branch (I think it's because intel-ai-tce org reject it), please run the test locally and push again.
steps:
pip install pre-commit
pre-commit install
git commit -s -m "fix format issue"

pre-commit.ci  is not able to fix your branch (I think it's because intel-ai-tce org reject it), please run the test locally and push again. steps:
pip install pre-commit
pre-commit install
git commit -s -m "fix format issue"

thanks. I used below instruction instead.
pre-commit run --all-files

one quick question, should I add any github user to the forked repo to avoid this issue in the future?

Looks good.

please help to approve it if it looks good to you.


Getting blank node when clicking in the arrow

When I try to expand one node it becomes blank. With other nodes it seems to work.
I get no errors in console. I'm using<EMAIL_ADDRESS>with latest web/static/scripts/redisCommander.js file.

I think I've figured out. The node has childs so redis-commander displays a "folder" icon. But it also has a String value. So when we expand the node it becomes "abc" icon and blank.

having the same name for a key and a virtual folder does not work with the JSTree plugin used to display the names as folder hierarchy.
Key names with problem for default config with folding char ':'
abc:  "value1"
abc:xyz "value2"

It works if the key does NOT end with the folding char. Working example:
abc  "value1"
abc:def  "value2"

Maybe changing the folding char (default ':') to something else may be a solution?


Add Min and Event Count Metrics To Prometheus

Description:
Added two more unit_of_measurement metric types to prometheus.

Would be nice you could update prometheus_client to the latest release in addition to your enhancement. You seems to have a running setup with Prometheus. This would ensure that the update don't break stuff. Thanks.

@fabaff Sounds fair enough. I will update and test now. If all is well will update this PR shortly.

Bump. It seems tests are failing.

@MartinHjelmare sorry for the delay, life happened. I will get the tests fixed up and pushed soon.


enable notValidWithSchema for chai tests

Because 'validWithSchema' was not working as expected with a negative expect statement (see issue created), this allowed using negative testing with 'notValidWithSchema' instead.

You should merge this @peon374 looks good.

Sorry guys, I didn't get any notifications


mman: Fix mman tests to be runnable

Summary

(This change is submitted as #1530 originally and separated as new PR)
Make mman tests runnable by adding it in parent module, with fixing some previous outdated mman tests

Duplicated as https://github.com/nix-rust/nix/pull/1534


Implement optimization in function application

Closes #1493. Implement the optimization in function application in the oopsla19 encoding. This optimization was introduced by @rodrigo7491 in the arrays encoding, see #1492 .

[x] Tests added for any new code
[x] Ran make fmt-fix (or had formatting run automatically on all files edited)
[ ] Documentation added for any new functionality
[ ] Entry added to UNRELEASED.md for any new functionality

Codecov Report

Merging #1500 (1a7adbb) into ik/bug1483 (f7eccf6) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           ik/bug1483    #1500   +/-   ##
===========================================
  Coverage       74.92%   74.92%
===========================================
  Files             358      358
  Lines           11481    11486    +5
  Branches          537      531    -6
===========================================
+ Hits             8602     8606    +4
- Misses           2879     2880    +1

Impacted Files
Coverage Δ

.../forsyte/apalache/tla/bmcmt/rules/FunAppRule.scala
86.66% <100.00%> (+0.95%)
:arrow_up:

...syte/apalache/tla/bmcmt/rules/aux/CherryPick.scala
93.37% <0.00%> (-0.35%)
:arrow_down:

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 f7eccf6...1a7adbb. Read the comment docs.

The integration test failure is happening only on the array encoding, and it appears to be because the particular tests is exceeding our timeout. I've been able to reproduce it on my machine with the following invocation of the integration test:
SMT_ENCODING=arrays test/mdx-test.py "check TestFunctions.tla reports no error" --debug

Or more directly with
apalache-mc check --smt-encoding=arrays --length=0 --inv=AllTests test/tla/TestFunctions.tla

Perhaps the running time is just at the threshold of our timeouts, which allowed the breakage to slip in?
I think our options are either:

Disable this test for the arrays encoding
Increase the timeout (for this test, or perhaps just for when we run the arrays encoding tests?)
Improve the performance of the arrays encoding :)


MotionLayout + bindingcollectionadapter = 💔

Is this a general databinding issue or question? You are more likely to get a
response from somewhere like
StackOverflow.
Issue
Our team uses me.tatarka.bindingcollectionadapter2:bindingcollectionadapter-recyclerview:4.0.0 extensively and hasn't encountered any major issues until recently. We have started to investigate how to use MotionLayout in our apps and faced a challenge when the widget is combined with this library.
I have created a tiny Android project that should be self-explanatory where a switch of the container of quiz__multiple from ConstraintLayout to MotionLayout causes the RecyclerView's elements not to be shown.
Some background
We are both feeding a ViewPager2 with a collection of a custom SubViewModels while each SubViewModel in turn has binding data that RecyclerView is fed with.
We are using ViewStub to conditionally inflate various (heavy) layouts. The inflated layouts are also data bound and need to explicitly be assigned a LifecycleOwner and we do that by hooking into ViewStub's data binding adapters:
override fun onInflate(stub: ViewStub, inflated: View) {
    inflated.doOnAttach { view ->
        DataBindingUtil.getBinding<ViewDataBinding>(view)!!.apply {
            lifecycleOwner = ViewTreeLifecycleOwner.get(root)
            setVariable(BR.subViewModel, this@SubViewModel)
        }
    }
}

The issue is that if the user doesn't interact with the (hidden) RecyclerView its content will not be shown.

My best guess is that this is due to the OnRebindCallback that BindingRecyclerViewAdapter registers. Note that the issue does not occur if the MotionLayout is swapped with ConstraintLayout. The animation seems to be the culprit.

In the original project, binding-collection-adapter is used both for feeding a horizontal ViewPager2 and as a means to populate a dynamic set of buttons in each page of the pager. Consider each page as template that includes a ViewStub. The layout and "SubViewModel"-instance of each page is then determined by the QuizViewModel. Note that in the original project, the call to
inflated.doOnAttach { view ->
    binding.lifecycleOwner = ViewTreeLifecycleOwner.get(view)!!
}

succeeds as without explicit binding of lifecycleOwner nothing LiveData-dependent would be shown. On the other hand, BindingRecyclerViewAdapter::onBindBinding keeps being hit both the animation and video are played choppily.

Interesting issue, going to assign as a bug for now until exactly what is causing this is figured out.


QUESTION - Depending on Latest Version of Jasmine-Core

Any idea when this package will be using the latest 2.5.x version of jasmine-core?  This is stopping reports from working correctly as I am now getting errors from Jasmine Core when try to get reports.
      this.result.failedExpectations.push(this.expectationResultFactory(data));
                                               ^
TypeError: this.expectationResultFactory is not a function
    at Suite.onException (/Users/curtissalisbury/src/github.com/artemishealth/artemis-app/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:2219:48)
    at QueueRunner.onException (/Users/curtissalisbury/src/github.com/artemishealth/artemis-app/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:2330:28)
    at onException (/Users/curtissalisbury/src/github.com/artemishealth/artemis-app/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1924:12)
    at Timeout._onTimeout (/Users/curtissalisbury/src/github.com/artemishealth/artemis-app/node_modules/jasmine/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1910:11)
    at tryOnTimeout (timers.js:232:11)
    at Timer.listOnTimeout (timers.js:202:5)```

This has been fixed in jasmine-core 2.5.x. So when will this package be updated to accommodate that?

I think the correct solution for this is to remove jasmine-core as a dependency of jasmine-reporters and make it a devDependency instead. jasmine-reporters does not directly invoke anything from jasmine-core, neither methods on the exported global nor any methods on spec or suite objects.
jasmine-reporters is designed to be used with Jasmine, not to use / provide Jasmine itself. I'll shortly push up a new version that removes jasmine as a dependency, and you should be able to use any version of Jasmine with a compatible reporters interface. (To my knowledge, there is nothing about Jasmine 2.5 that fundamentally changes the reporter interface to break, and jasmine-reporters tests all pass with the updated version.)

New version without a jasmine-core dependency has just been published to npm as 2.2.1

Thank you very much.


Random OnDetected invoked when not actively scanning QR codes

Hi there! Thanks for what appears to be a great QR code scanner 👍  one issue I noticed however is I have a tabbed page with 2 child pages, one happens to be a page with a QR code scanner view in it to scan items and another page has scanned barcodes. I noticed randomly that on the scanned barcodes page the app/device randomly vibrated and scanned as though it was scanning a barcode but I didn't even have a barcode being scanned in front of the device. I put break point in on the OnDetected event method to see the result and looks like following:

It seems rather odd it would randomly trigger the QR code OnDetected event. Would there be a reason for this since I don't even have a QR code in front of the camera?

Hi @LeoJHarris
Thank you.
After investigation on the provided screenshot, the barcode scanner may detect a barcode you do not expect as the sensor is quite sensitive and it serves many kinds of barcodes, so I suggest you try to narrow down the supporting barcode types.
If your application is designed only for a certain barcode format such as QRCode you should call GoogleVisionBarCodeScanner.Methods.SetSupportBarcodeFormat.
//Default All
//Set detect QRCode only
GoogleVisionBarCodeScanner.Methods.SetSupportBarcodeFormat(BarcodeFormats.QRCode);
//Set detect QRCode + Code39
GoogleVisionBarCodeScanner.Methods.SetSupportBarcodeFormat(BarcodeFormats.QRCode | BarcodeFormats.Code39);

closed due to no update


Project cleanup, Manual build and upload

Cleanuped the project repository
Added manual build and upload for specified platforms, architectures and wheel(s)

All platforms and architectures workflow
Specified platforms and architectures worflow

README.md was updated to explain how to use build-wheels-defined.yml (manual wheel(s) build and upload)

Also os_dependencies directory was explained in README.md

Upload workflow moved to reusable workflow - succeful run

Related

Closes https://github.com/espressif/idf-python-wheels/issues/13

@dobairoland, Can you please take a look? If everything is OK, MR is ready to merge.


How to migrate from prisma client?

I have a lot of code that uses prisma client to do db queries. How can I gradually migrate to prisma-kysely? I want to have more control over the queries that are sent to the database (postgres, in my case).
This is how my schema.prisma file looks like:
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["jsonProtocol"]
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

I don't want to migrate to prisma-kysely overnight. I would rather do it endpoint by endpoint. Should I append this into schema.prisma:
generator kysely {
    provider = "prisma-kysely"

    output = "../src/db"
    fileName = "types.ts"
    enumFileName = "enums.ts"
}

and leave generator client definition until I migrate all the code to kysely? I cannot just remove generator client, right?

Yup you got that right. Prisma supports multiple generators, so adding prisma-kysely won't affect your existing prisma-client-js code. You should be able to gradually transition that way.


[Regression 5.3.2] TS2339 property cannot be resolved when generic type has the same name

🔎 Search Terms
generic types
regression
5.3.2
TS2339
🕗 Version & Regression Information

This changed between versions 5.2.2 and 5.3.2

⏯ Playground Link
No response
💻 Code
// minimal code for reproduction: Have a class extend another, and have a property with the same name as a generic type
class BaseClass {}

class Item<data> extends BaseClass {
  data: data;
  getData() {
    return this.data;
  }
}

🙁 Actual behavior
TS2339: Property 'data' does not exist on type 'Item'.
🙂 Expected behavior
No transpiler errors
Additional information about the issue
Note: compilerOptions are default
While it may be bad design to have properties and generic types share names, I didn't find it listed anywhere as a breaking change; my mistake if it is :)
Good luck!

Duplicate of #56620.

Indeed, why it didn't turn up when I filtered by TS2339 in the search bar is beyond my comprehension 👍


[Bug] Created user directories is owned by root, and not the user

My $HOME is rolled back to a blank ZFS snapshot at every startup. The dotfiles that I want to keep between reboots is listed in Impermanence's directory and file lists; and the other files that I want to keep is located inside ZFS datasets that gets mounted in $HOME.
My problem using the new way to list users' directories and files is that the parent directories is created and owned by root. This cause a lot of problems.
I expected that all directories that is automatically created by Impermanence should be owned by the user with the username listed in environment.persistence."/persistent".users.<user>, I.e. a12l in my case.

I have noticed this as well, but one case that is extra interesting as well as the root owned one is this line: https://github.com/etu/nixconfig/blob/main/hosts/eliaxe-A100514-NR/persistence.nix#L60
I've expect ~/VirtualBox VMs to be created and mounted.
It is created in the tmpfs space and mounted correctly, so far so good.
But I also got ~/VirtualBox/VMs created and that entire file-tree is owned by root:root.
But that's a separate issue! But what I really did was to confirm your issue as well.

 Sorry about that. Should now be fixed in master.
@etu I'm seeing that issue as well. Everything seems to be working correctly, except for the directory creation, so there's probably something strange happening in create-directories.bash. I'll have to investigate it further, though.

Oh yeah, it uses space as a separator, so that's what's why. I'll fix it.

@talyz I think that this problem disappeared after you pushed your fix [1] when I still had a basic configuration. But now when my configuration [2] is based on digga [3] (a configuration framework building upon flake-utils-plus [4]), the problem still occurs. Note that I'm not at all sure if the problem disappeared with your fix while still using the "basic" configuration, but I think so. Sadly I don't have my old configuration files.
[1]  https://github.com/nix-community/impermanence/commit/65caf299a582ef7cd14b586e8ca0ffe42a363613
[2]  https://github.com/a12l/nixosConfig
[3]  https://github.com/divnix/digga
[4]  https://github.com/gytis-ivaskevicius/flake-utils-plus

Note that it won't change the permission of any files that already exist in persistent storage. Can you provide an example where you add a new directory to the list and it ends up with incorrect permissions? Also look in the activate script for your current generation and search for the createPersistentStorageDirs snippet. Are the correct permissions provided to the create-directories script for each directory?

The problem is that ~/.config; ~/.local; and ~/.local/share is owned by root:root, and not a12l:users. The files that I've listed for persistent storage is located inside ~/.config and in ~/.local/share, but I haven't listed ~/.config nor ~/.local/share for persistent storage.
You can see below that the ~/.config; ~/.local; and ~/.local/share directories located inside the persistent storage has correct ownership. (I've removed files and directories that isn't handled by Impermanence for clarity)
$ ls -la /persistent/home/a12l/
total 175
drwxr-xr-x 10 a12l users   13 Feb  6 12:55 .
drwxr-xr-x  3 root root     3 Dec 16 10:49 ..
drwxr-xr-x 12 a12l users   14 Feb  6 12:53 .config
drwxr-xr-x  4 a12l users    4 Jan 25 22:59 .local
drwxr-xr-x  2 a12l users    2 Dec 23 00:35 .minisign
drwxr-xr-x  5 a12l users    5 Jan 16 20:10 .mozilla
drwxr-xr-x  2 a12l users    2 Dec 23 02:17 .scribus
drwxr-xr-x  2 a12l users    6 Feb  5 15:38 .ssh
drwxr-xr-x  3 a12l users    4 Dec 25 00:35 .thunderbird
drwxr-xr-x  3 a12l users    3 Jan 26 14:45 .zotero

$ ls -la /persistent/home/a12l/.config/
total 215
drwxr-xr-x 12 a12l users  14 Feb  6 12:53  .
drwxr-xr-x 10 a12l users  13 Feb  6 12:55  ..
drwxr-xr-x  2 a12l users   3 Dec 23 10:41  autostart
drwxr-xr-x  7 a12l users  14 Jan 10 14:42  calibre
drwxr-xr-x 30 a12l users  36 Feb  3 02:25  chromium
drwxr-xr-x  8 a12l users  14 Feb  6 13:42  emacs
drwxr-xr-x  3 a12l users   3 Jan 18 16:14  fontconfig
drwxr-xr-x  3 a12l users   3 Jan 10 18:38  JetBrains
-rw-r--r--  1 a12l users 459 Jan 20 15:20  KeePassXCrc
drwxr-xr-x 10 a12l users  13 Feb  1 22:47 'Mullvad VPN'
drwxr-xr-x  3 a12l users   5 Jan 29 22:31  pijul
drwxr-xr-x  3 a12l users   6 Jan 31 12:40  qBittorrent
-rw-r--r--  1 a12l users 636 Dec 30 17:59  user-dirs.dirs
drwxr-xr-x  8 a12l users  15 Feb  1 15:09  zotero

$ ls -la /persistent/home/a12l/.local/
total 50
drwxr-xr-x  3 a12l users  3 Feb  6 14:00 .
drwxr-xr-x 10 a12l users 13 Feb  6 12:55 ..
drwxr-xr-x  3 a12l users  3 Feb  6 12:55 share

$ ls -la /persistent/home/a12l/.local/share/
total 50
drwxr-xr-x 3 a12l users 3 Feb  6 12:55 .
drwxr-xr-x 3 a12l users 3 Feb  6 14:00 ..
drwxr-xr-x 3 a12l users 9 Jan 18 15:39 fonts

But as you can see below ~/.config; ~/.local; and ~/.local/share has different ownership (root:root) it my $HOME. No problems with the directories and files that I directly list to be handled by Impermanence.
$ ls -la ~/
total 574
drwxr-xr-x 25 a12l users  28 Feb  6 13:44 .
drwxr-xr-x  3 root root    3 Dec 11 14:19 ..
drwxr-xr-x 11 root root   11 Feb  6 13:42 .config
drwxr-xr-x  3 root root    3 Feb  6 13:42 .local
drwxr-xr-x 32 a12l users 422 Feb  4 02:21 Long-Term
drwxr-xr-x  2 a12l users   2 Dec 23 00:35 .minisign
drwxr-xr-x  5 a12l users   5 Jan 16 20:10 .mozilla
drwxr-xr-x  2 a12l users   2 Dec 23 02:17 .scribus
drwxr-xr-x  2 a12l users   6 Feb  5 15:38 .ssh
drwxr-xr-x 18 a12l users 141 Feb  6 13:51 Temporary
drwxr-xr-x  3 a12l users   4 Dec 25 00:35 .thunderbird
drwxr-xr-x  4 a12l users   4 Jan 27 15:57 Zettelkasten
drwxr-xr-x  3 a12l users   3 Jan 26 14:45 .zotero

$ ls -l ~/.config/
total 149
drwxr-xr-x  2 a12l users  3 Dec 23 10:41 autostart
drwxr-xr-x  7 a12l users 14 Jan 10 14:42 calibre
drwxr-xr-x 30 a12l users 36 Feb  3 02:25 chromium
drwxr-xr-x  8 a12l users 14 Feb  6 13:42 emacs
drwxr-xr-x  3 a12l users  3 Jan 18 16:14 fontconfig
drwxr-xr-x  3 a12l users  3 Jan 10 18:38 JetBrains
drwxr-xr-x  3 a12l users  5 Jan 29 22:31 pijul
drwxr-xr-x  3 a12l users  6 Jan 31 12:40 qBittorrent
drwxr-xr-x  8 a12l users 15 Feb  1 15:09 zotero

$ ls -l ~/.local/
total 17
drwxr-xr-x 3 root root 3 Feb  6 13:42 share

$ ls -l ~/.local/share/
total 17
drwxr-xr-x 3 a12l users 9 Jan 18 15:39 fonts

This is the relevant bindmounts
$ findmnt
[...]
├─/home                                  zroot/USERDATA/home                            zfs        rw,relatime,xattr,posixacl
│ └─/home/a12l                           zroot/USERDATA/home/A12L/root                  zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/JetBrains       zroot/HOST/persistent[/home/a12l/.config/JetBrains]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/autostart       zroot/HOST/persistent[/home/a12l/.config/autostart]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/calibre         zroot/HOST/persistent[/home/a12l/.config/calibre]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/chromium        zroot/HOST/persistent[/home/a12l/.config/chromium]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/fontconfig      zroot/HOST/persistent[/home/a12l/.config/fontconfig]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/emacs           zroot/HOST/persistent[/home/a12l/.config/emacs]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/pijul           zroot/HOST/persistent[/home/a12l/.config/pijul]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/qBittorrent     zroot/HOST/persistent[/home/a12l/.config/qBittorrent]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.config/zotero          zroot/HOST/persistent[/home/a12l/.config/zotero]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.local/share/fonts      zroot/HOST/persistent[/home/a12l/.local/share/fonts]
│   │                                                                                zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.mozilla                zroot/HOST/persistent[/home/a12l/.mozilla]     zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.minisign               zroot/HOST/persistent[/home/a12l/.minisign]    zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.scribus                zroot/HOST/persistent[/home/a12l/.scribus]     zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.ssh                    zroot/HOST/persistent[/home/a12l/.ssh]         zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.zotero                 zroot/HOST/persistent[/home/a12l/.zotero]      zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/.thunderbird            zroot/HOST/persistent[/home/a12l/.thunderbird] zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/Temporary               zroot/USERDATA/home/A12L/temporary             zfs        rw,relatime,xattr,posixacl
│   ├─/home/a12l/Long-Term               zroot/USERDATA/home/A12L/long-term             zfs        rw,relatime,xattr,posixacl
│   └─/home/a12l/Zettelkasten            zroot/USERDATA/home/A12L/zettelkasten          zfs        rw,relatime,xattr,posixacl

And when I look at ~/run/current-system/activate~ it seems that the correct arguments is sent to the script :-/
#### Activation script snippet createPersistentStorageDirs:
_localstatus=0
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/autostart' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/calibre' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/chromium' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/emacs' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/fontconfig' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/JetBrains' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.local/share/fonts' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/qBittorrent' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.scribus' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.zotero' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/zotero' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.mozilla' 'a12l' 'users' '0700'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.minisign' 'a12l' 'users' '0700'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/pijul' 'a12l' 'users' '0700'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.ssh' 'a12l' 'users' '0700'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.thunderbird' 'a12l' 'users' '0700'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/var/log' 'root' 'root' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/var/lib/systemd/coredump' 'root' 'root' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/etc/NetworkManager/system-connections' 'root' 'root' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/etc/ssh' 'root' 'root' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/home/a12l/.config/Mullvad VPN' 'a12l' 'users' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/etc' 'root' 'root' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/etc/mullvad-vpn' 'root' 'root' '0755'
/nix/store/hkr3fdalaa1pp2rrswrmpqx3dpm2y9c5-impermanence-create-directories '/persistent' '/etc/nix' 'root' 'root' 'u=rwx,g=,o='

if (( _localstatus > 0 )); then
  printf "Activation script snippet '%s' failed (%s)\n" "createPersistentStorageDirs" "$_localstatus"
fi

That's really odd. I can't see why this would happen based on the data you've provided. Is this after a reboot, not just a nixos-rebuild switch?
To get more info on what's happening, I'll have to add some debug printouts in create-directories.

Can you try #85, set enableDebugging = true and report back with the trace from a reboot?

I've done some reorganizing of my filesystem setup. Moved from ZFS to tmpfs, etc. And I no longer experience this problem. I could try to reproduce the problem, or we can close this issue and reopen it again if someone else experience the same problem?

It would be interesting if you could switch back to ZFS to see if that's what causes the issue. It seems to work just fine with Btrfs and tmpfs, at least.

Okay! I believe I can help with this one; I'm on a ZFS root as well, and am being affected by this issue as well. Anything I can do to help?

Yes! If you can set enableDebugging and report back with a trace from a boot which was affected by this, that would help. This makes it sound more likely to be a ZFS bug, but it would be nice to confirm that the script is doing the right thing.

Where do I set enableDebugging, again?

It's available at the top level of the submodule, so
{
  environment.persistence."/persistent" = {
    enableDebugging = true;
    directories = [
      # ...
    ];
    files = [
      # ...
    ];
  };
}

Right; but how do I trace the reboot too? 😅

Actually, I used journalctl -b, and got a wall of text; do I give you everything, or just until it sets up /etc?

Actually, here's the entire log: https://github.com/shadowrylander/shadowrylander/blob/main/tmp

Yeah, the journalctl -b output is what I want - thanks! Which directories have incorrect permissions for you?

Same as OP: my user directory. Can't even install anything! 😹

Well, @a12l's issue was that the ownership of ~/.config and some other directories didn't propagate from persistent storage. If that's what you're seeing, but for the root of your home directory, then it doesn't seem to be our bug: from your log I can see that

chown --reference=/persist/home/shadowrylander /home/shadowrylander/

is run many times (should be once for every directory listed under it).

I believe it is; I've got a lot of directories listed there. The issue is that both /home and /home/shadowrylander itself is owned by root, while only the former is meant to be. I don't know how to fix this short of doing it manually with a systemd service.

Who's the owner of /persist/home/shadowrylander?

No, wait; switch them around: shadowrylander owns /persist/home/shadowrylander, while curtis owns /persist/home.

In that case, running

chown --reference=/persist/home/shadowrylander /home/shadowrylander/

should make /home/shadowrylander owned by shadowrylander, and that command is run many times on boot according to the log you linked. Could you try switching your / to tmpfs and see if that solves this issue for you, too? If it does, I think we can pretty confidently say that ZFS is to blame.

Hmm... I'll have to figure out the partitioning for that... Be back in a bit.

If you're using the "rollback to empty" trick, it should be as easy as commenting out your normal / filesystem definition and adding
{
  fileSystems."/" = {
    device = "none";
    fsType = "tmpfs";
  };
}

Got it; should I also link another boot trace?

Update: still happening.

Note, however, that my home directories are ZFS datasets as well; should I change them over to tmpfs as well?

Yes, exactly - all relevant storage should be switched to tmpfs.

Alright, so everything applicable has been changed to tmpfs, which includes my home directories and root, but not my persist directories or anything else not connected to /home.

Hm, okay, strange. Can you provide the output to the following commands (and any others you find relevant)?
mount
ls -lah /persist/home
ls -lah /home
journalctl -b

Also, after recording the output, can you try running
sudo chown --reference=/persist/home/shadowrylander /home/shadowrylander/

and see if that corrects the ownership?

Will do. Note that curtis owns /persist/home; should anything be done about that, or is it not as important considering impermanence controls the subdirectories in /persist/home?

It shouldn't be important. Normally, it would be owned by root, but it can be owned by any user and that ownership should then automatically be applied to /home. Impermanence doesn't really control the contents of /persist/home, other than creating directories which don't exist yet - it will not change permissions or fix ownership of existing items there.

Ah; got it. Thanks for the clarification! I'll apply the fix and report back.

This one's a doozy: https://github.com/shadowrylander/shadowrylander/blob/main/tmp
Also, the last chown fixed the permissions!

Okay, I think I see what's happening - all the directory creation and permissions/ownership fixes are run before your home directories are mounted, so all the work it's done is essentially overridden. The create-directories script runs as part of the activation script, which runs in the stage-2-init and unless filesystems are marked as neededForBoot, they're mounted later than that.
The easiest solution, in your case, would be to just skip defining home directory mounts. The home directories will simply be handled as part of the root directory and if all are rolled back the same way, it shouldn't matter. If you have a specific need to handle them separately, mark all of them neededForBoot instead.

Hmm... I may have to mark them as neededForBoot, though, as I snapshot frequently, so that if I make a careless mistake that I can't recover from with git or similar, like something from Downloads, I can always recover them from the snapshot. I'll try it out and report back!

Okay, so slight issue: the directories all have the correct user shadowrylander now, after setting neededForBoot on the appropriate datasets, but the files linked from /persist/home/shadowrylander are all owned by root.

Do you mean that the symlinks in /home/shadowrylander are owned by root? This shouldn't matter much, since the uses for symlink ownership is very limited and symlink permissions aren't used. You should be able to write to, read from and and even delete the symlink even if it's owned by root. It would still be nice to correct this, though.

You're right; it doesn't seem to matter. As bind-mounts, the links can be easily modified. Either way, it works! Does neededForBoot therefore solve the original problem, or was my issue different?

I suppose it could! @a12l do you remember if you had datasets mouted at the problematic directories?

I'm running into this problem too (and I happen to be using ZFS with rollback).
Specifically my problem is that ~/.config is being created with root:root ownership.
When I peek inside ~/  I notice that nothing has been symlinked, the only thing that exists is ~/.config/syncthing .. which is created by my syncthing config.
I suspect that this syncthing service is being started before $USER-home-manager.service runs.
Is there any way to control the order of these?

Yes! Figured it out using good ol systemd overrides
https://github.com/Ramblurr/nixcfg/commit/8d8d64202492e818978c2b1dac79022f037e57fd
...
    # FIX: home-manager impermanence
    # when using with home-manager impermanence we need to ensure that home-manager actives before
    # syncthing. otherwise the syncthing init will create ~/.config/syncthing, but ~/.config will be created
    # with root:root ownership.
    systemd.services."syncthing" = {
      enable = true;
      overrideStrategy = "asDropin";
      requires = [ "home-manager-ramblurr.service" ];
      after = [ "home-manager-ramblurr.service" ];
    };
    systemd.services."syncthing-init" = {
      enable = true;
      overrideStrategy = "asDropin";
      requires = [ "home-manager-ramblurr.service" ];
      after = [ "home-manager-ramblurr.service" ];
    };
    # END FIX: home-manager impermanence
    services.syncthing = {
      enable = true;
         ...

This is seemingly resolved.

I am not sure if this is the right place. All my files/directories have the right permission set to the user, however my home is still owned by root which leads to issues with Plasma as it can't create the files it needs. I would like that $HOME to be writable but rollbacked on reboot.
In short:

I am using zfs

I clear the root / per boot

I do not have a separate dataset for /home/bphenriques as I only persist what is relevant within the home. Everything will be gone or will persist under /persist/config/bphenriques or /persist/cache/bphenriques.

  { lib, ... }:
  {
    disko.devices = {
      disk = {
        vda = {
         type = "disk";
         device = "/dev/nvme0n1";
         content = {
           type = "gpt";

           # Both order and keys are important
           partitions = {
             boot = {
               size = "1M";
               type = "EF02"; # for grub MBR
             };
             ESP = {
               type = "EF00";
               size = "512M";
               content = {
                 type = "filesystem";
                 format = "vfat";
                 mountpoint = "/boot"; # TODO: See people setting up options = [ "umask=0077" ]; # Limit access to random seed
               };
              };
             swap = {
               size = "6G";
               content = {
                 type = "swap";
                 resumeDevice = false; # I really don't care about hibernation.
                 randomEncryption = true;
               };
             };
             zfs = {
               size = "100%";
               content = {
                 type = "zfs";
                 pool = "zroot";
               };
             };
           };
         };
       };
     };

     zpool = {
       zroot = {
          type = "zpool";

          # https://www.high-availability.com/docs/ZFS-Tuning-Guide/#general-recommendations
          rootFsOptions = {
            compression = "lz4";
            xattr = "sa";
            atime = "off";
          };

          options = {
            ashift = "12";
          };

          # https://github.com/KornelJahn/nixos-disko-zfs-test/blob/main/hosts/testhost-disko.nix
          datasets =
             let
              persistConfigLocation = "/persist/config";
              persistCacheLocation = "/persist/cache";

              systemDatasets = {
               system = {
                 type = "zfs_fs";
                 options.mountpoint = "none";
               };
               "system/root" = {
                 type = "zfs_fs";
                 # options.mountpoint = "legacy";
                 mountpoint = "/";
                 postCreateHook = ''zfs snapshot zroot/system/root@blank'';
               };
               "system/nix" = {
                 type = "zfs_fs";
                 mountpoint = "/nix";
               };
               "system/persist" = {
                 type = "zfs_fs";
                 mountpoint = "${persistConfigLocation}/system";
               };
               "system/cache" = {
                 type = "zfs_fs";
                 mountpoint = "${persistCacheLocation}/system";
               };
             };

             homeDatasets = {
               home = {
                 type = "zfs_fs";
                 options.mountpoint = "none";
               };
               "home/bphenriques" = {
                 type = "zfs_fs";
                 options.mountpoint = "none";
               };
               "home/bphenriques/documents" = {
                 type = "zfs_fs";
                 mountpoint = "/home/bphenriques/documents";
               };
               "home/bphenriques/persist" = {
                 type = "zfs_fs";
                 mountpoint = "${persistConfigLocation}/bphenriques";
               };
               "home/bphenriques/cache" = {
                 type = "zfs_fs";
                 mountpoint = "${persistCacheLocation}/bphenriques";
               };
             };

             dataDatasets = {
               "data" = {
                 type = "zfs_fs";
                 mountpoint = "/mnt/data";
               };
             };

           in systemDatasets // homeDatasets // dataDatasets;
       };
     };
    };

    fileSystems = {
      "/".neededForBoot = true;
      "/nix".neededForBoot = true;
      "/boot".neededForBoot = true;
      "/persist/config/system".neededForBoot = true;
      "/persist/config/bphenriques".neededForBoot = true;
      "/persist/cache/system".neededForBoot = true;
      "/persist/cache/bphenriques".neededForBoot = true;
    };

    systemd.tmpfiles.settings = {
      # Only accessible by the bphenriques
      "grant-bphenriques-permissions" = {
        "/home/bphenriques/documents" = {
          e = {
            user = "bphenriques";
            group = "users";
            mode = "0700";
          };
        };
      };
      # Accessible by everyone
      "grant-users-permissions-data" = {
        "/mnt/data" = {
          e = {
            user = "bphenriques";
            group = "users";
            mode = "775";     # Accessible by everyone.
          };
        };
      };
    };
  }

And my impermenance:

 { lib, ... }:

  let
   system = {
     config = {
       source = "/persist/config/system";
       directories = [
         "/var/log"

         # Docker
         "/var/lib/docker"

         # Connectivity
         "/var/lib/bluetooth"
         "/var/lib/nixos" # https://github.com/nix-community/impermanence/issues/178
         "/etc/NetworkManager"
       ];
       files = [
         "/etc/machine-id"
       ];
     };
     cache = {
       source = "/persist/cache/system";
       directories = [];
       files = [];
     };
   };

   bphenriques = {
     username = "bphenriques";
     config = {
       source = "/persist/config/bphenriques";
       directories = [
         "Downloads"
         "Music"
         "Pictures"
         "Videos"
         ".config/systemd" # git maintenance systemd timers
         ".config/vlc"
         ".mozilla"        # Firefox
         ".config/sops"

         ".dotfiles"

         # SSH
         { directory = ".ssh"; mode = "0700"; }

         # Steam
         ".local/share/Steam"
         ".config/lutris"

         ".local/share/nix" # trusted settings and repl history
       ];
       files = [
       ];
     };
     cache = {
       source = "/persist/cache/bphenriques";
       directories = [
         ".cache/dconf"
         ".config/dconf"
         ".cache/nix"
         ".cache/mozilla"  # Firefox

         # Shell
         ".local/share/fish"
         ".local/share/zoxide"
         ".bash_history"
       ];
       files = [];
     };
   };
  in
  {
   environment.persistence = {
     "${system.config.source}" = {
       hideMounts = true;
       files = system.config.files;
       directories = system.config.directories;
     };

     "${system.cache.source}" = {
       hideMounts = true;
       files = system.cache.files;
       directories = system.cache.directories;
     };

     "${bphenriques.config.source}" = {
       hideMounts = true;
       users.${bphenriques.username} = {
         directories = bphenriques.config.directories;
         files = bphenriques.config.files;
       };
     };

     "${bphenriques.cache.source}" = {
       hideMounts = true;
       users.${bphenriques.username} = {
         directories = bphenriques.cache.directories;
         files = bphenriques.cache.files;
       };
     };
   };

   boot.initrd.postDeviceCommands = lib.mkAfter ''
     zfs rollback -r zroot/system/root@blank
   '';

   security.sudo.extraConfig = ''
     # Rollback triggers the lecture everytime
     Defaults lecture = never
   '';
  }

The above should resemble my setup (middle of debugging). My question is, what should I expect of the /home/bphenriques folder regarding permissions?
Happy to create a separate ticket focused on zfs and this setup without mounting the /home/bphenriques if sensible.
PS: My imperneance module has excessive abstraction. I had an iteration where I modularized the  files and directories rather than specifying in a single place. I gave up on that iteration as I won't be able to write { directory = ...; user = ..., mode = ... }. It felt more sensible having a firefox module defining its persist paths.

Solved my issue by moving my home impermeneance to home-manager. $HOME now has the right permissions.


Set rel="nofollow noindex" on new issue links

Fix #19018
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Please send backport.


[improvement](sync version) fe sync version with be

Proposed changes
pick #25236
fe should sync replica's version with be's report:
I. In some cases, replica version of fe may greater than be's report version due to program bugs. If there's no write later, fe replica's last failed version will always be -1. And this replica couldn't be repair.
To fix these, if fe's version > be's report version, after 5min, fe will mark this replica as missing versions. Later this replica can be repair;
II. In some other cases, it will cause case replica's version = partition's visible version = partition's committed version, and replica's last failed version = partition's + 1. case as follow:
a. suppose partition visible version = 10, committed version = 11, the committed txn version T is not published yet;
b. clone a replica A to B, after cloning, B's version = 10.
c. publish txn T, A version = 11. Also due to txn publish bug, B's version = 11 (PR https://github.com/apache/doris/pull/23706 has fix this);
d. publish another txn, A and B's version become 12;
e. now B's backend version is: [1, 10], [12, 12], it will report it missing version = 11; then fe will mark this replica's last failed version = version + 1 = 12 + 1 = 13;
f. fe will let B clone version 11 from A, after cloning, B will contains all the version. But Replica.updateVersion has bug,
if it found its version not change (12 -> 12)，it will not set replica's last failed version to -1.
Then later, B will always be: version = 12, last failed version = 13.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


[YUNIKORN-977] Revert YUNIKOR-885 - Set heath check as liveness probe

Revert "[YUNIKORN-885] Set health check as liveness probe (#48)"
This reverts commit 9b18a21e580faa5e2c1a8737cd64d972441d3320.

I will also backport this to 0.12 branch once approved as it is a blocker there.

@yuchaoran2011, can you review?

Thank you @craigcondit , make sense. Approved the PR. Is this one causing YUNIKORN-975 as well?


Write a program to take tree input from users and display its 3 traversal

Problem :- write an algorithm to take user tree input and print it's In order , preorder and post order traversal.
please assign it to me under hacktoberfest2023

@Saikat2407 please sir assign it to me.


Be able to render code docs into backstage (e.g. JavaDoc, PythonDocs, etc.)

Feature Suggestion
We'd like to add the possibility the code docs  (e.g. JavaDoc, PythonDocs, etc.). This would allow developers to easily find the technical documentation about the components they are using and avoid companies to deal with multiple host managers (e.g. javadocs.io, readthedocs.io, etc.) in case of internal documentation.
Possible Implementation
I don't if we need a new plugin of just add this feature to the techdocs plugin. IMHO, this should be a separate plugin. If this is not a new plugin, then this could be related to #12259 ?
At least I think that the features described in #12259 should be supported.
I don't know about any other features that should be supported.
May be it's worth to add a generic HTML renderer ?
Context
Companies have many live version for each components. These components may be used by several developers. These developers want to be able to look at the doc of the specific version of the component they use in backstage.

@LvffY, could you maybe revise this issue? The Possible Solution and Context are identical to #12259. It might also be worth linking to the other similar issues asking for support for other generators or tooling like: #8642, #1147, or #4548

@ahhhndre I reword my issue.
The context is the very similar as #12259 but here it's pointing developers use case, on #12259 it's pointing backstage users more generally.
In any case, thanks for pointing other issues :)

@LvffY Can you clarify why you think this issue is similar to the TechDocs version issue. Also, are you imagining this in-code documentation being part of another doc site, in other words - being injected into it. Or are you imagining it as a separate doc site?

@iamEAP Can you comment on this. TechDocs Addon vs separate Plugin? Anything to say about the relationship between this issue and other issues (including #12259 )

Hmm...  Whaddya think of this thought, @garyniemen: maybe the use-case of displaying code docs is closer to API docs than it is to TechDocs?
e.g. This is an example of an API definition of type "grpc"...  But what if there were also an API definition type JavaDoc?

@iamEAP This seems to be more something like that I had in mind :)
@garyniemen WIth the last answer of @iamEAP I don't think the two problems are related anymore and I was more thinking about another doc site TBH.

Nice.  Maybe @freben, how does that sit with you from a Catalog / API perspective?  To represent APIs that aren't necessarily "over the wire" but instead, something more akin to classes/functions/methods/etc for a package/module.

One might say that the API kind is there as a helper for modelling communications patterns. You want to be able to express that a service Component exposes two APIs A and B, and then other Components can say that they consume A or B, rather than consuming the Component that hosts them.
For API docs for a component itself that is more library-like, I'm not sure that this view of the abstraction holds. So far, we've said that a service Component might relate directly (not via an API) to a library Component if you wanted to express that relation (and even that is not quite as common a granularity to reach for).
So with that in mind, it sounds like it'd be a modelling inconvenience to introduce API entity middlemen basically in order to just house the API docs. Its actual work to just get that yaml in place and having it visible in search results, and inventing unique names for them etc. Spontaneously, it sounds like maybe metadata.links on the services, pointing to externally hosted api docs, could be more lightweight from the catalog's POV?
Let me know if that makes sense.

Mmmm.  Thanks for the clarity @freben, that makes a lot of sense.
To be honest @LvffY, we regularly have folks request this kind of library documentation internally (for a variety types of libraries in a variety of languages), but haven't quite found the best way to solve this generally and at scale.
Because we use the recommended deployment approach to TechDocs internally, we're able to offer a workaround: some teams are able to generate markdown from language-specific inline docs at build-time, and inject those markdown files into a TechDocs site's mkdocs.yml configuration.  ...But the solution is imperfect: it's brittle, it's hard to integrate the TechDocs content and language-specific docs, and there isn't a unified way to discover those library docs.
It's like we want an experience like that of the API plugin for end users, but with the authorship experience of TechDocs.  The API Docs and TechDocs plugins have some useful primitives internally (e.g. API Docs' ability to render different kinds of API definitions or TechDocs' prepare/generate/publish steps), but those primitives aren't really composable into a solution that fits this need, at the moment.
So maybe a new, separate, library-docs plugin is the way to go?  I dunno.  Whaddya think @garyniemen?

@iamEAP do you have any examples on how to generate markdown from Javadoc, PythonDoc and so on ?
I've never heard (or TBH search) for such features, but this could be quite a good temporary workaround :)
@soapraj did you get time to review this issue ?

Up


Change HTE HTTP Service port to something obscure

Currently the HTE service port is 8080. This is a common port used by web servers and is likely to cause conflicts at some point.
We should change this to a high port number that is less likely to collide with another application.

Done. 26c896dd886e54bb3b300e21674fdc3e96695707


feat: Add support for Pub/Sub attributes

Closes #1
Adds support for Pub/Sub attributes. This allows subscriptions to filter the messages received.
I have avoided any extra imports to reduce any extra overhead. Alternatively Object could be required to slightly simplify the checking for empty objects.
I have also extended the skipNilValues parameter to also apply to attributes. This is noted in the updated help text in template.tlp.
I have confirmed that these changes work as expected in my tag manager container.

@henryharbeck Thanks.


Windows support

At this stage, we have a working installer/uninstaller and the service running as expected 🎉
The only blocking parts are the sockets, so we cannot interact with the script yet.
Also, I now understand why nobody wants to port anything to windows... every single one of their provided tools sucks...
The install script can certainly be improved in many ways, but I will stop here for now and focus on the socket part.
If you have any questions or comments, please let me know 👍

Also and important part
The crosec driver being unsigned and the secure boot having to be disabled, causes windows to ask for the bitlocker key on boot if it is enabled.
This can lock inexperienced users out of their computer if done incorrectly.
To mitigate this, I have added an acknowledgement part with a clear red warning.
I don't know if this is the right way to do things, so I would like to know your thoughts.

Ahem... LGTM ?
You're kind of on your own for Windows related stuff... not only do I lack a Windows install,  but I also lack knowledge about how things are supposed to be there :grimacing:
I've been Linuxing ever since I got into software engineering, sorry :grin:
I think you should go on with it, people will certainly come and open an issue if there's anything to improve

Hi @TamtamHero,
I have found some time and motivation to continue this and hope to finish by the end of next week.
However, I have a question, should we:

Merge the Windows related stuff (install script, socket controller, services...) into the main branch?
This would be easier for us to maintain, but would add a lot of unnecessary complexity and files that are not relevant to users of each OS (Windows stuff in Linux and vice versa).
Create a separate branch, like we do with packaging solutions like NixOs (e.g. /windows, /packaging/windows...)?
This would make things much cleaner, but maintaining a new separate branch and keeping it up to date can be time consuming in the long run.
Something else?

What do you think?
Which one do you think we should go for?
Have a nice day.

Hi @TamtamHero,
After much thought, I have come to the conclusion that we should go with a separate branch and exclude Unix specific scripts, services and Socket Controllers.
Do you share this point of view?
I am currently working on the documentation and it should be ready for merging this weekend.
Have a great day.

Up to date and (hopefully) ready to merge.
I will wait for a week and test it thoroughly, and if all is well and no one objects, I will push it to the packaging/windows branch.
Have a nice day.

It's indeed going to be a bit more work to maintain a separate Windows branch but I think it's worth it too


Document Rusoto's supported Rust versions (and OSs?)

Let's formalize what targets we aim to support.
Right now it's implicit with our Travis and Appveyor configs: we support Rust 1.13 through beta on Linux and OSX and only stable on Windows.  With the upcoming switch to new serde releases with Macros 1.1 we'd need to document we target Rust 1.15 and beta on Linux and OSX.
@adimarco and I have discussed this a lot early on in development and we came to the conclusion we want to target stable as a minimum Rust requirement.  Being able to support earlier versions of Rust is a nice-to-have but we don't see that as a requirement.
Thoughts, opinions?

Compiler
Expanding on what I said here, I think that in terms of Rust targets, supporting stable is a minimum, and that individual Rust versions (prior to stable, e.g. 1.13) should be also targetted in the Travis CI, but only until it becomes inconvenient to do so, at which point we bump it to the new minimum (e.g. 1.15).
This lets us keep our Rust "minimum version" requirement clear and updated, while immediately demonstrating backwards-incompatible changes.
Supporting nightly is incredibly useful as well, and lets us react to changes quickly.
Since this scheme involves supporting stable and nightly already, supporting beta makes sense, but isn't inherently necessary (since it's unlikely that stable and nightly are supported, but beta doesn't).
Supporting interim stable versions is silly for the same reasons as above (i.e. if we work on 1.13 and stable, there's really no reason why 1.14 needs to be tested).
This is the scheme we currently have in place, and I think it makes sense.
Platforms
In terms of operating systems, supporting Linux is the easiest and it makes the most sense since the majority of our users are likely to be on Linux. If Linux is being supported, then it makes sense to support OS X as well (at least while we're on Travis CI), since they're similar enough that supporting one means you probably already support the other (thanks, Rust!).
Supporting Windows is a bit thornier since it's harder, there's less Windows users, etc., but it also makes sense since AWS services can and are used from Windows (see: boto), and supporting Windows means we cover the 3 major targets.
Supporting operating systems outside of those 3 would be a hassle and add an inordinate amount of time to the CI process for the benefits it brings. I think this should only be done if we get issues from users on esoteric platforms, and even then issues should be handled on a case-by-case basis.
Summary
In summary, (personally) I am OK with the current system, and the only thing we are really missing is support for beta and nightly on Windows. This shouldn't be much of an upgrade, but it should only be done if we think that Rusoto can break with nightly/beta on Windows, but not break on OS X/Linux at the same time. Since Rusoto does not have any platform-specific code, I don't think this is really a priority, but it would be nice to have.

Thanks for the writeup!
The part I'm most wanting to codify is

...supporting stable is a minimum, and that individual Rust versions (prior to stable, e.g. 1.13) should be also targetted in the Travis CI, but only until it becomes inconvenient to do so...

Getting that called out explicitly will answer @jimmycuadra 's question on IRC about our policy for compatibility with older versions of Rust.


Offer embedded-hal Pin interface

A split() method should be added that returns the GPIO pins broken into individual generic embedded-hal Pins.
Examples of this are for example:

https://github.com/japaric/stm32f103xx-hal/blob/687dc4b2eda17ec20f5a6fd8ffe411297eaef9d1/src/gpio.rs#L81
https://github.com/therealprof/nrf51-hal/blob/0ea22ead03143c2ae16cf059f08390f71fa71577/src/serial.rs#L69

This was added in version 0.2.0


[BUG] I can't see photos of the selected. I'm marking as if they were hiddenly selected?

Why can't I see a selected border encircling every image, save from the first or last ones?I am unable to view images of the selected I am marking, as though they were chosen covertly.

you likely have not selected any images in between. The selection is done image by image, not all images in between.


Refactor Cape client statefulness

CAPE-900
Adds the _EnclaveContext class, which is responsible for managing all state related to the Cape client's connection to an enclave for a given FunctionRef. This opens up the future possibility of working with multiple Cape functions from a single python process, by managing a cached stack/queue of _EnclaveContext objects.
Also refactors pycape.attest.parse_attestation to return the parsed attestation doc, instead of returning only the public key and optional user data.
An updated grouping of statefulness and how it's handled in PyCape
State that is bound to a given Cape client:

cape host url
access token
asyncio event loop
AWS root cert: downloaded and cached once per Cape instantiation

State managed by caller of Cape client:

_EnclaveContext: Cape.connect creates it, Cape.close destroys it

State managed by caller of _EnclaveContext:

websocket connection to enclave: _EnclaveContext.bootstrap creates it, _EnclaveContext.close destroys it
enclave hpke public key: _EnclaveContext.bootstrap creates it, _EnclaveContext.close destroys it
SSL encryption context: bound to lifetime of _EnclaveContext

The description to the PR is great 💯


How to debug dependent extensions (eg. install both into extension dev host on F5)

I'm considering splitting my extension into two (Dart and Flutter). One will depend on the other and there will be some interactions between them that means some things will be developed in both extensions together.
The way that my launch.json is set up I'm not sure how I can make it so F5 would launch a single dev host with both extensions installed into it. Is this possible?
(The two extensions would like both be in the workspace as their own roots).

@DanTup I haven't tried myself but here is what I think should work:

create a workspace the contains one of your extensions
add the second folder as a root folder using 'Add Folder to Workspace'
in the debug viewlet, create a launch config for the workspace (not for one or the other folder). That launch config should look like a regular one for a single extension i.e. type is extensionsHost and args include "--extensionDevelopmentPath=${workspaceRoot}".

When you run this launch config, both extensions should be found.
@weinand pls chime in if I got this wrong.

Won't workspaceRoot just pass the first folder through and load that single extension?
(I haven't actually created the second extension to test this yet, but expect to in the coming weeks).

See testplan item https://github.com/microsoft/vscode/issues/72500 for how to debug multiple extensions.


Added box examples in cpp and python

🎉 New feature

Part of #300

Summary
Added cpp and python example for Box class.
Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

@ahcorde I have did the suggested changes.
Do we have cpplint(CPPLINT.CFG) and clang-tidy(.clang-tidy) config file for gazebo codestyle?
I code in neovim with language servers, formaters, linters enabled, which check for config file in
project root directory, if config file  not found, then formats in default way(this mess the formatting), so i turned of my linters and formatters.
We should have linter and formatters config, may be in a gist or in every repo or somewhere else. So it could be downloaded and sym linked locally in project root, and code could be automatically formatted. What do you say?

@ahcorde can we proceed to merge this.


Restructure boot API in JavaScript

This PR improves the code structure of boot API in JavaScript. No visible change in the front-end.

Yes!! This is really nice.

Major step forward for the project :)


CI: add feedstock validation

Closes #26

@jbusecke, this is ready to be merged whenever you get a chance

Thanks @andersy005


CI Roadmap

The CI workflow(s) for Stump are currently at a much better state than they were before, but there is still a lot of work to be done. I'll outline some of the areas that need work below, and create separate issues for tracking as needed. This overly time critical, but it eventually will be when I feel ready for an initial release.
Docker Caching
Lol this is annoying. So, as of https://github.com/aaronleopold/stump/pull/92, docker caching works only when running builds locally. In CI, the only time the cache actually works is when you rerun a build for the same commit.
Locally, this is not the case. I can run a build, make a change, run a consecutive build, and the cache is properly used and the build is much faster. I have no idea why this is the case, but it is very annoying and gives me agita.
CI Checks
Honestly this is pretty decent right now. Not much I would change here. The checks are rather basic, but they are sufficient for now. All it does is lint the code. I guess the one thing I want it to do is run tests, but those don't exist yet lol well, if they do they are not great tests. See https://github.com/aaronleopold/stump/tree/al/testing-overhaul.
Nightly Release Workflow
As of https://github.com/aaronleopold/stump/pull/92, we have a nightly release workflow that will build and publish nightly docker image(s) whenever a PR lands in develop.
The general flow at the moment is:

On PR, trigger docker build for linux/amd64 only. This will not be pushed to a registry, rather just be cached. I consider this a smoke test to ensure basic build functionality before merging and running the full build(s) for all platforms.
On push, trigger a build for all of the supported platforms and push to the registry. This will be considered the nightly release, and will be tagged as such.

Note that all operations are currently performed on a single, self-hosted runner. This is a great start, but there are a few things that need to be done to make this more robust:

[ ] Run builds and publish nightly executables for stump_server

Ensure I can support the main 3, initially targeted platforms: macos, linux, and windows.
I don't think it is feasible to run some sort of cross-compilation flow on the single, self-hosted runner, so two GH hosted runners will need to be used for the macos and windows builds.

[ ] Run builds and publish nightly executables for stump_desktop

Ensure I can support the main 3, initially targeted platforms: macos, linux, and windows.

This won't really be a concern until the stump_server CI is in a good state, but I wanted to call it out here.

[ ] Ensure that all nightly releases replace any existing nightly releases for the same platform.
[x] #94
[ ] Only build docker images when actual code changes are made

Release Workflow
The release workflow is currently non-existent and I imagine it will be more annoying.
In general, what I am envisioning is:

Create a new GH release, which will trigger the new workflow.
The workflow will do all of the same operations as nightly, except it will be tagged with the release version.

For Docker, an image tagged with both latest and the release tag will be pushed to the registry.

The workflow should handle the creation of / update of the change log. There seem to be many options out there, but this should be some autogenerated markdown file that looks at commit names and messages to generate a list of changes. This requires some research to pick the right tool for the job.

The checklist for the release, following the above outline, would be:

[ ] Build and publish the stump_server and stump_desktop executables for all supported platforms to the GH release page.
[ ] Build and publish the stump_server and stump_desktop docker images for all supported platforms, tagged with latest and the release tag.
[ ] Update the change log for the release and create a PR with the changes pointing to main.

Other Notes

I'm a little iffy on the release workflow. It just feels a little disjointed to make a tag and then run the builds. I'm just thinking of scenarios where I'd have to delete the tag if a build fails or something :shrug:
Docker armv7 is broken.

I think https://github.com/aaronleopold/stump/pull/108 surfaced an annoying issue where external PRs are missing this repos variables during the CI, which causes failures like https://github.com/aaronleopold/stump/actions/runs/4521440733/jobs/7963254737#step:4:417. This is kinda annoying, but I think it makes sense? I guess the options are:

Hard code vars related to PRs, so external PRs have the required context
Hope I am wrong and someone with more knowledge about GH actions corrects me lol

https://github.com/softprops/action-gh-release

https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates


Add undo fix feature

Users do not have to go to every folder and manually delete/change
files before they rerun the script in case their first run failed
By default, when the user clicks on the script or runs the program on
CLI without arguments, the script undo changes from previous runs, then
adds its new changes.
From this feature, added options of whether to undo without any fix
or vice versa (fix without any undo)
Note:
Since the modified .ini language used for mods is a CFG (context free grammar), using
Regex is not the best solution for parsing. But the parsing in the undo feature would be fine for general use cases.
Demo:
https://streamable.com/m75dq8

if this merge request is merged first, then this other merge request can be closed since this merge request includes its changes


Vcam don't Work

Vcam does not work since the update. I have been using an app before but since the app updated its camera interface. Vcam no longer supports it. Can you do an update to fix this problem?

I HAVE PROBLEM  WITH  1000.BMP  not working for me :/

u can use this,a native hook app, only need root permission, but need charges。
https://xnxj.xyz,

@anaospfun working for image ?

not directly supported, buy u can convert image to mp4 or use obs push rtmp stream.

How can i do that ?

Please send mail with subject "virtual camera install apk" to<EMAIL_ADDRESS>to get the installation package

Вы можете использовать это, собственное приложение для подключения, нужно только разрешение root, но требуется плата. https://xnxj.xyz ,

Hi. What happened to you? The website is not working. You don't answer the mail either =(((

not directly supported, buy u can convert image to mp4 or use obs push rtmp stream.

how?


Add com.snowplowanalytics.snowplow/withdraw_consent/jsonschema/1-0-0

can you rename the issue to reflect the schema? Yali went with consent_withdrawn, not sure if you'd rather go with withdraw_consent. Likewise for consent_granted.

Oh sorry yes, 1 sec


Improve tSyntax regex extractor

It is not uncommon to have arguments and line breaks within $t style translation functions.
We use (an older version of) Vue I18n. My changes add support for common use cases while not impacting existing use cases.
I added a test for __() style calls with line breaks in the arguments, but did not do this for $_ style as I am not familiar with those.

Hi @pindab0ter
Thanks for the PR.
I'm not sure I understand the tc in the regex. I completely agree with the line break; that makes a lot of sense.

The $tc is used by Vue I18n 8.x pluralization. I figured adding c? doesn't hurt anything and you could argue that it is still a $t-style function.

I turned the PR into a draft as I found cases where our translation function calls weren't closed correctly sometimes, resulting in malformed keys ending up in the translation file.
What is your philosophy? Garbage in = garbage out, or do you want to complicate the regex to guard against such cases?

The $tc is used by Vue I18n 8.x pluralization. I figured adding c? doesn't hurt anything and you could argue that it is still a $t-style function.

Understood TIL :)

What is your philosophy? Garbage in = garbage out, or do you want to complicate the regex to guard against such cases?

Good question. So I think I wish to try and guard as much as possible, as that is what happens on the PHP end, for example, if a blade or really any PHP  file can't parse, it won't work, and throw an exception.
There is also a case for just being able to throw anything at it, but for now it's simpler to "guard" aginst such cases.

The PR is ready for review.

Thanks for the PR @pindab0ter


Add a missing payee in the list of countries

The goal is just to add as many countries as possible to the list

Can I work on this issue? if you ok, is there a dead line?🤔

@dv970406 - Of course with pleasure:)
No deadline, take your time

@ln-dev7 - Thank you :)
I'm working on this, but when I enter figma, I can't make any card because it was only view.
please, make south korea card🇰🇷
And, I gonna make USA🇺🇸(although not my country). please make it too!

I worked on adding a missing country, namely Guinea, and regarding the portfolio data, I put my personal data temporally because I am not Guinean but Senegalese because I have already added my portfolio for Senegal. you can try to check #119


Image distortion

What can cause image distortion in different systems?
I tested on systems:
Windows 10
Ubuntu 16, 18

What does "image distortion" mean? Can you show us your code snippet?
For example, result of image encoder / decoder may differ slightly depending on OS.


drivers: serial: nrfx_uarte: Deprecate CONFIG_UART_x_NRF_HW_ASYNC

Deprecate mode which is using TIMER+(D)PPI for reliable byte counting. Recently a new approach is added (CONFIG_UART_NRFX_UARTE_ENHANCED_RX) which supports reliable byte counting without additional HW resource. This mode is planned to be the only supported RX path mode.
Enhanced RX has slightly different behavior. There are no partial RX packets (events with non-zero offset). There is UART_RX_BUF_RELEASED after each UART_RX_RDY event.

@nordic-krch please rebase

@dcpleung @anangl can you reapprove. I had to rebase.

@dcpleung can you reapprove?

@dcpleung can you reapprove?


feat: implement .fctlstate file

Partially closes #216.
Changes

Implemented .fctlstate state file with JSON encoding
Moved clusters generated files to ~/.furyctl/clusters/<GUID>
Used the state file to save the generated GUID

rebased

rebased and squashed

also runned go mod tidy

closing as not relevant for now, we'll pick it up in the future if needed


Add check for updates option to the settings

There should be a check for update option in the settings so that we don't have to open releases page to see if a new update is released.

The app will be published to Microsoft store for updates. The github download version is only for preview because Microsoft didn't accept the app to the store yet


Vue warn - ref cannot be used on hoisted vnodes

After letest tech update (3e3ce7bc6e74a39503f47922597c05f90b21b8d5), warnings start appearing when using NuxtImg component:

From user's perspective the site appears fully functional...

warning disappeared after updating to latest versions of dependencies a doing clean re-install of node_modules


Write uProxy client code

This is the code that the Getter will use to report usage. For v1, we will report only for opted-in users.
On every connection, we'll report date and country, and the previous date and country. The client needs to track the previous date. We can suppress duplicate reports on the client side if there's no "bucket" change.
The client needs to keep track of failed requests in order to retry.
This depends on #2679, since that affects the API.
Should we add domain-fronting to this change? How much more work would it be?

One thing to figure out here is how to map IPs to countries. There must be a compact map somewhere, as many tools do this kind of mapping.

wow, ip2country beats MaxMind's free download by quite a bit (GeoLite2-Country.mmdb is 8.8M gzipped, 19M unzipped), nice!
FWIW, a couple ideas in case if even just 2M is too heavy:

prune less-likely-to-be-used data from the db if possible, settling for lower coverage / higher probability of reporting "unknown country" for some users
don't bundle any local db, settle for reporting only what the browser can tell us (e.g. navigator.languages - ["en-US"], timezone - (EDT)`, etc.), and make inferences based on that knowing we won't always be right
in case the lookup doesn't have to be done locally, I think Google offers a free Geolocation web service, at least it looks like this is what https://github.com/codejoust/session.js does?

Daniel and I chatted today. Here is the specification for v1:
v1.1

Log for opted-in getters-only
Logging done by the getter using a regular connection through the sharer
In a first implementation, log date only, and use ZZ for "unspecified country"
Launch as soon as #2678 is resolved. Notice that we don't need to have the backend fully wired in order to start collecting the use dates, and we can generate reports at any time.

v1.2

Add country logging

Then we'll move into v2, where we add some extra privacy guarantees and log more extensively, but it's out of scope of this entry. See the v2 Milestone for that.

(Btw recently came across http://richg42.blogspot.com/2016/08/rads-ground-breaking-lossless.html which the geoip db compression reminded me of)

@dborkan Would you mind updating this to reflect the latest thinking on the reporting end? (this seems to reflect thinking of the previous client). Also feel free to scrap this and start a new one if it's noisy.

Currently on the "metrics" branch, I have added code to the uProxy client to report when the user starts getting access.  This reports the new date getting access and the last date getting access in an HTTPS request to uproxy.org (encrypted so both the sharer and a MITM can't eavesdrop).
However this is not yet on the "master" (webstore) branch, as our plans have changed in recent weeks.  The new thinking is that metrics should be sent from the server, rather than the getter.  This means that users only need to opt into metrics at server creation time, rather than each getter opting in.  We will be creating an updated design doc for this soon.


CDAP-14604 remove non-namespaced endpoints

Removed the non namespaced endpoints now that the UI has migrated
over to the namespaced endpoints.
Also changed endpoints to use explicit transaction control to avoid
unneeded extra transactions now that the services have been migrated
to the storage SPI.
Also fixed exception handling in the directives execution endpoint
to make sure the directive error message is displayed to the user
and not some generic transaction exception message.

@CuriousVini please take another look when you get a chance. I force pushed since it was just removing a throws declaration.


Emacs 30 breaks use-package integration for use-package forms which use :straight nil

What's wrong
Starting after build from git source commit ecdd3a9efac3e56850ce10260747c158865f9378  (i.e. today) produces these errors. None of them occurred in 28.2.
Please note that all of these use :straight nil in their use-package forms because they are either built-in or encapsulate inline symbols.
Also, as seen below, I use the latest bootstrap and switch to the develop branch in an unsuccessful attempt to prevent the  native-comp-deferred-compilation-deny-list issue as documented in
https://jeffkreeftmeijer.com/emacs-native-comp-log/
⛔ Warning (initialization): An error occurred while loading ‘/home/emacswatcher/.emacs.d/early-init.el’:

Symbol's value as variable is void: native-comp-deferred-compilation-deny-list

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.

[Return code: 0]

$ cd /var/shared-elpa/straight/repos/straight.el/
$ git checkout -B develop origin/develop

branch 'develop' set up to track 'origin/develop'.
Your branch is up to date with 'origin/develop'.
Reset branch 'develop'

[Return code: 0]

$ cd /var/shared-elpa/straight/repos/straight.el/
$ git submodule update --init --recursive

[Return code: 0]

Version information

Emacs version: 30.0.50
Operating system: Linux j2 6.2.9-200.fc37.x86_64

Also, as seen below, I use the latest bootstrap and switch to the develop branch in an unsuccessful attempt to prevent the native-comp-deferred-compilation-deny-list issue as documented in
https://jeffkreeftmeijer.com/emacs-native-comp-log/

The fix for this has since been merged to the master branch.
So no need to switch to the develop branch.
Please see: https://github.com/radian-software/straight.el/issues/1073
M-x straight-version will help you know if you're running a version of straight which includes the patch mentioned above.
use-package is bundled with Emacs 30.
Please see: https://github.com/radian-software/straight.el/issues/1035
@raxod502 : We've had several duplicate issues for these two, so I've pinned them for now.

Sounds good, thank you!

Ok straight-version tells you what version straight is. Mine is out of date.
How do yopu update straight.el? Is it the same as other packages?

Yes.


Creating collision shape for editable instanced scene doesn't work correctly

Godot version
3.3.4
System information
Linux, GLES3
Issue description
The created collision shape node for a editable instanced scene isn't accessible. Only when you reopen the root scene it becomes accessible.
In Godot 3.4 the created CollisionShape will be vanished after reopening the root scene.
Steps to reproduce

Create a new 3d scene, add a MeshInstance node with any shape and save it
Create another 3d scene, add the first created scene to it as a child and mark it as editable
Then on the MeshInstance that has become editable, create for it any CollisionShape from the Mesh menu on the top right
You will see that the generated CollisionShape node won't be accessible

Minimal reproduction project
No response

Can anybody confirm this issue?

Duplicate of https://github.com/godotengine/godot/issues/39494.


Added support for brackets in boolean expressions

Currently there is no way to alter operations precedence in boolean expression, so it can force users to use cascades of ifs. With this it should become simpler.
Expression in brackets is parsed recursively as special case of IfToken that represents sub-expression which is evaluated similar to variable token.

Before I forget: This PR should document the changes in the docs.

@djbe comments addressed, can you look again?

@djbe fixed docs, good catch with brackets vs parentheses 👍

Does this still need a rebase? (github says it needs an update)

@djbe I'll update and sqaush


Round trip of sRGB seems wrong

let color = new Color("color(srgb -0.3 0.5 1)").to('xyz').to('srgb')

result
[-0.41,0.5,1]

Maybe I'm missing what this change is trying to solve, but this doesn't seem right and seems to be causing the problem: https://github.com/LeaVerou/color.js/commit/efe60a84ee567e3fb7b8fb7343c45bac89de3085.
Without the change, it would round trip properly to [-0.3,0.5,1].

Looking at things closer, I think I understand what was intended, but I think it doesn't need to happen in sRGB.
In sRGB, you are never given a negative value that goes through pow, as the algorithm specifically checks this and sends it down the other route. So the above change is only breaking the non-pow route.
In think this was trying to apply the same trick done in a98-rgb, but it isn't needed in srgb. in a98-rgb there is actually a real risk of a negative number going through pow, so val must be an absolute value and the sign copied to the result. And you guys already do this perfectly.
    {
		return RGB.map(val => Math.pow(Math.abs(val), 563/256)*Math.sign(val));
	},
	toGamma(RGB) {
		return RGB.map(val => Math.pow(Math.abs(val), 256/563)*Math.sign(val));
	},

It appears to me that https://github.com/LeaVerou/color.js/commit/efe60a84ee567e3fb7b8fb7343c45bac89de3085 is fixing an issue that does not exist, or at least is fixing is attempting to fix something that isn't obvious but is going about it improperly.

Looking at things closer, I think I understand what was intended, but I think it doesn't need to happen in sRGB.
In sRGB, you are never given a negative value that goes through pow, as the algorithm specifically checks this and sends it down the other route. So the above change is only breaking the non-pow route.
In think this was trying to apply the same trick done in a98-rgb, but it isn't needed in srgb. in a98-rgb there is actually a real risk of a negative number going through pow, so val must be an absolute value and the sign copied to the result. And you guys already do this perfectly.
    {
		return RGB.map(val => Math.pow(Math.abs(val), 563/256)*Math.sign(val));
	},
	toGamma(RGB) {
		return RGB.map(val => Math.pow(Math.abs(val), 256/563)*Math.sign(val));
	},

It appears to me that https://github.com/LeaVerou/color.js/commit/efe60a84ee567e3fb7b8fb7343c45bac89de3085 is fixing an issue that does not exist, or at least is fixing is attempting to fix something that isn't obvious but is going about it improperly.

I see now that the intent was to completely mirror the behavior so that near-zero negative numbers went down the non-pow route and negative values further from zero own the pow route. The problem is that the algorithm is no longer a mirror image, but if you make this change it will be (notice the added parenthesis):
if (abs > 0.0031308) {
	return sign * (1.055 * Math.pow(abs, 1/2.4) - 0.055);
}

I see now that the intent was to completely mirror the behavior so that near-zero negative numbers went down the non-pow route and negative values further from zero own the pow route. The problem is that the algorithm is no longer a mirror image, but if you make this change it will be (notice the added parenthesis):
if (abs > 0.0031308) {
	return sign * (1.055 * Math.pow(abs, 1/2.4) - 0.055);
}

Oh wow, yes that is indeed what was wanted.
The intent was to completely mirror the transfer function below zero. This is because, for gamma-encoded RGB spaces, this is what current graphics hardware does with negative values, and is what Canvas is adopting as well.

Oh wow, yes that is indeed what was wanted.
The intent was to completely mirror the transfer function below zero. This is because, for gamma-encoded RGB spaces, this is what current graphics hardware does with negative values, and is what Canvas is adopting as well.

Thanks for the explanation! It is good to know also that this isn't something that just CSS is adopting.

Thanks for the explanation! It is good to know also that this isn't something that just CSS is adopting.


v4 React on Rails: Deprecate redux_store from view, move to controller

Updated API of ReactOnRails.js to provide optional param for getStore.
Added API docs for new controller module and view helper for shared
redux stores.
Deprecate usage of redux_store from a view helper.
Adding other helpers and JS code extracted from the https://github.com/shakacode/react-webpack-rails-tutorial/

LGTM! We should try it out :+1:

CI is failing when I do a fresh git clone, but not in my regular development setup.

It may not be worth deprecating the view based setup, and if so, the version would go to 3.1 rather than 4.0.

Took a quick look, maybe it's worth trying and upgrade node to 5.6.0?

@justin808 if we only pass props as redux_store("helloWorldStore", @hello_world_props) in controller, without passing them to a react component as <%= react_component("HelloWorldApp", props: @hello_world_props, prerender: true) %>, you will have the following errors..
[SERVER] helloWorldStore.jsx {"name":"Stranger"}
[SERVER] RENDERED HelloWorldApp to dom node with id: HelloWorldApp-react-component-0
[SERVER] HelloWorldAppServer {}
[SERVER] helloWorldStore.jsx {}
[SERVER] Warning: Failed propType: Required prop `name` was not specified in `HelloWorldWidget`. Check the render method of `HelloWorld`.
helloWorldStore.jsx {"name":"Stranger"}
RENDERED HelloWorldApp to dom node with id: HelloWorldApp-react-component-0
HelloWorldAppClient {}
helloWorldStore.jsx {}
Warning: Failed propType: Required prop `name` was not specified in `HelloWorldWidget`. Check the render method of `HelloWorld`.

In both HelloWorldAppServer.jsx and HelloWorldAppClient.jsx,
props becomes empty object if the react component has not been given any props from its Rails view.
if I pass props to react component as well, it works finally.

I'm going to apply this to the https://github.com/shakacode/react-webpack-rails-tutorial and then merge if that goes well. NOTE: There are breaking changes.
Please try this out:

https://rubygems.org/gems/react_on_rails/versions/4.0.0.beta.3
https://www.npmjs.com/package/react-on-rails


chore:[release-0.3] update argocd to v2.3.3 in Dockerfile and defaults.go

What type of PR is this?
/kind chore
What does this PR do / why we need it:
chore:[release-0.3] update argocd to v2.3.3 in Dockerfile and defaults.go
Added missing 0.2.1 crds
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
How to test changes / Special notes to the reviewer:

@jopit @iam-veeramalla @wtam2018 PTAL.

LGTM


MDatePickerView is not working with me on latest XCode with swift 5

I have checked the example but unable to run the example though.
Just make it that simple so some one can easily implement and customize it.

Just now I updated the kit. Upgraded v1.2.3