Svelte: support bind:value

Firstly, thanks for this library!  yjs had me interested, but you've made it so much simpler to use.
The combination of SyncedStore and the WebRTC & IndexedDb providers blew me away.  Collaborative, offline-capable data in less than 5 minutes of work?
🤯
Description
This PR adds support for Svelte's bind:value syntax.  The Svelte compiler expects there to be a set method on the store.
	function input_input_handler(each_value, item_index) {
		each_value[item_index].title = this.value;
		theStore.set($theStore);
	}

Since we're editing the underlying reactive objects directly, the set method can just be a simple () => {} stub.
Example
Same code, but with the types removed.
https://codesandbox.io/s/svelte-syncedstore-example-lb1g7?file=/App.svelte

Great, thanks @SkaterDad and glad to hear about your experience :)!
Would you be interested in helping out by adding a Svelte example to https://syncedstore.org/docs/? (similar to the React / Vue examples?). This would definitely be useful and maybe we can then share it in the Svelte community to get more people excited

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
497

Relevant Lines:
584

💛  - Coveralls

Yes, I should be able to help with that. Same Todo app?

Yes I think that would be cool! I think most work would be getting the live example (using sandpack) to work. Most of this code is in https://github.com/YousefED/SyncedStore/tree/main/docs/src/theme/CodeBlock. Let me know if you need help to figure this out! (I'm also available on Discord)
The latest version of Sandpack (the live code editor) has a Svelte theme (they just added that), so that should be helpful:
https://github.com/codesandbox/sandpack/blob/2d0c85c5ef4fa856c83e539e2c9e2ffd804fa366/sandpack-react/src/templates/svelte.ts.

I'm hoping to do more experimentation with complex data, as well. Is this library able to handle nested object updates (trees)? I read it's possible with yjs, but you'd have to define each nested object as a y map?

Yes, this is definitely possible with Yjs. Yjs provides data structures such as Y.Map and Y.Array for this. However, SyncedStore was designed exactly to make this easier; so with SyncedStore you can pass any JSON structure, and it maintains underlying Y.Map (for objects) and Y.Array (for arrays) automatically.

Hi, would you be able to push an updated package to npm for use in the examples?
I spent some time working on the sandpack examples but kept running into strange errors.  Was going to give it another try this weekend, though.

Done! Svelte package has been updated: https://www.npmjs.com/package/@syncedstore/svelte

Thanks!   Feels like Codesandbox isn't playing well with Svelte.  Running into an error just like this one: https://github.com/EmilTholin/svelte-routing/issues/92
The code is all fine, but it doesn't work unless you open the Codesandbox and reinstall the Svelte dependency.  Super weird and not a great user experience.
For now I'll just make a PR with some example code, and maybe a Svelte REPL.


Implicit solver enhancements

Purpose
In milestone O2.3.6, we have implemented implicit solvers for RichardsModel, EnergyHydrologyModel, and SoilCanopyModel. As we developed these, we identified some areas for improvement that we want to address at some point, as well as ideas for improved stability that may or may not be necessary. These are documented here.
Cost/benefits/risks
costs: developer time
benefits: increased simulation stability, decreased code duplication, more robust code
risks: potential regressions if we alter equations
Producers
@juliasloan25 @kmdeck
Components

more accurate jacobian approximations for increased simulation stability
code cleanup

Inputs
Implicit solvers introduced in #135
Results and deliverables
Maintain or improve stability of implicitly-stepped experiments
Reviewers
@juliasloan25 @kmdeck @dennisYatunin (PRs)
@tapios @cmbengue (SDI review)
Tasks
### general implicit stepping
- [ ] #659
- [ ] #661

### SoilCanopyModel
- [ ] #782

### EnergyHydrologyModel
- [ ] #662
- [ ] include boundary condition contributions (if needed)
- [ ] include contribution from drhoe_int / dtheta_l (if needed)
- [ ] understand how to treat soil phase change implicitly

### RichardsModel
- [ ] smooth derivative dPsi/dtheta at theta = \nu (if needed)

This looks good and thorough to me (though I say that without being familiar with all items here).


Extract roda

Remove any Roda/web-frontend specific code from dry-web. The Roda code will now live in dry-web-roda.
Still to go before this is finished:

[x] Test coverage for the few simple components that remain here

Then, once this is merged, I'll work on another PR, to add some sort of application "wrapper" class that can hold main app config, like I described in https://github.com/dry-rb/dry-component/issues/14.

Tests are in place, and I've also removed Dry::Web::Transaction::Composer, since it wasn't doing anything except calling Dry.Transaction! It might be worth adding a nicer integration back in in the future, but right now this object wasn't offering any value.

Dry::Web::Transaction is a left-over, should be removed and forgotten. We now have dry-transaction that does everything we need.

Yeah. I was leaning towards just doing nothing, good to see you think the same. Some lightweight integration could be optionally provided by a skeleton (basically the equivalent of Berg::Transaction)


Implement the lineage event logger

Signed-off-by: Minkyu Park<EMAIL_ADDRESS>Problem
As proposed in the design of the client proxy, this PR implements the event logger that stores validated lineage events to the local database implemented with sqlite3.
Solution
For the new lineage event, it simply adds the event to the lineage event partition table. When the partition hits its limit, it rotates the partition by creating a new partition table. The partition limit is configured in the configuration file proxy.env and overridible by setting environment variables.

Note: All schema changes require discussion. Please link the issue for context.

[ ] Your change modifies the core OpenLineage model
[ ] Your change modifies one or more OpenLineage facets

If you're contributing a new integration, please specify the scope of the integration and how/where it has been tested (e.g., Apache Spark integration supports S3 and GCS filesystem operations, tested with AWS EMR).
Checklist

[ ] You've signed-off your work
[ ] Your pull request title follows our guidelines
[ ] Your changes are accompanied by tests (if relevant)
[ ] Your change contains a small diff and is self-contained
[ ] You've updated any relevant documentation (if relevant)
[ ] You've updated the CHANGELOG.md with details about your change under the "Unreleased" section (if relevant, depending on the change, this may not be necessary)
[ ] You've versioned the core OpenLineage model or facets according to SchemaVer (if relevant)
[ ] You've added a header to source files (if relevant)

SPDX-License-Identifier: Apache-2.0
Copyright 2018-2023 contributors to the OpenLineage project

closing this PR since we have the fluentd proxy. feel free to reopen if anyone would like to pick this up.


The game doesn't run on my PC

When I launch the it instantly crashes, there are no error messages.
My hardware:
CPU: Intel core i5 6600
GPU Nvidia GTX 960
RAM: 16GB DDR4

What's the operating system that you're using on that system?

I'm using Windows 10, I just downloaded the game unzipped it and ran RUN_DEMO.bat

Do I need some kind of devtools to run it?

No
Currently working on the fix, please wait

Can you test this one?
https://github.com/megumumpkin/WickedEngine-Demo/releases/download/v2023.2-prealpha/PlayerCharacterDemo-Windows-Fix1Test.zip

Thanks, it works now

Thanks for the report! Look forward for further development or if you like, you can contribute even further by joining WickedEngine's discord forum (esp. in the game-demo-development channel)


BUG: Expected Lua number error

Did you check docs and existing issues?

[X] I have read all the docs.
[X] I have searched the existing issues.
[X] I have searched the existing discussions.

Neovim Version (nvim -v)
NVIM v0.9.4 Build type: Release LuaJIT 2.1.1693350652
Operating System / Version
NixOS 23
Describe the Bug
When the neo-tree is opened, sometimes I see this error. I see this error only some times. Even though this occurs, neo tree is working without any issue as far as I can see.
Screenshots, Traceback
E5108: Error executing lua: ...ax/.local/share/nvim/lazy/nui.nvim/lua/nui/tree/init.lua:261: Expected Lua number
stack traceback:
	[C]: in function 'nvim_win_get_cursor'
	...ax/.local/share/nvim/lazy/nui.nvim/lua/nui/tree/init.lua:261: in function 'get_node'
	...y/neo-tree.nvim/lua/neo-tree/sources/common/commands.lua:516: in function <...y/neo-tree.nvim/lua/neo-tree/sources/common/commands.lua:515>

Steps to Reproduce
I have no clue why I see this sometimes. I'm using AstroNvim and this is the configuration they are using
https://github.com/AstroNvim/AstroNvim/blob/5ca63145b169a7f7fe751b2b310233e5066ea4a6/lua/plugins/neo-tree.lua
I have overridden two things here as below,
return {
	'nvim-neo-tree/neo-tree.nvim',
	opts = function(_, neotree_conf)
		neotree_conf.window.mappings.e = 'none'
		neotree_conf.window.position = 'float'

		return neotree_conf
	end,
}

I use Neotree toggle command to open neo-tree
Expected Behavior
No error
Your Configuration
-

Same issue here


Could not use emulator software

System Information

SDK Language:
SDK Version:
Development Environment:

Bot Info

Bot name:
Bot handle:
App ID:
Connected channels:

Issue Description

Today, when I use Emulator software, it has error "[15:13:22] -> POST Request to 'http://<IP_ADDRESS>:3979/api/messages' failed: [500] Internal Server Error "

And in the code console the error message is

ERROR: ChatConnector: receive - invalid signing key or OpenId metadata document.

I think this is an new issue of Emulator software

same thing started happening to me about 3 hrs ago.

Unfortunately, I was unable to recreate this. Please open an issue in the emulator repo.  Be sure to include the version of the emulator you are using, system information, and any other details you think may be helpful.

duplicate of https://github.com/Microsoft/BotFramework-Emulator/issues/262


Add delete notes functionality

The API supports deleting notes but this feature does not seem to be implemented
http://docs.gitlab.com/ce/api/notes.html#delete-an-issue-note
http://docs.gitlab.com/ce/api/notes.html#delete-a-merge-request-note

Pull request created: #148


feat: bump TypeScript packages

Checklist:

[ ] I have read and followed the contribution guidelines.
[ ] I have read and followed the how to open a pull request guide.
[ ] My pull request targets the main branch of freeCodeCamp.
[ ] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

draft because not tested


Add error checking to checks extra77 and extra765

Check extra765 - Add additional error checking, a recent awscli is required to run this check successfully.
Check extra77 - Add additional error checking, use jq for policy parsing instead of awk
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@toniblyx I've raised a pull request

@toniblyx You are absolutely correct, I was not aware of the default. I've updated the check as you suggested.


Configure plantuml filter via environment variable.

Modify plantuml filter to support configuration via environment variables. This is useful when running gollum from the command line.
export PLANTUML_URL="https://my-plantuml-server:9091/plantuml/png"
gollum

I like the idea of making this configurable, but I would prefer to do it via the config file instead of ENV. Would you agree @dometto ?

It should already be doable via config.rb, right? Though I guess that would throw a warning about redefining the constant.
I'm not against this if there's a reason why ENV is more convenient, but otherwise I'd prefer not too have unnecessarily many places where configuration is defined. @hsanson, can you elaborate on the need for this as opposed to using config.rb?

When running gollum from a terminal to work on a local wiki (e.g. gilab wiki), this is the easiest way I found to configure gollum-lib without modifying the source. If gollum can be configured by other means (e.g. config.rb?) please let me know.
> cd my-wiki
> PLANTUML_URL=http://my-plantuml-server/png  gollum

By the way this can be configured using the following snippet too:
require "gollum-lib"

Gollum::Filter::PlantUML.configure do |config|
    config.url = "http://my-own-plantuml.com:8080/plantuml/png"
end

See the wiki: https://github.com/gollum/gollum/wiki/Custom-PlantUML-Server#configuring-gollum-lib

Try the --config path/to/config.rb option. You can just put your snippet in there (but you don't need the require 'gollum-lib'.

@dometto I just tested using the --config option and it works as expected. I will update the wiki with this information.
I still prefer using environment variables for quick, one time, wiki edits on my local machine and would be
glad if this pull request gets accepted. Is just a one-line change and does not affect the confing.rb functionality.

@hsanson Thanks for updating the wiki! :+1: I am going to close this PR, however, since the config.rb file is gollum's preferred route for personalization.


New developments for the more general approach

@hsonne please fix the conflict in "main.R" first, because your folk was 1 commit behind mine......


feature (v0.2.1): additional build checks

Codecov Report

Merging #12 (441e21f) into main (ce34aa1) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #12   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           50        59    +9
  Branches         7         7
=========================================
+ Hits            50        59    +9

Impacted Files
Coverage Δ

src/case_insensitive_dict/case_insensitive_dict.py
100.00% <100.00%> (ø)

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 a2a933e...441e21f. Read the comment docs.


dr-elephant is not building

Error:
[info] *** 6 TESTS FAILED ***
[error] Failed: Total 492, Failed 8, Errors 0, Passed 483, Skipped 1
[error] Failed tests:
[error] 	com.linkedin.drelephant.tuning.PSOParamGeneratorTest
[error] 	com.linkedin.drelephant.util.SparkUtilsTest
[error] (test:test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 40 s, completed Oct 2, 2019 5:51:13 PM
Build failed...
+ unzip /root/dr-elephant/dist/dr-elephant-2.1.7.zip -d /root/dr-elephant/dist/
unzip:  cannot find or open /root/dr-elephant/dist/dr-elephant-2.1.7.zip, /root/dr-elephant/dist/dr-elephant-2.1.7.zip.zip or /root/dr-elephant/dist/dr-elephant-2.1.7.zip.ZIP.
+ err 'Build step failed'
++ date +%Y-%m-%dT%H:%M:%S%z
+ echo '[2019-10-02T17:51:13+0000]: Build step failed'
[2019-10-02T17:51:13+0000]: Build step failed
+ return 1

Thanks for the feedback. Can you contribute a test to make sure this initialization-action does not break over time?

Thanks for the feedback

It's already fixed, I just busy.. I may be wrong with my words...
But, I strongly feel as Dataproc community it will be nice to have:

Slack Channel
Place where we can request for features
Monthly community Meetings (Online) LIKE in Tensorflow Meetings

Thanks!.

@medb Dr Elephant script is taking more than 30minutes...
Initialization action timed out. Failed action 'gs://{BUCKET}/init/presto-inits/dr-elephant.sh',

Can we reduce by uploading the building from git source?

Can we reduce by uploading the building from git source?

You can use Dataproc Custom Image with pre-installed Dr Elephant if start-up time is critical for you.


Archimed.toml

Please provide some contact info provided. Not merged for now due to no contact info


Add CaseNumber attribute.

In the process of creating the attribute I documented the areas I had to
change, with emphasis on test files that I had to modify. These docs were
added to sanityCheck.md.
With my changes only EditCommandTest failed, with reference to Wei En's
request not to touch edit command for now. Every other test passes, so
can use this commit as a reference for adding other attributes with tests.

This PR has been superseded by https://github.com/AY2122S1-CS2103-W14-2/tp/pull/62.


fix: only read multiple custom labels files once during conversion

When multiple custom labels files are in a project, only read them once during conversion.  There was a bug where the first custom labels file found was read once but any others that existed in the project were read every time a child CustomLabel was encountered.  This would result in out of memory errors when that 2nd or 3rd labels file contained thousands of labels.
https://github.com/forcedotcom/cli/issues/2939
@W-16096068@

QA:
✅  works as expected on customer repro (using npsp)
trying to break stuff
✅ empty custom labels file in apex-common
✅ all custom labels files are empty


Feature/map functions

Added intersection and difference functions for map along with docs.
Closes https://github.com/boostorg/hana/issues/341

@ldionne I think I should also add symmetric_difference implementation for maps. I'll try to update the PR with its commits soon.

What is the reason for intersection not being commutative. Is it a performance thing?

@ricejasonf intersection is done on the base of keys in case of hana::map, and not based on key and values, both. Frankly, I only thought this use case, and it didn't really struck into my head about intersecting two maps based on (key, value) pairs.

Is it a performance thing?

Performance based on asymptotic analysis should be same if want to intersect based on (key, value), although the overhead of comparison of value will be increased.

@shreyans800755 Ah, right, the it compares the keys. I wasn't even thinking about that. lol :sweat_smile:

One of the jobs failed with

/home/travis/build/boostorg/hana/include/boost/hana/fwd/set.hpp:263: warning: included file example/set/difference.cpp is not found. Check your EXAMPLE_PATH

Regarding documentation of symmetric_difference, currently it exists only for set. Should I move it to include/boost/hana/fwd/set.hpp and add similar for map in include/boost/hana/fwd/map.hpp ?
Or may be just adding a @relatealso tag with map in the same file include/boost/hana/fwd/symmetric_difference.hpp should do ?

I would duplicate the documentation for set and map. While duplication is generally bad, the rationale here is that the two implementations for set and map are conceptually unrelated, since they don't share a common concept. If we were to create a new concept and move symmetric_difference under it (and also probably others), then this is how we would de-duplicate the documentation. Does that make sense?

That makes sense. I'll push the changes.

:shipit: :+1:

Thanks a lot @shreyans800755, this is a great PR!


An invalid notification appears on the 'Categories' page when creating a new category.

Date Time
12-13-2020 20:38
Priority
Medium
Environment:
OS: Fedora 33 Kernel: 5.9.13-200.fc33.x86_64 x86_64 bits: 64 Desktop: GNOME 3.38.2
Browser: Google Chrome Version 87.0.4280.88 (Official Build) (64-bit)
Reproducible: always
Build found: 20201211.6
Pre-conditions

Move to https://eventsexpress-test.azurewebsites.net/
Authorize as an admin

Steps to Reproduce
Steps to reproduce the behavior:

Go to the 'Categories' page.
Click on a blue “plus-circle" icon on the top of the page with categories.
Enter more than 20 characters in the input field labeled "Name".
Click on the 'apply' icon

Test data

'abracadabraabracadabra'

Expected result
The error message appeared: "Name length exceeded the recommended length of 20 characters!" is placed below the “Name” input field and had the red color.
Actual result
The invalid error message appeared: "{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One or more validation errors occurred.","status":400,"traceId":"|35c81d50-4eb26cdb92266f16.","errors":{"Name":["Name length exceeded the recommended length of 20 characters!"]}}" is placed under the input field and had the red color.
User story and test case links
User story: #174 As an admin, I want to change the existing category name to update the data.
Test case: #269 Verify that the user as an admin role is able to add the new category name to the list of existing categories.
Labels to be added
Priority: Medium
Severity: Minor
Type: UI

Pass


Installation method does not work

The installation method suggested in README.md does not work:
❯ cargo install --locked --git https://github.com/shadowjonathan/conduit_toolbox
    Updating git repository `https://github.com/shadowjonathan/conduit_toolbox`
error: multiple packages with binaries found: conduit_migrate, conduit_sled_to_sqlite

Fixed it, sorry it took so long!


Play audio while using Konfetti

When Play Audio in Media player and execute Konfetti ,The Audio stop.

Please give me more details to work with. What media plauyer is being used, is this happening in your own app or with a mediaplayer from a different app? etc. Without information there's isn't really anything that I can do for you. Thank you


add sort

I added the sort feature, I think it's useful.

If possible, approve it. I just added a sort function.


yarn run add-driver fails to run

Describe the bug
I try to start to develop new driver, but the command(yarn run add-driver) shows me error. Not sure this is bug or just my mistake.
The full log is like this
yarn run v1.16.0
warning<EMAIL_ADDRESS>The engine "vscode" appears to be invalid.
$ node ./tools/add-driver.js --name impala
error: docs/Connections.md: No such file or directory
error: docs/SUMMARY.md: No such file or directory
error: patch failed: packages/core/dialect/index.ts:5
error: packages/core/dialect/index.ts: patch does not apply
error: patch failed: packages/ui/screens/Settings/Drivers/index.tsx:5
error: packages/ui/screens/Settings/Drivers/index.tsx: patch does not apply
error: patch failed: packages/ui/screens/Settings/lib/availableDialects.ts:7
error: packages/ui/screens/Settings/lib/availableDialects.ts: patch does not apply

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Any idea?
To Reproduce
Steps to reproduce the behavior:

Git clone 'vscode-sqltools' repo
cd vscode-sqltools
yarn
yarn run add-driver

Expected behavior
Initial files are created
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

SQLTools Version 0.21.0
VSCode Version: 1.38.1
Dialect Used/Version: -
OS: Mac

Additional context

It is because merge conflict.
docs/Connections.md, docs/SUMMARY.md is not in there in master branch
and there is conflict between master and add-driver-example with availableDialects.ts

Bumping for visibility. I’ve had the same issue on Ubuntu 19.04.

@C1ARKGABLE @dev-moonduck I'm sorry, I'm still writing the docs for that.
But you can quickly fix this by running yarn run add-driver:refresh && yarn run add-driver

just updated the branch. should be working now. thanks

Thanks! @mtxr

I've added a Github Action to auto update that branch.
Also update the script to generate the patch in run time to avoid conflicts


Contract interfaces to support ERC1155-compatible RuleDataV2 parameters

Description
No response

This may be duplicated in linear @shuhuiluo I can manage the state of it too when you are finished with your current PRs.


Finetuning GPT-2 with LoRA

Resolves https://github.com/keras-team/keras-nlp/issues/1051

@fchollet - yep! This PR is good to go

Thank you for the great contribution! 👍


[S3] .52 gal shows incorrect sub weapon

https://stat.ink/api-info/weapon3
.52 gal sub weapon is  Splash Wall, not  Angle Shooter

Thanks, it fixed


formulary: don't warn on old formula name from keg/rack.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

If there’s an old installation of e.g. apple-gcc42 from when it was part of homebrew/core then the tab will say it was from the homebrew/core tap and then we’ll complain at the user (see #1459 for
an example). Instead, we only want to complain when the user actually types in homebrew/core/apple-gcc42 into a brew command.
CC @DabeDotCom @satorg
Closes #1459.

I'm still seeing this behavior in version Homebrew 1.2.1-7-g2b726383f:
> % brew uses scrollkeeper
Warning: Use tcl-tk instead of deprecated homebrew/dupes/tcl-tk

@wickles Please follow our troubleshooting guide in the issue template and file a new issue if you're still having problems.


MongoDB integration as embedding store

Hi @bvanloocke there is something wrong with this PR, there are 82 changed files as far as I see and lots of conflicts. Could you please check? Thanks!

Hi @bvanloocke  - will this PR be looked at soon?

@langchain4j Hi, this PR seems to have no response for a long time. Could I take it over and make some modifications on it (maybe change the test logic to TestContainers and do some small logic change on the MongoDBEmbeddingStore)? New PR will coming soon in few days.

@Martin7-1 sure, go ahead! Thank you!

Closing this as MongoDB integration was already implemented in other PR


calculate distance from the ground

having a track including altimetry z coordinate, measured via altimeter or gps of an object in flight (example: plane, paraglider, hot air balloon)
returns the same track with the addition of a fourth coordinate representing the distance from the ground

correct terminology:
https://debgae.com/altimetro/


Add support for COMMAND GETKEYS command

Add support for the COMMAND GETKEYS command in DiceDB similar to the COMMAND GETKEYS command in Redis. Please refer to the following commit in Redis to understand the implementation specifics - source.
Write unit and integration tests for the command referring to the tests written in the Redis codebase 7.2.5. For integration tests, you can refer to the tests folder. Note: they have used TCL for the test suite, and we need to port that to our way of writing integration tests using the relevant helper methods. Please refer to our tests directory.
For the command, benchmark the code and measure the time taken and memory allocs using benchmem and try to keep them to the bare minimum.

Hey @kakdeykaushik, can I confirm if you are currently working on this issue? If not, I would like to work on this.

I'm not working on this GETKEYS please go ahead to pick it up.

@Yonggiee I have assigned the issue to you. Thanks.


Feature complete registration email

But i haven't figured out why the static for admin panel doesn't work.
#32

But i haven't figured out why the static for admin panel doesn't work. #32

and i don't understand, why coverage checks pragma no cover lines in app.py. In local tests i have 100% coverage.

But i haven't figured out why the static for admin panel doesn't work. #32

and i don't understand, why coverage checks pragma no cover lines in app.py. In local tests i have 100% coverage.

try to create .coveragerc configuration https://coverage.readthedocs.io/en/coverage-5.5/config.html

could you check and make a reference here which line is not covered?
as far as I understood it's
https://github.com/avoevodin/brigadier/blob/feature_complete_registration_email/brigadier/worker/app.py#L21


Sphinx installation error

During the install process for Sphinx, it mentions an error about IP2Tor (which I do not have installed, I'm using reverse proxies to externally connect to services, which has mostly worked fine for me).
After finishing the install, loading http://(local IP):3300 and https://(local IP):3301 both give the same error: "Cannot GET /"
I tried the commands in Issue #1862 thinking they might help, but I still see the same error message.

After finishing the install, loading http://(local IP):3300 and https://(local IP):3301 both give the same error: "Cannot GET /"

this is the correct answere of the sphinx relay when api get called without correct path.

During the install process for Sphinx, it mentions an error about IP2Tor (which I do not have installed, I'm using reverse proxies to externally connect to services, which has mostly worked fine for me).

Can you tell what this error was? Does the same error comes when you open the "SPHINX" option in MAINMENU after install?

The error is:
Your IP2TOR+LetsEncrypt may have problems:
Connection String not updated yet. Try again a bit later or check for errors.
Check if locally responding: http://(local IP):3300
Check if service is reachable over Tor:
(Tor address)
Back    Continue Anyway
The Tor address is not reachable either.
The SPHINX option from main menu shows the screen after I choose "Continue Anyway" which gives instructions on how to download the Sphinx Chat app and provides the http://(local IP):3300 address again, and suggests adding an IP2TOR Bridge.

I think I found the basic warning ... changed it to not show up after install (might fix it self after server started).
You can try this patch with MAINMENU > UPDATE > PATCH > PATCH-MENU > PATCH and then deinstall & reinstall sphinx relay again.

I no longer get the IP2Tor error, but I do still only see "Cannot GET /" after patching, uninstalling, and reinstalling.

The "Cannot GET /" is the correct response from the server. I already mentioned to the Sphinx Relay Server Team that another response on the default path would help prevent misunderstandings - but thats up to them.

Ah, I understand now. Maybe add something to the Sphinx info from the main menu? Like:
Local server for test & debug: http://(local IP):3300 (You should see "Cannot GET /" from a browser)
Thanks for the update and explanation!

Added info about the correct server response. Closing this issue for v1.6.3 release.


Add launchPublishToDockerContainerQuickpick to extension API

Add getPublishToDockerSettings (formerly launchPublishToDockerContainerQuickpick) to extension API.
Another thing I'll be using in the extension I'm working on. There aren't any logic changes in here (except one small I'll call out below), just moving types around and renaming things.
Lots of changes, but nearly all are related to having to move some more interfaces to the public API. Some changes to call out :

Currently we import from mssql/vscode-mssql. This isn't ideal since it forces any consumers to also have both of these - I'll be following up with seeing if we can get rid of that dependency, but for now anyone using this typings file can just delete what they don't need
Added base IProjectEntry interface that all project entries can inherit from with base properties such as type
Changed ILocalDbDeployProfile to IPublishToDockerSettings to more clearly indicate what it contains (may follow up with standardizing the names for the other publish types as well so things are consistent, but for now just sticking with things related to docker publishing)

Going to do some renaming in a follow up PR based on the comments left


feature: blog post on making assertions on null or undefined fields

What kind of changes does this PR include?

Minor fixes (broken links, typos, css, etc.)
Changes with larger consequences (logic, library updates, etc.)
Something else!

Description

Closes #
What does this PR change? A brief description would be great.
Did you change something visual? A before/after screenshot can be helpful.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#107
#106  👈
#105
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @slackermorris and the rest of your teammates on  Graphite

Merge activity

Oct 24, 5:19 PM EDT: A user started a stack merge that includes this pull request via Graphite.


Publishing project

The project runs great. Even the created .exe file is running the project. Publishing works okay creating the setup.exe etc. But when running setup.exe it causes a BSOD on Windows 10. Am I missing something? Thanks for any help on this.

Documentdetails
⚠ Dit gedeelte niet bewerken. Het is vereist om problemen te koppelen tussen docs.microsoft.com en GitHub.

ID: 38ae1727-4def-5921-86ec-bc65e9f0b8e4
Version Independent ID: aed7dda1-6bfd-945f-04a5-86ee0fe62d95
Content: Overview of Visual Studio 2017
Content Source: docs/get-started/visual-studio-ide.md
Product: visual-studio-dev15
GitHub Login: @gewarren
Microsoft Alias: gewarren

Closing due to not enough info about the app in question. We can reopen this issue if we get more info.


2KASJ0523Planetarysystem.netkan

closes #4265

Hmm. I thought we'd changed that "No starting with a number" test. @techman83?

We might have done in the testing library, but the schema regex doesn't allow it.
^[A-Za-z][A-Za-z0-9-]*$

Changing it to this will allow it to start with anything alpha-numeric:
^[A-Za-z0-9-]*$

Ok, the schema is now in sync with the spec. @linuxgurugamer , can you strip the leading "a" from the filename and identifier?

Looks good to me. Glad the schema change worked! Merging with thanks!


Highlight Unused Imports

Highlight unused imports
It would be nice if the plugin could highlight (gray out) unused imports.

Very good idea. Other IDEAs like the classic Visual Studio already have such a feature. It would be great if this could be integrated as tipp, so that after hovering or clicking the grayed-out import line, a bulb appears which offer the function of remove unused imports 👍


Black Screen on Android on Suspend/Resume

Hello,
After adding the plugin to our project and flashing the app on an Android device, we are experiencing a black screen when the app is suspended then launched again (hit the Back button till the Home screen is visible, wait for a minute or two then launch the app again) - there is a completely black screen which appears for around 10-15 seconds before the app launches itself again.
The black screen was not appearing before the plugin was added.
Here is the code, used pretty much as-is from the example on the Readme page:
$ionicPlatform.ready(function() {

         window.cordova.plugins.zeroconf.watch('_myservice._tcp.', 'local.', function(result) {

          var action = result.action;

          var service = result.service;

          if ('added' === action) {

              $window.alert('$ionicPlatform.ready: Found My service ' + service.name + " at " +
                        service.host + " at " + service.ipv4Addresses[0] + ", Port " + service.port);

          } else {

              $window.alert('$ionicPlatform.ready: Lost My service  ' + service.name + " at " +
                        service.host + " at " + service.ipv4Addresses[0] + ", Port " + service.port);

          }

      });

}

Regards,
Manav

no idea. I would look at some debug logs if you can

what's up with this?

We haven't gotten around to it yet as we are currently focused on the other components of our product. It could be a month or two before we look into it. Will keep you posted.

Closing old issue. Feel free to reopen.


Build a simple front end.

Is your feature request related to a problem? Please describe.
I would love a simple front end to demonstrate how the chat interaction works.
Describe the solution you'd like
Simple solution: building a single page in Flask with an input and output chat log.
Describe alternatives you've considered
Would love alternative interactions (e.g. Google Home, Amazon Echo, Facebook chatbot) endpoints as well.
Additional context
Looking for an explicit solution which follows the generic nature of the project.

This seems like a good place to start
https://blog.feathersjs.com/a-real-time-chat-frontend-with-plain-javascript-and-feathers-34e92bcce386


Validate that users completed the "Let's Glo" actions

https://github.com/Glo-Foundation/glo-wallet/assets/6277878/0c9ad0ef-3af7-478c-ae27-03174cf53481

the windows 95 babumm song played in my head when the confetti popped 😂
https://youtu.be/w0xIUuH6Mck?t=69


Now allows the user to choose between using TLS and non-TLS sockets

@pquinn-r7 please review

+1


Invalid search Errors

Hi,
i'm using the nvdlib to search CVEs for a few CPEs and notify if they have an CVE-Score.
This worked like a charm in the last weeks, but since a few days i get randomly JSONDecodeErrors like this:
Invalid search criteria syntax: <Response [403]>
Attempted search criteria: modStartDate=2022-07-09T00:00:00:000 UTC-00:00&modEndDate=2022-07-19T00:00:00:000 UTC-00:00&cpeName=cpe:2.3:a:vmware:vcenter_server:*:*:*:*:*:*:*:*

Because this exception ends with an "exit()" my program stops there. Now i had exchanged the "exit()" to "raise", so i can react on this error, but this doesn't explain why i'm now getting this messages.
This happens when i'm using the following functions:
cve_return = nvdlib.searchCVE(cpeName=cpe,modStartDate=modStartDate,modEndDate=modEndDate)

result = nvdlib.getCVE(cve,False)

Btw. my changes on the get.py (Line 22-29):
old:
    try: # Try to convert the request to JSON. If it is not JSON, then print the response and exit.
        raw = raw.json()
        if 'message' in raw:
            raise LookupError(raw['message'])
    except JSONDecodeError:
        print('Invalid search criteria syntax: ' + str(raw))
        print('Attempted search criteria: ' + searchCriteria)
        exit()

new:
    try: # Try to convert the request to JSON. If it is not JSON, then print the response and exit.
        raw = raw.json()
        if 'message' in raw:
            raise LookupError(raw['message'])
    except JSONDecodeError:
        print('Invalid search criteria syntax: ' + str(raw))
        print('Attempted search criteria: ' + searchCriteria)
        raise

Additionally i tried the CPEs manually in a Python Shell and it worked like a charm. So it doesn't seem like an syntax problem.
Maybe anyone have an idea? At this moment is the script working, but i need a few re-runs to get every CVE.
Kind Regards
~Ithrasiel

I also just pushed 0.5.8 which resolves the issue with NVDLib running exit().

Hi,
to your initial Question:

NVDLib follows the 6 second delay recommendation between requests (except when using an API key). I see you've stated that you need "a few re-runs to get every CVE". Do you mean that you have to run your script multiple times to get all CVEs?

Yes, you are right. I'm starting a Loop there and retry it a few times. Normally i got an response in the first three tries.

But thanks for your suggestion with the API Key and your rework on the Library! I requested an API Key and now it works like a charm again. Now i doesn't got any retries and the programm isn't stopping anymore randomly!
Kind Regards
~Ithrasiel

Regarding the need to re-run searches to get all responses, please give the new sortPublished=True parameter in NVDLib a try. According to the NVD API documentation, this is supposed to resolve the issue of missing CVEs when pulling a lot of them at the same time. I haven't had much luck using this parameter and have seen no difference in responses, but maybe it will resolve that issue for you.
From the NVD API guide:

Including sortOrder=publishedDate changes the sort order so that the API responds with the most recently published CVE first.
When making iterative requests for a large number of CVE, such as the initial population of all CVE in a local database, sorting by the modified date may occasionally result in missing CVE. This may happen if new CVE are added during the iterative requests. Sorting by the published date avoids these errors.

Please let me know if you come across any other issues with NVDLib.


fix hidden_queries plan bug

Fixes a bug when using the lightstep_alert.query.hidden_queries attribute. Currently, if this attribute is set the plan will always show a change because it isn't being read during the refresh stage. This change reads the hidden_queries into the resource during refresh, resulting in a clean plan.

oh also dont forget to update .go-version!


update_wcag() sometimes results in NaN for hex of length 3

This bug is caused by entering a hex value of length 3 (not including the #) into the Background or Foreground inputs and then switching them a few times via the Switch button. Perhaps a length 3 to length 6 converter function is required?

Length 3 values no longer cause NaN errors.


BEAM-2389 moved GcpCoreApiSurfaceTest to corresponding module, adapte…

…d exposed packagees
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify.
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Hi @dhalperi , @lukecwik plz have a look.

Coverage increased (+0.01%) to 70.887% when pulling 67313b616d0f8ab5a7a8f7d2a6d11a693adadf9b on adude3141:BEAM-2389 into 16f87f49f20796e29d01ed363a9097ea5420583c on apache:master.

LGTM


Shields.io-compatible endpoint

I want users to be able to create a Shields.io custom badge showing their total hours in the present week of months.
If Shields supports JSON Path expression or so to select data from a custom endpoint, nothing has to be done. If they expect a single string or digit, we'd have to add an according endpoint. Need to investigate.

https://shields.io/endpoint

Implemented with version 1.11.0.


Generate right-length nodeIdentifier/ XID

Generate right-length nodeIdentifier
if nodeIdentifier is longer than 28 bytes, the XID generated by narayana ist too long, and and error occurs. This shortens the nodeIdentifier if necessary, while keeping it unique.
Fix ported from quarkus
https://github.com/quarkusio/quarkus/issues/30491
https://github.com/quarkusio/quarkus/pull/36752/commits/07b3a4c9fd9e6655bf8b2c8bf186002d539f72ac

Imports look like they are not sorted.
Can you fix that please?
Thanks

Hi,
yes of course.
But I am currently not in the office.
I hopefully can fix it by the end of this week.
Greetings Oliver
On 4. Mar 2024, at 07:27, Georgios Andrianakis @.***> wrote:

You don't often get email from @.*** Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification
Imports look like they are not sorted.
Can you fix that please?
Thanks
—
Reply to this email directly, view it on GitHubhttps://github.com/snowdrop/narayana-spring-boot/pull/132#issuecomment-1975822957, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQF3ZPVS56UH4TC5DIZC76TYWQH63AVCNFSM6AAAAABC333IFWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZVHAZDEOJVG4.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks!

Can you fix the checkstyle violation please ?
Error:  Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.3.0:check (checkstyle-validation) on project narayana-spring-boot-core: You have 1 Checkstyle violation. -> [Help 1]
Error:
Error:  To see the full stack trace of the errors, re-run Maven with the -e switch.
Error:  Re-run Maven using the -X switch to enable full debug logging.
Error:
Error:  For more information about the errors and possible solutions, please read the following articles:
Error:  [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Error:
Error:  After correcting the problems, you can resume the build with the command
Error:    mvn <args> -rf :narayana-spring-boot-core

@geoand: Could you review again?

Mind squashing and rebasing the commits please?


Deletion

Currently, we don't provide deletion. I'm sure there was a discussion of how we could do it earlier, but I've not found a dedicated issue so I thought we should have one.

How would you want it to work?

How would you want it to work?

@squaremo I think it'd be fair to say that everything we create based on config that we see in git should be deleted in the case it no longer exists in git.

One of the discussion points could be kubectl apply --prune however this alone doesn't help very much, as it revolves around a selector and an exclude list; I've not tried it and it's still alpha. Not sure it is of any use to us really.

A very naive solution would be to track things we create and delete when those things no longer appear in the current set of config. However, that may be tricky... I'd consider looking at diff between now and previous sync, and see whether that includes file removal, and if so, try removing those.

@rndstr suggested that we could use annotation (which makes sense in any case) and that we could also consider not deleting anything automatically, and instead ask the user whether there is stuff they'd want to delete.

I'd consider looking at diff between now and previous sync, and see whether that includes file removal, and if so, try removing those.

That approach probably won't tolerate aggressive history rewrites... but it'd probably be okay to ask for user's attention when we are uncertain about whether to delete something or not.

Also, we could offer the user an option to export and check-in all object
in their cluster that are not in the repo, and allow them to select things
to exclude (e.g. GKE system pods). We will need to make sure any such lists
are dynamically updated with user in control, which a bit tedious but seems
like the right thing... Then we will have a much more concrete idea of what
things deleted from the repo should be deleted.
On Wed, 13 Sep 2017, 5:17 am Michael Bridgen<EMAIL_ADDRESS>wrote:

How would you want it to work?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/weaveworks/flux/issues/738#issuecomment-329149518,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPWS4oQPFcZcyvWxxX0tcxaCRgjOjIBks5sh8fogaJpZM4PVDyW
.

User feedback: https://weave-community.slack.com/archives/C4U5ATZ9S/p1508346257000335

Great to see this being discussed - this is a critical feature for us as we consider deprecating our previous jenkins/landscaper/helm based deployer in favour of flux or an in-house equivalent.
I like the approach suggested but I do wonder if it would be appropriate to use in the kube-system namespace (we are moving towards a deployer per customer and would ideally like to treat deployments to kube-system in a similar fashion.). The issue being that there is so much present in kube-system after cluster bootstrap (e.g. kops addons) that we'd need flexible ways to exclude resources - Ideally a list of label selectors.
Using a list of key:value labels would also allow us to exclude the resources installed via helm by adding heritage=Tiller to that list.  Even if we move to flux we'd like to support charts (possibly via HelmCRD)
Would you be in a position to give any indication of how high priority this is for you ? Ideally a timeframe, if possible although that may be too much to ask.

Re priorities: this isn't on the radar for weaveworks right at this minute, but may become more important when we look at supporting multiple backing repos.

Thanks for the update.  And yes, we don't know the resource names themselves ahead of time and there are a lot of them. After the cluster is bootstrapped it kube-system already contains a large selection from here:   https://github.com/kubernetes/kops/tree/master/addons but it would depend on the cluster config.  The selector list is also much more succinct than the resource list.

The selector list is also much more succinct than the resource list.

Got it, that makes sense. What do you think about this being an item of configuration, i.e., set in a configmap? It would be composed with the per-resource annotations, and look like (off the top of my head):
deletion:
  defaultGracePeriod: 5m
  exclusions:
  - ruleName: dbshell # used in log messages at least
    namespace: default
    selector:
      name: dbshell

Yes, I like both the use of a configmap and the format.  It feels generally useful and flexible.

Agree with @cptbigglesworth, this is a critical feature. It would give us an incentive to move away from a push based CI/CD system.
Is anyone working on this, @squaremo ?

Ouch, I was getting really excited for Flux as a replacement for our in house git ops solution, but without deletion it would be a large step back.
How about annotations on resources that can be automatically deleted if an equivalent can't be found in manifests. This would be a deletion whitelist approach. Anything with --auto-delete-annotation <value> could be deleted from kubernetes no longer in the manifests repo.
A deletion black list approach is tricky because it relies on annotating resources not in the manifest repo, the very things we have the least control/knowledge of.

A sketch of a design

That is quite nice, but IMO is missing one desirable property: flux should never delete something it didn't create or asserted the existence of previously.
I am also concerned that a flux mis-configuration - say accidentally pointing flux at an empty git repo - would wipe out the cluster.
An alternative approach is to instruct flux to delete workloads via special 'commands' in the git commit, similar to the commands github has for closing PRs. e.g. 'deletes weave/deployment:prometheus'. Then, if flux cannot find the workload in git, and it can find such a commit message after the workload was last in git, then flux would delete the workload.

Another approche could be:

annotate the resources with flux.weave.works/delete: "true"
commit changes
Flux checks if the the marked for deletion resources are present on the cluster and removes them
Flux deletes the annotated files and commits the changes to git

@stefanprodan

Flux deletes the annotated files and commits the changes to git

This approach is nice because it's simple to understand.

Another alternative would be to maintain a list of resources flux has "seen". A resource is "seen" if flux has had some kind of control of it i.e. it has appeared in a k8s config that flux is syncing. The list would be commited to git.
If flux notices a resource in this "seen" list but with no corresponding config, it would delete the resource from the "seen" list and the cluster.
This would prevent deletion of resources which flux is not controlling. For example, kube-system addons if they are not in the k8s flux is cofigured to look at.
Pointing flux to an empty repo will also have no effect because the "seen" list would be empty.
Example seen list:
resources_seen:
  - deployment:default/authfe
  - deployment:default/users
  - daemonset:default/other

Flux deletes the annotated files and commits the changes to git

This approach is nice because it's simple to understand.

I don't think it is simple to understand, because it drives the changes to git from the cluster, rather that the other way around which is supposed to be the case.
There's also mechanical problems: do you remove the resource from the cluster first, then the file (or piece of file) from git, or the other way around -- and what happens in either of those cases if you fail in-between the two steps?

Actually, I've misunderstood Stefan's suggestion I think: the idea in step 1 is that you put an annotation in the manifest file. In that case, my objections are weaker. If you fail to delete the resource in the cluster, you will still have the annotation in git, and will try again next time.
Another (weakish) objection is then that deleting something becomes somewhat indirect -- and I still don't like the inverted control, though mechanically it's workable.

[The sketch above] is quite nice, but IMO is missing one desirable property: flux should never delete something it didn't create or asserted the existence of previously.
I am also concerned that a flux mis-configuration - say accidentally pointing flux at an empty git repo - would wipe out the cluster.

I'm inclined to agree with this principle and the accompanying objection, especially since it would allay many of the concerns expressed above; e.g., it would not remove things from kube-system (unless they had been in git after all).

An alternative approach is to instruct flux to delete workloads via special 'commands' in the git commit, similar to the commands github has for closing PRs. e.g. 'deletes weave/deployment:prometheus'. Then, if flux cannot find the workload in git, and it can find such a commit message after the workload was last in git, then flux would delete the workload.

This has the property (I think?) that you can always tell what to do, given the git repo and the cluster, even if you have never seen either before.
 In the absence of a robust implicit mechanism, it might be a goer, though.

This has the property (I think?) that you can always tell what to do, given the git repo and the cluster, even if you have never seen either before.

Yes, though perhaps not quite the way I intended. Consider the case where a cluster and git repo meet for the first time, and the git repo used to contain some workload definition and has a subsequent delete commit satisfying the criteria I mentioned. Would we really want that workload to be deleted? As far as we know, flux never created it or asserted its existence, thus violating the desirable principle I proposed.

Yes. Cue empty commits with I forgot to tell flux to delete x/y:z :(

The approach we took was based on these requirements :

The applier should only garbage collect objects it created
There can be multiple appliers per cluster

To achieve this, the applier (read flux or kube-applier) should label objects that it creates, and we configure this using a list of Key Value labels, conventionally using a single K-V pair with applier as the key :
    runner:
      labels:
        applier: "a-unique-name-for-this-instance-of-the-applier"

We can then choose to enable garbage collection and limit the collection to objects which have this label :
    garbage_collector:
      object_selector:
        applier: "a-unique-name-for-this-instance-of-the-applier"

As an optimization I believe git diff is used to determine if files have been moved since the last garbage collection run. This model seems easy to reason about, if it suits you.
A nice side effect of using labels is you can list all objects under the jurisdiction of a single applier.
We've forked kube-applier for now, but I did really like aspects of flux too !

Until this is supported I will just create a script in our CI system which parses the git history to see which manifests have been removed, then warns the user (either in CI or slack). Additionally it could suggest a command to remove those resources, but the step would still remain manual.
Of course this won't cover all resources, which is why it would need to be manual.

I have the impression that because of this a rename of a deployment, only creates a new deployment, but does not remove the old one. The problem with that is that we have certain workloads of which only 0 or 1 instances may be running (e.g. a consumer of a queue that needs to keep order). So we really want the rename to also delete the old deployment next to creating a new deployment.
On a more fundamental level, this seems to break the invariant that "Flux keeps the state of the cluster in sync with the content of the git repo" (we know need an "out-of-band" manual touch with kubectl to delete the old deployment). And ... that manual out-of-band touch is not audited in Flux? That seems to break another invariant "Flux audit logs all changes to the cluster" ?
My experiment (in the flux namespace, but this was just an experiment):

create a deployment and then change the name like this:

 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: deployment-alpine
+  name: deployment-alpine-new
   namespace: flux
   labels:
     app: alpine

The result of pushing this change now is:
err=null output= [lay-out : replaced newlines added by me]
  "namespace \"argus\" configured
  namespace \"flux\" configured
  namespace \"play\" configured
  service \"argus-dashboard\" unchanged
  serviceaccount \"flux\" unchanged
  clusterrole \"flux\" configured
  service \"memcached\" unchanged
  clusterrolebinding \"flux\" configured
  secret \"flux-git-deploy\" unchanged
  configmap \"flux-ssh-config\" unchanged
  ingress \"ingress-dashboard\" unchanged
  deployment \"argus-dashboard\" unchanged
  deployment \"deployment-alpine-new\" created  ## this is the create, but no delete
  deployment \"flux\" unchanged
  deployment \"memcached\" unchanged"

And now we see these two deployments:
 kubectl -n flux get all
NAME                                        READY     STATUS    RESTARTS   AGE
pod/deployment-alpine-c868f6fbf-b8lwn       1/1       Running   0          29m
pod/deployment-alpine-new-c868f6fbf-r6h6z   1/1       Running   0          28m
pod/flux-6d769cbcb7-5l8b7                   1/1       Running   0          18h
pod/memcached-6bdf479df8-w7tbp              1/1       Running   0          4d

NAME                TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)     AGE
service/memcached   ClusterIP   None         <none>        11211/TCP   7d

NAME                                    DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/deployment-alpine       1         1         1            1           29m
deployment.apps/deployment-alpine-new   1         1         1            1           28m
deployment.apps/flux                    1         1         1            1           7d
deployment.apps/memcached               1         1         1            1           7d

NAME                                              DESIRED   CURRENT   READY     AGE
replicaset.apps/deployment-alpine-c868f6fbf       1         1         1         29m
replicaset.apps/deployment-alpine-new-c868f6fbf   1         1         1         28m
replicaset.apps/flux-6d769cbcb7                   1         1         1         1d
replicaset.apps/flux-77ff458dc4                   0         0         0         1d
replicaset.apps/flux-856f8b475d                   0         0         0         1d
replicaset.apps/memcached-6bdf479df8              1         1         1         7d

Another approche could be:

annotate the resources with flux.weave.works/delete: "true"
commit changes
Flux checks if the the marked for deletion resources are present on the cluster and removes them
Flux deletes the annotated files and commits the changes to git

This approach is nice because you get a record of it happening in git (for both a human asking the thing to be deleted, and the thing actually being deleted).

It might be good to use Kontena's Pharos Cluster as inspiration. They have an addons system which works really well, propagating changes and the ability to delete resources.
Most of this logic can be found in k8s-client.
In a nut shell, what it appears to do:

For a set of resources (yaml files), a cumulative checksum is generated
For each resource: they are created if missing or updated in place if checksum has mismatch

these resources get decorated with a resource collection identifier (static) and the cumulative checksum (dynamic)

After changes are applied, all cluster resources are listed that contain the resource collection identifier (static) and pruned/deleted if the checksum mismatches (meaning the file was most likely deleted off disk)

It might be good to use Kontena's Pharos Cluster as inspiration. [...]

That is an pretty clean way of going about it.
If apply fails for a resource, that resource will get deleted, whereas you'd probably want it to just stay where it is until a human can fix things. Perhaps just the rule "don't delete anything that failed to apply" would avoid that.

I think it'd be reasonable to apply changes one at a time, grouped by folder and then alphabetically sorted. This would allow users to express order by naming files 01-...yml, 02-...yml, 03-...yml, etc.
When an error is encountered I assume the application of changes would be aborted and the prune step skipped, allowing a human operator to intervene.
Maybe reasonable efforts could be made to validate the changes before the apply is started (e.g. validate yaml format or run through kubernetes validation)?

@stefanprodan I like your suggestion but would be more inclined to suggest rather than delete: true to use something like ensure: present and ensure: absent? So maybe by default all resources are created with ensure: present and if not purges said resources?

@hiddeco is it possible to enable garbagecollection but in a "dry-run" or "noop" state so can determine if it will behave as expected rather than accidentally deleting resources you didn't mean for it to do?

I should really close this, since garbage collection was implemented in #1442 and released in v1.11.0.
Thanks everyone for the discussion! @cdenneen I've created an issue for your latter suggestion (#1990).

The FAQ still claims deletion is not possible, and links to this issue. Though from my quick scan, it seems like that is out of date.
https://docs.fluxcd.io/projects/helm-operator/en/latest/faq.html#i-ve-deleted-a-helmrelease-file-from-git-why-is-the-helm-release-still-running-on-my-cluster
Snapshot: http://archive.is/tmd4S

Might want to open that as a new issue @nickatsegment since this is closed it might be overlooked but I'm here via the FAQ so...

Arguably docs could be easier to fix with just a PR!
On Fri, 1 Nov 2019, 10:25 pm Kavanaugh Latiolais<EMAIL_ADDRESS>wrote:

Might want to open that as a new issue @nickatsegment
https://github.com/nickatsegment since this is closed it might be
overlooked but I'm here via the FAQ so...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fluxcd/flux/issues/738?email_source=notifications&email_token=AAB5MSYT5DTHQQ56KVVWW2TQRSUERA5CNFSM4D2UHSLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC4KELA#issuecomment-548971052,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB5MS6CQPALBKOZXTR3GADQRSUERANCNFSM4D2UHSLA
.

Another approche could be:

annotate the resources with flux.weave.works/delete: "true"
commit changes
Flux checks if the the marked for deletion resources are present on the cluster and removes them
Flux deletes the annotated files and commits the changes to git

This approach is nice because you get a record of it happening in git (for both a human asking the thing to be deleted, and the thing actually being deleted).

But it wouldn't work well if you run multiple clusters from the same repsoitory, and/or use generators. (Kustomize/CommandUpdated... etc)
Step 1-3 is fine though. The traceability is fine anyway, because Flux tags it's synchronization point.
You could script step 4 from the outside when you see all the sync tags has passed the deletion commit.


Wasabi Wallet Crash w/ ColdCard Wallet

General Description
I am trying to check funds on my cold card wallet via wasabi for windows desktop, I have an older version on Ubuntu I can try, but this is more convenient. Getting crashes with the newer version, but haven't checked the older version yet

How To Reproduce?

Install Wasabi-<IP_ADDRESS> from https://wasabiwallet.io/
Open Wasabi Wallet
Connect with transfer cable direct from computer to ColdCard Mark 3 Rev B
Enter pin successfully and try to open wallet
While it is 'Downloading and processing Bitcoin network data' at about 24% it will crash and give the error code below
Attempted again when wallet was not connected but the option to open was present and same error including when a VPN was used and set to Belgium

Screenshots

Operating System
Windows 10 Pro 19045.4412

Logs

Exception type: System.InvalidOperationException

Message: An attempt was made to transition a task to a final state when it had already completed.

Stack Trace:    at WalletWasabi.Fluent.Desktop.Program.Main(String[] args)

Inner Exception:

Wasabi Version
Wasabi-<IP_ADDRESS>

Hello, we have already fixed this issue on master and will release it soon. In order to avoid this issue on your version, please leave Wasabi opened for some time before opening your wallet. You can search for Logs in the wasabi search bar, open the file, and when you don't see new "Downloading filters" lines you can open up wallet. If the problem persist, you can either wait for next release or disable Tor in your settings then relaunch the software, open your wallet, enable tor again in the settings and relaunch the software.
Let me know if it fixed the problem

Fixed in v2.0.8


SafetyNet Pass failed

I am sure this magisk module is the reason why i failed to pass

Try [Universal SafetyNet Fix]

Try [Universal SafetyNet Fix]

Already in use, but bypass after I remove this module
In YANSAC, it told me that I should "Restore to the factory rom", then i remove this module which is the only one after last SafetyNet check passed


Extreme memory/RAM usage (on MacOS w/ Apple Silicon)

Describe the bug
RAM usage frequently exceeds 20GB for a single project on my macbook pro with apple silicon.
Steps to reproduce
Just normal usage, but over time it consumes more and more RAM. If it runs for a full day, it can reach >50GB usage. Since it accumulates over time, I suspect it some sort of memory leakage?
Screenshots

Machine info

OS: Mac
.NET SDK version: 7.0.202
Ionide version: 7.5.4
VSCode version: 1.79.0-insider  (using VSCode insider version atm to use Copilot Chat. But I have the same problem with normal VSCode)

I'm also experiencing this issue. If I check the runtime status tab in the extensions pane then I see a lot of errors like this (can be 10s of thousands after running all day):
An item with the same key has already been added. Key: file:///path/to/project/SomeModule.fs -- -- <base64 string>

This is more of a hunch than anything conclusive, but I feel these are output each time I save a file. So I wondered if it might be related to the code formatter running.
Machine Info

OS: macOS 13.4 (22F66)
Chip: Apple M1 Pro
.NET SDK: 7.0.200
Ionide: 7.5.4
Fantomas: v6.0.5+d8e7276795204e9e8a06d3974bf187fe8d60b0f0

@Choc13 do you have any more log context for those messages^? Something like a stack trace? That would help a bunch. Also, there are some Ionide updates that update the compiler services, container tweaks to the adaptive LSP server, and include new settings for managing memory use. All of those might impact your experience now.

Hi @baronfel
I don't have any more output but I have noticed that since upgrading to one of the newer versions a few weeks that the problem no longer occurs. I wanted to give it a while before reporting the fix to make sure it was definitely no longer leaking and since updating I've not had to restart Ionide once. So I think it's good now 👍

There was a known issue with type providers which was fixed in FCS so that might have been it.


Update tkn version to 0.6

Fix: #103

Codecov Report

Merging #114 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #114   +/-   ##
=======================================
  Coverage   73.77%   73.77%
=======================================
  Files          19       19
  Lines        1045     1045
  Branches      148      148
=======================================
  Hits          771      771
  Misses        274      274

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 a993fef...2ba9e92. Read the comment docs.


system.autoUpgrade causes high cpu and memory load

Describe the bug
When using system.autoUpgrade.enable = true;, NixOS gets upgraded automatically.
If some packages have to be compiled, this may cause a very high CPU load and use several GB of memory, and make the machine unusable until the upgrade is done. (here recently: several minutes of full CPU load on all CPUs and ~5GB of memory).
Would it be possible to (a) restrict the CPU-usage, e.g. via nice and/or less parallel build, so the machine is still usable, (b) reduce the memory usage somehow or (c) skip large builds from autoUpgrade and notice root?
To Reproduce

Install packages with no current binary-cache, so that they have to be compiled locally.
set system.autoUpgrade.enable = true;
Wait for the next upgrade.

Expected behavior
Less resource usage / less impact of the upgrade-process on the current use of the machine.

Still valid for me

@pasqui23 did you want to fiddle around with the systemd service at all? See my previous comment:

Did anyone try playing around with the systemd.services.nixos-upgrade service? I feel like using this as a starting place is going to yield results... but have not tried myself.

I can see what I can do when I find some free time

Also there are other services that use {,IO}Nice instead of {CPU,IO}Weight

First I need to test whether CPUWeight does indeed improve with responsiveness

It's still a problem that the nix daemon will make the system unresponsive during heavy builds, unlike other services that consume high CPU load like boinc in my experience.

And after several months of

      CPUWeight=20;
      IOWeight=CPUWeight;

I can say that while it helps it doesn't fix it completely.

Even on a much beefier laptop it still get noticebly less responsive when doing a big update

This issue has been mentioned on NixOS Discourse.  I feel like using this as a starting place is going to yield results... but have not tried myself.

I added this to my configuration:
  systemd.services.nixos-upgrade.serviceConfig = {
    # https://unix.stackexchange.com/questions/436791/limit-total-memory-usage-for-multiple-instances-of-systemd-service
    MemoryHigh = [ "500M" ];
    MemoryMax = [ "2048M" ];

    # https://unix.stackexchange.com/questions/494843/how-to-limit-a-systemd-service-to-play-nice-with-the-cpu
    CPUWeight = [ "20" ];
    CPUQuota = [ "85%" ];
    IOWeight = [ "20" ];
  };

After a nixos-rebuild I can see the changes in the service cat /etc/systemd/system/nixos-upgrade.service.
I'll report back on how well this works once I figure out a way to test that.
my autoUpgrade option is set like this rn:
  # Auto Upgrade
  system.autoUpgrade = {
    enable = true;
    # dates = "22:14";
    flake = "${location}#${host}"; # my flake online uri is for example github:yeshey/nixos-config#laptop
    flags = [
      "--upgrade" # upgrade NixOS to the latest version in your chosen channel
      "--option fallback false" # fallback false should force it to use pre-built packages (https://github.com/NixOS/nixpkgs/issues/77971)
      "--update-input nixos-hardware --update-input home-manager --update-input nixpkgs" # To update all the packages
      # "--commit-lock-file" # commit the new lock file with git
    ];
    allowReboot = false; # set to false
  };

Did anyone try playing around with the systemd.services.nixos-upgrade service? I feel like using this as a starting place is going to yield results... but have not tried myself.

I added this to my configuration:
  systemd.services.nixos-upgrade.serviceConfig = {
    # https://unix.stackexchange.com/questions/436791/limit-total-memory-usage-for-multiple-instances-of-systemd-service
    # This doesn't prevent it from using swap
    MemoryHigh = [ "500M" ];
    MemoryMax = [ "2048M" ];

    # https://unix.stackexchange.com/questions/494843/how-to-limit-a-systemd-service-to-play-nice-with-the-cpu
    CPUWeight = [ "20" ];
    CPUQuota = [ "85%" ];
    IOWeight = [ "20" ];
  };

After a nixos-rebuild I can see the changes in the service cat /etc/systemd/system/nixos-upgrade.service. I'll report back on how well this works once I figure out a way to test that.
my autoUpgrade option is set like this rn:
  # Auto Upgrade
  system.autoUpgrade = {
    enable = true;
    # dates = "22:14";
    flake = "${location}#${host}"; # my flake online uri is for example github:yeshey/nixos-config#laptop
    flags = [
      "--upgrade" # upgrade NixOS to the latest version in your chosen channel
      "--option fallback false" # fallback false should force it to use pre-built packages (https://github.com/NixOS/nixpkgs/issues/77971)
      "--update-input nixos-hardware --update-input home-manager --update-input nixpkgs" # To update all the packages
      # "--commit-lock-file" # commit the new lock file with git
    ];
    allowReboot = false; # set to false
  };

Ok, so, this made things better, and it seems to keep things responsive when performing an upgrade, but the option "--option fallback false" doesn't seem to be preventing it from building from source, so what ends up happening even in more powerful machines is it falls back to building from source when it doesn't find pre built binaries in https://cache.nixos.org, so it might decide to build whole applications or even kernels in the background, witch in most machines even without restricting memory and CPU would take a couple hours, so with these restrictions it ends up never finishing the job before a reboot in a normal "home desktop PC".
I say it was building from source because I saw a bunch of building messages when checking the logs of nixos-upgrade with journalctl -u nixos-upgrade.service:
jan 17 04:40:05 nixos systemd[1]: Starting NixOS Upgrade...
jan 17 04:40:27 nixos nixos-upgrade-start[606306]: building Nix...
jan 17 04:40:37 nixos nixos-upgrade-start[606306]: building the system configuration...
jan 17 04:41:58 nixos nixos-upgrade-start[606375]: these 17 derivations will be built:
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/n078dxz6ckp8lyp3jj68x4596gmaswn1-webkitgtk-2.38.3+abi=4.0.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/rqij6ljdhiswgvn55yq8mzwh8qx7dx6j-lutris-unwrapped-0.5.12.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/va03sqh6qdxpid2za7rmqz52prx83j1n-lutris-usr-target.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/cah8m7vxgv2pk2wndqz9kza0zq4np63v-lutris-fhs.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/g59gnidyp6k7zqvpw6ijhmjq9mswaahg-lutris.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/0ah63q5c6l6yl3g66p77ysfbmwin66j0-lutris.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/mm4kpfppayhppkjh1hp7400vz2cl8rbd-system-path.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/2pjsh66aj8wz3v84p17f0ma8md51kpr1-unit-systemd-fsck-.service.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/az65bzh40855rbv127k5zfghv57mb80k-dbus-1.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/ppmkj7vnq8ky3qhfwj7vdxvr375g26ri-unit-dbus.service.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/4iq1blf8ys5ppj4v5y9180v92n4qibml-user-units.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/6qxkz9v1vpnpxklfnkwbv7mpqqcx00s6-unit-dbus.service.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/9wqahrglk2w9wv8nhlw5fr32h5j372pw-unit-polkit.service.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/whmhsdz342rrq7lr46j1k0d4if3c1waz-unit-accounts-daemon.service.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/ssmcwfvfaqp12flcpas70c6h52iqss33-system-units.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/50mpy6p7qyvgws64m19y1c2chdvdab91-etc.drv
jan 17 04:41:58 nixos nixos-upgrade-start[606375]:   /nix/store/97gfry7ibqpnvhv3pphnlb7idsic3vzp-nixos-system-nixos-23.05pre442253.befc83905c9.drv
jan 17 04:41:59 nixos nixos-upgrade-start[606375]: waiting for lock on '/nix/store/0gva2jivdzqm734yzilxd404s80xhana-webkitgtk-2.38.3+abi=4.0-dev', '/nix/store/1jg7a7pnyvjigzmsk4p>
jan 17 13:06:31 nixos nixos-upgrade-start[606375]: waiting for lock on '/nix/store/kr1gs0dsqkj4971p09d4kwcrlqvm7azz-lutris-unwrapped-0.5.12-dist', '/nix/store/lampv20amrkyrkfs5ab>
jan 17 13:06:51 nixos nixos-upgrade-start[606375]: waiting for lock on '/nix/store/zpsgsw6i3qrlasms6wq9f7z8qykfdn83-lutris-usr-target'...
jan 17 13:06:56 nixos nixos-upgrade-start[606375]: waiting for lock on '/nix/store/pcxlill54hj77gjjmhla8im7ph1dbg1b-lutris-fhs'...
jan 17 13:07:11 nixos nixos-upgrade-start[606375]: building '/nix/store/mm4kpfppayhppkjh1hp7400vz2cl8rbd-system-path.drv'...
jan 17 13:07:59 nixos nixos-upgrade-start[606375]: building '/nix/store/az65bzh40855rbv127k5zfghv57mb80k-dbus-1.drv'...
jan 17 13:08:00 nixos nixos-upgrade-start[606375]: building '/nix/store/whmhsdz342rrq7lr46j1k0d4if3c1waz-unit-accounts-daemon.service.drv'...
jan 17 13:08:00 nixos nixos-upgrade-start[606375]: building '/nix/store/9wqahrglk2w9wv8nhlw5fr32h5j372pw-unit-polkit.service.drv'...
jan 17 13:08:00 nixos nixos-upgrade-start[606375]: building '/nix/store/2pjsh66aj8wz3v84p17f0ma8md51kpr1-unit-systemd-fsck-.service.drv'...
jan 17 13:08:01 nixos nixos-upgrade-start[606375]: building '/nix/store/6qxkz9v1vpnpxklfnkwbv7mpqqcx00s6-unit-dbus.service.drv'...
jan 17 13:08:01 nixos nixos-upgrade-start[606375]: building '/nix/store/ppmkj7vnq8ky3qhfwj7vdxvr375g26ri-unit-dbus.service.drv'...
jan 17 13:08:02 nixos nixos-upgrade-start[606375]: building '/nix/store/ssmcwfvfaqp12flcpas70c6h52iqss33-system-units.drv'...
jan 17 13:08:02 nixos nixos-upgrade-start[606375]: building '/nix/store/4iq1blf8ys5ppj4v5y9180v92n4qibml-user-units.drv'...
jan 17 13:08:04 nixos nixos-upgrade-start[606375]: building '/nix/store/50mpy6p7qyvgws64m19y1c2chdvdab91-etc.drv'...

So what we need is something that actually prevents it from building or upgrading a package if it isn't found in https://cache.nixos.org, the --option fallback false seems to have not done the trick, or I didn't apply it correctly

Just to clarify: you're saying you don't want your system to update if any package isn't available in the cache, right?

Just to clarify: you're saying you don't want your system to update if any package isn't available in the cache, right?

I don't know nix enough to know what's possible or easy to implement or configure, but I'd say ideally it'd update packages that it finds in cache (or that are simply pre-built binaries?) and skip the ones it doesn't find instead of falling back to building them from source.
A toggle or way to compleatly prevent the update if any package is not found in cache would also be a solution, but a less desireable one by my view

ideally it'd update packages that it finds in cache (or that are simply pre-built binaries?) and skip the ones it doesn't find instead of falling back to building them from source.

Generally speaking your system is updated or not updated with no middle state - this is the value behind NixOS.

A toggle or way to compleatly prevent the update if any package is not found in cache would also be a solution, but a less desireable one by my view

If those are the options then this is the solution you should aim for.

So, how I'm working around this problem right now in my config, is by using substituters to hopefully grab as many packages from caches as possible. (in my config, also, in case of non nixos systems with home-manager, this is heavily based in LongerHV's nixos-configuration, thats what you should probably look at):

let
  # Extra caches to pull from (taken from https://discourse.nixos.org/t/package-building-in-flake-despite-provided-substitutes/18107)
  substituters = {
    cachenixosorg = {
      url = "https://cache.nixos.org";
      key = "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=";
    };
    cachethalheimio = {
      url = "https://cache.thalheim.io";
      key = "cache.thalheim.io-1:R7msbosLEZKrxk/lKxf9BTjOOH7Ax3H0Qj0/6wiHOgc=";
    };
    numtidecachixorg = {
      url = "https://numtide.cachix.org";
      key = "numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE=";
    };
    nrdxpcachixorg = {
      url = "https://nrdxp.cachix.org";
      key = "nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4=";
    };
    nixcommunitycachixorg = {
      url = "https://nix-community.cachix.org";
      key = "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=";
    };
    nixgaming = {
      url = "https://nix-gaming.cachix.org";
      key = "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=";
    };
  };
in
{

    nix = let
      mySubstituters = mapAttrsToList (name: value: name) substituters; # mapAttrsToList: https://ryantm.github.io/nixpkgs/functions/library/attrsets/#function-library-lib.attrsets.mapAttrsToList
in {
    [...]
        substituters = map (x: substituters.${x}.url) mySubstituters;
        trusted-public-keys = map (x: substituters.${x}.key) mySubstituters;
    };

and besides that, in my laptop system, I set a systemd service that runs only when I poweroff once per week and updates the system, so I essencialy abandoned the normal system.autoUpgrade.enable configuration. This is the service in my config, and here is my explanation on Reddit of it, that I'll repost below as well:
using the normal system.autoUpgrades option creates a systemd service called nixos-upgrade, but overriding that was giving me headaches so I made my own service, you can see in my config the final service I'm using.
So I tried a bunch of ways to do this through a systemd service, there are a couple ways to do it, see my messy comments if you're interested, here is the one I settled with:
        systemd.timers."my-nixos-upgrade" = {
          wantedBy = [ "timers.target" ];
          timerConfig = {
            Persistent = true; # If missed, run on boot (https://www.freedesktop.org/software/systemd/man/systemd.timer.html)
            OnCalendar = "Fri *-*-* 20:00:00"; # Every Friday at 19:00 activate (then when shutdown, will run the upgrade)
            Unit = "my-nixos-upgrade.service";
          };
        };
        systemd.services."my-nixos-upgrade" = {
          # runs on shutdowns, but nor reboots, caveat: if it's activated and you reboot instead of shutdown, it'll only update next week
          preStop = ''
            if ! systemctl list-jobs | egrep -q 'reboot.target.*start'; then
              echo "test7 poweroff" > ~/Downloads/test7.txt
            fi
          '';
          unitConfig = {
            Conflicts="reboot.target";
          };
          serviceConfig = {
            #User = "yeshey";
            Type = "oneshot";
            RemainAfterExit="true";
          };
    # make sure internet and domain name resolution are still active
    # With network manager, you will always need to set "let all users connect to this network", so you still have internet after logging out
    wants = [ "network-online.target" "nss-lookup.target" ];
    after = [ "network-online.target" "nss-lookup.target" ]; # will run before network turns of, bc in shutdown order is reversed
    requires = [ "network-online.target" "nss-lookup.target" ];

          #wantedBy = [ "multi-user.target" ]; # uncomment this so it runs on every shutdown, won't need the timer anymore
        };

So this creates a systemd service that is activated by a timer, it only has a stop script, when the computer shuts down, the stop script is executed, so we put there our code to upgrade, change the line echo "test7 poweroff" > \~/Downloads/test7.txt to have your upgrade code. The line wantedBy = [ "multi-user.target" ]; is commented so our service is not always active and doesn't run on every shutdown, it is activated on Fridays at 19:00 (or on the next boot if it was powered off because of Persistent) and then run on shutdown.
With unitConfig.Conflicts="reboot.target"; and the check if ! systemctl list-jobs | egrep -q 'reboot.target.*start'; then in the script, it makes sure the upgrade is only executed on a shutdown and not on a reboot. One caveat is that if you reboot when it was activated, it will not upgrade and on powering on the service won't be activated, so it will only upgrade now next week if you shutdown and not reboot then.
If your upgrade requires Internet you might have trouble if you're using network manager because you need internet before the login or after logout, if you're connected through ethernet or have a configuration for your own wifi without network manager it will be fine, but having network manager, you'll have to store passwords for all users: https://imgur.com/duouAH0
And check all users may connect to this network: https://imgur.com/z729fZg
And you'll have to do this for every new wifi you connect to where you want upgrades to work. I still havent figured out a way to have this declaritivley.
For detecting if powering off and not anything else like hybernate or logoff, IM actually using this now:
          if ! systemctl list-jobs | egrep -q 'poweroff.target.*start'; then

            echo "will not poweroff, doing something else, not upgrading..."
            # but then I should activate the timer again right? otherwise, it will only get activated next week...

          else
            echo "Is powering off, upgrading..."


Form layout is poor

there is an uncomfortable banding effect created by the uniform (and overly sized) inputs:


Cannot upload Stripe apps using Stripe CLI

Describe the bug
When starting a new app upload using stripe apps upload, I am presented with the following:

When I hit enter, I am sent to the browser and I am presented with a success dialog.

However, this prompt never goes away. It is still there when I restart the process as well.
I have tried the following with no success:

Log out of web and CLI and try again
Upgrade the Stripe CLI
Try various browsers

I am on Stripe CLI version 1.11.3.
To Reproduce
Steps to reproduce the behavior:

Using the Stripe CLI, use stripe apps upload
Notice the "Accept Terms"
Hit "enter"
Notice success banner
Go back to CLI
See same "Accept Terms" output

Expected behavior
Once I accept the new terms and get a success screen, then I should not have to agree with them again and I can upload my app.
Screenshots
See above.
Desktop (please complete the following information):

OS: MacOS Monterey 12.5.1
Browser: Tried on Chrome and Safari

Additional context
This may just be an issue with my account...or I would assume this would be a larger issue?

Hi Jamie,
Would you try unsetting your STRIPE_API_KEY from your environment variables and try the commands again? Currently Stripe apps CLI doesn't support API keys yet and we've seen similar issues before because API key was being used.

@htheodore-stripe Hmmm. I do not have a STRIPE_API_KEY environment variable set locally. Nor do I use the --api-key option with the stripe apps command.
What am I missing here?

Would you try upgrading the stripe apps CLI as well and try again? stripe plugin upgrade apps
And just to be sure, you have run stripe login as well right from the CLI? To make sure you are using the same account on the Stripe Dashboard and the Stripe CLI.

@htheodore-stripe Yes! So I was not signed into the correct account. It was weird because I thought I was (but I was not due to my password manager). However, I could still run and trigger webhooks using the account I thought I was logged in under, which is why I always thought I was logged in under that account.
A stripe whoami command may go a long way for support :)
Thank you for the reply!


Create evaluation of postfix expression

What the program do ?

In what programming language it is written?

this is a program for evaluation of postfix expression


Use a new templating system

Improve the templating system for dasBlog. The most appealing candidate is the RazorEngine.

This will be resolved with #33


Overall confusion with APIs and documentation

Description
This module used to be quite easy to use prior to version 11.x. I have been trying to migrate my app to 12.x and realised a lot of the technical decisions made for the Android update add a lot of friction and aren't properly documented. For example, why does the requestPurchase function now accepts both sku (for iOS) and skus (Android) ?
Adding to that, it doesn't seem like this is documented anywhere at all.
Overall it seems like the APIs for both iOS and Android have deviated drastically from one another in the last updated and this was not even part of the list of breaking changes.
I'm by no means complaining or meaning to shame the wonderful work of the maintainers, but just think some changes have made into the public versions without updates to the docs or changelogs.
Expected Behavior

API changes should have been listed in the Breaking Changes of 12.x
The documentation doesn't mention the difference between requestPurchase on both platforms
The documentation doesn't mention the new Product object shapes since the May 2022 Play Store changes. Things like localizedPrice are simply not there anymore.

Hi thanks for submitting this. It got me rocking back and forth between Android and iOS thinking it was me.
This is my workaround until this is straightened out:
requestPurchase(Platform.select({
  ios: { sku, andDangerouslyFinishTransactionAutomaticallyIOS: false },
  android: { skus: [sku] }
}))

Getting localized price on android was an issue. Below is the code that I used to properly sort my subscription offerings and have the localized price availible for users internationally.
const sortSubs = product => {
  if (
    product[0].productId === 'yoursku#1' ||
    product[0].productId === 'yoursku#2'
  ) {
    let yoursku#1price;
    let yoursku#2price;
    if (Platform.OS === 'ios') {
      yoursku#1price = product[0].localizedPrice;
      yoursku#2price = product[1].localizedPrice;
    } else {
      yoursku#1price =
        product[0].subscriptionOfferDetails[0].pricingPhases.pricingPhaseList[0]
          .formattedPrice;
      yoursku#2price =
        product[1].subscriptionOfferDetails[0].pricingPhases.pricingPhaseList[0]
          .formattedPrice;
    }
    return {
      yoursku#1: product[0],
      yoursku#2: product[1],
      yoursku#1price,
      yoursku#2price,
    };
  }
};

You can then access the products correctly assigned in the returned object by sku.

To avoid creating another issue, I'll post another discrepancy between documentation and code here as well.
The documentation states that the property price is the localized price string, with only number (eg. 1.99). This is true in production on iOS. However, Android returns the localized price with the currency for both the price and localizedPrice properties (e.g., $1.99 instead of just 1.99).
This traces back to this code block on latest main and currently in the latest release (v12.10.8):
/** Added to maintain backwards compatibility */
export const singleProductAndroidMap = (
  originalProd: ProductAndroid,
): ProductAndroid => {
  const prod: ProductAndroid = {
    ...originalProd,
    //legacy properties
    price:
      originalProd.oneTimePurchaseOfferDetails?.formattedPrice ??
      originalProd.price,
    localizedPrice:
      originalProd.oneTimePurchaseOfferDetails?.formattedPrice ??
      originalProd.price,
    currency:
      originalProd.oneTimePurchaseOfferDetails?.priceCurrencyCode ??
      originalProd.currency,
  };
  return prod;
};

Chiming in...
Why are the docs written in the archaic Class-based Component Style over Functional/Pure?
As one reddit user says:

[functional components are better than class in almost every way](functional components are better than class in almost every way)


UIMARCAUTH-182: Add the Expand the Search & filter pane option

Purpose
See pull request

Approach

TODOS and Open Questions

Learning

Screenshots

Please also remove onOpenRecord prop from SearchResultsList

Thanks for noticing, removed it.


Add link to Spanish translation for TypeScript recipee

Once this pull request its merged, this link will redirect to the Spanish translation.

@kutyel Can you fix the merge conflict?

@sindresorhus Done! :wink:


Roll Flutter Engine from 1cdbebee1901 to 69a40417e5c6 (2 revisions)

https://github.com/flutter/engine/compare/1cdbebee1901...69a40417e5c6
2024-06-07<EMAIL_ADDRESS>Revert "Widen CPU affinity set." (flutter/engine#53274)
2024-06-07<EMAIL_ADDRESS>Roll Skia from e36110f8b451 to 5fc83884a619 (1 revision) (flutter/engine#53273)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


BootstrapValidationDecorator glitch when editing

There is a minor (but frustrating) glitch when editing a previously touched field.
When the typing starts, the $invalid property of the field is set to true, so the watch inside the bootstrapValidationDecorator fires and the toggleClass method sets the "has-error" class to the decorator. One second after the typing stopped, the $invalid is set to false so the watch fires again and removes the "has-error" class.
The result is that while typing, the element is decorated in red (as I said, it only happens if the field has been previously touched).
I'm trying to figure out how to fix this, but can't find the solution. Any ideas?
(In summary, I think the solution is as simple as detecting when the field is inside the delay of 1 second to avoid showing the error during that time)

That is indeed the way Angular-Validation was programmed, I set the validation to false when starting (before getting back validation result) and also use the $touched so that it doesn't show as invalid the first time user goes to the page. I don't see any other ways of dealing with this.

Hi and thanks for your quick reply!
The problem is that testing your examples in plunker (http://plnkr.co/jADq7H) the behaviour is totally different. When the user starts typing the error message and decorations dissappears (even if the current input is invalid) and after the timeout, the errors and decorator are shown.
I was expecting the same behavior using bootstrapValidationDecorator, but I can find out which variable to evalutate to check if the input is "inside" the timeout timer (of course, without modifiying the library source).

I think that should take a look at the CSS styles that I use for the example

Closing for no response

I tried everything I could but couldn't match the exact behaviour of the error message appearing in sync with the decorator being set in red. I was expecting someone could throw some more light but didn't happen.
At the end, and as I want to match exactly the same behaviour as the message appearing, I modified the source of updateErrorMsg and set a boolean value to self.ctrl indicating if the error message is visible. This way, the bootstrap decorator only has to monitor that boolean value to enable or disable the error class.
I would love to have this in the next version. What do you think about? I can do a PR if you want.
Thanks!

Feel free to review it! https://github.com/ghiscoding/angular-validation/pull/144

There's already a boolean property in the updateErrorMsg() function, it's passed in the 2nd argument of the function which is an object type. Basically a call looks like this updateErrorMsg(msg, { isValid: false }) and you can see it use at line 487 of the validation-common.js file. However, it also requires that the element has 1 of these  !attrs.isValid && (isSubmitted || self.ctrl.$dirty || self.ctrl.$touched || self.ctrl.revalidateCalled). Perhaps your element is not dirty and not touched? If that is the case, then call it with the isSubmitted flag as this updateErrorMsg(msg, { isValid: false, isSumitted: true }), then your error will show.

Oh ok, now that I saw the commit, I understand your meaning. I might accept that, will review later. Thanks

Merged and pushed a new version 1.5.14

Thank you very much for accepting the PR.
Now the decorator works as simple as this. (wiki should be updated with this?)
(function() {
   var bootstrapValidationDecorator = function() {
       return {
           scope: {
               bootstrapValidationDecorator:'@'
           },
           restrict: 'A',
           require:  '^form',
           link: function (scope, el, attrs, formCtrl) {
               scope.form = formCtrl; // no template so no need for that for now
               console.log(scope.form);

               if(scope.bootstrapValidationDecorator!=undefined && scope.bootstrapValidationDecorator!="") {
                   scope.fieldName = scope.bootstrapValidationDecorator;
               } else {
                   scope.fieldName = angular.element( el[0].querySelector("[name]") ).attr('name');
               }

               scope.$watch(
                   function(scope) {
                       return scope.form[scope.fieldName].errorMessageVisible; // NEW
                   },
                   function( newVal, oldVal ) {
                       if(newVal != oldVal){
                           el.toggleClass('has-error', newVal === true); // NEW
                       }
                   }
               );
           }
       }
   }
   angular.module('app').directive('bootstrapValidationDecorator', bootstrapValidationDecorator);

}());

And a real working project with this working: http://beta2.everlaps.com/signup
Thanks again for your support and your fantastic library!

Ah good, I see your use case. Nice looking form
I created a Wiki - IsErrorMessageVisible and after doing the Wiki, I think this flag should really have been called IsErrorMessageVisible but I guess it's ok. Thanks for the PR

Rename it! :) Sounds better to me also

However that would require another version bump, are you ok with that?

Done, it is now isErrorMessageVisible, see version 1.5.15

Nice! Upgrading just now!