Heroic Games install on steam deck does not work

Hello,
I installed Hades on my steam deck via the Heroic store, a 3rd party epic games launcher, since that is where I own the game.
Unfortunately, this causes an issue with patching, as hephaistos does not know where my save folder is. (Mine is /home/deck/Games/Heroic/Prefixes/Hades/pfx/drive_c/users/steamuser/Documents/Saved Games/Hades/)
I read #13 where it was suggested being able to define your own save file path in the CLI tool.
Do you think this would be possible to implement?

Hi,
Is the /home/deck/Games/Heroic/Prefixes/Hades/pfx/drive_c/users/steamuser/Documents/Saved Games/Hades/ path static, i.e. is it the same for all Heroic users, or is it something you configured yourself?
If it's a static path, I'd rather have Hephaistos support it rather than provide an additional flag for it.

~/Games/Heroic/Prefixes is the default location for prefixes... However on any game install, the launcher allows the user to set the prefix location to be anywhere they want

I suppose Heroic exposes this prefix in a configuration file that could be read by Hephaistos. Would you know where that is?

Maybe in ~/.config/Heroic/GameConfig?

Can you also check if maybe the install path of your game is listed in there? Or maybe in the Epic metadata? (I think it should be at ~/.config/legendary/metadata from the code)

It took a bit of digging but I found the game config. It was in this location for me
/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/GamesConfig/Min.json (The app name is "min" I guess, not "Hades")
Additionally, I found where the install path is located. All Heroic install paths are in the same json file located here
/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/lib-cache/installInfo.json
I believe these locations may correspond to the flatpak version of heroic, which is what I am using.
installInfo.json: file:///home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/lib-cache/installInfo.json
Min.json: file:///home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/GamesConfig/Min.json

Thanks. Interesting, why does it uses heroic and not legendary even though you are using Epic Games? 🤔

Not totally sure. It may be in the legendary metadata as well somewhere. But as far as I could see the legendary metadata just had general info of the game pulled from the epic store

Can you run this command to try and see if you find more stuff in the config?
grep -ri "hades" /home/deck/.var/app/com.heroicgameslauncher.hgl/config/

Here you go: https://pastebin.com/SyTqTWuy
In particular I notice is line:
/home/deck/.var/app/com.heroicgameslauncher.hgl/config/legendary/installed.json:    "install_path": "/run/media/mmcblk0p1/Heroic/Hades",

Thanks. Can you upload these files to pastebin? I think that should cover everything and then I can think on how to integrate Heroic to the supported launchers.

/home/deck/.var/app/com.heroicgameslauncher.hgl/config/legendary/installed.json
/home/deck/.var/app/com.heroicgameslauncher.hgl/config/legendary/metadata/Min.json
/home/deck/.var/app/com.heroicgameslauncher.hgl/config/heroic/store/config.json

Also, where is Hades actually installed on your system? Is it /run/media/mmcblk0p1/Heroic/Hades as stated above?

installed.json.txt
Min.json.txt
config.json.txt
For whatever reason, Github is saying it does not support json file uploads here, so they are in txt file format.
Also, yes I have it installed in /run/media/mmcblk0p1/Heroic/Hades
/run/media/mmcblk0p1/ is where the steamdeck mounts the sd card.

Working on implementation in branch pr/heroic. Here is a test build for Linux: hephaistos-linux.zip
Can you please run it from outside the Hades directory, to check if it properly detects your Hades installation path from Heroic configuration files, and suggests you to move it there? And then you can run it from the Hades directory "as usual" to patch the game: it should be able to pick up your save file location from Heroic configuration files.

Seems to be good! Ran it both out of and in the Hades directory.
Here's the output from both runs if you are interested
heroicTest.txt

Perfect, thanks. Released in v1.7.4.


DANA-128 - add trackCommerceEvent() method

This PR adds the ability to send a purchase event from the WebSDK
Usage example:
var metadata =  { "foo": "bar" };

var commerce_data = {
    "revenue": 50.0,
    "currency": "USD",
    "transaction_id": "foo-transaction-id",
    "shipping": 0.0,
    "tax": 5.0,
    "affiliation": "foo",
    "products": [
        { "sku": "foo-sku-1", "name": "foo-item-1", "price": 45.00, "quantity": 1, "brand": "foo-brand",
            "category": "Electronics",
            "variant": "foo-variant-1"
        }
        ,
        { "sku": "foo-sku-2", "price": 2.50, "quantity": 2}
    ],
};

branch.trackCommerceEvent('purchase', commerce_data, metadata, function(err){
    if(err){
        throw err;
    }
});

I'm not as knowledgeable about the web sdk as Gerrit, so I'll let him review.

👍


GH-4562 ClassCastException

While setup an test i got an unexpected case:
Cannot cast [Ljava.lang.Object; to
org.eclipse.rdf4j.sail.helpers.AbstractSailConnection
GitHub issue resolved: #
Briefly describe the changes proposed in this PR:

PR Author Checklist (see the contributor guidelines for more details):

[ ] my pull request is self-contained
[ ] I've added tests for the changes I made
[ ] I've applied code formatting (you can use mvn process-resources to format from the command line)
[ ] I've squashed my commits where necessary
[ ] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

I'm still not getting any exception.


Issue155 update to asp.net core2.1

Issue #155

Hey @Israel-94 : you might want to update the README.md file to indicate using the latest "Hosting Bundle Installer" from https://www.microsoft.com/net/download/windows

Updates

ng-recaptcha #146  and angular flex-layout were upated
rxjs-compat is no longer need it


Fix deadlock in overlay snapshotter

The Usage implementation in the overlay driver allowed returning before Rollback was called, leaving a transaction open and causing further operations to deadlock. This could occur if the usage call to the datastore returned an error, such as not found.
Fixes #1724
I checked to make sure there were no other cases in the overlay driver which could return with a transaction still open.

@dmcgowan Actually I saw this before, forgot to file issue. :P
I'm not sure whether this is the cause. I'll file another issue if the deadlock happens again with this fix.

@estesp looks like it is a race in the tests from the lease change. I removed the use of gc.root however it looks like remapped snapshots are not being retained by anything and the labels were not being cleaned up. I will re-add them for now and find a better solution for keeping track of those snapshots.

LGTM

Codecov Report

Merging #1730 into master will decrease coverage by 0.1%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1730      +/-   ##
==========================================
- Coverage   48.69%   48.58%   -0.11%
==========================================
  Files          28       28
  Lines        4249     4250       +1
==========================================
- Hits         2069     2065       -4
- Misses       1745     1750       +5
  Partials      435      435

Impacted Files
Coverage Δ

snapshot/overlay/overlay.go
47.4% <0%> (-0.18%)
:arrow_down:

metadata/content.go
30.56% <0%> (-0.95%)
:arrow_down:

Continue to review full report at Codecov.

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


Could I change the language to Spanish?

Could I change the language to Spanish?
Thanks Bro!

You definitely can. The library does not provide any texts so you only have to format the values accordingly with your desired locale.


Typo fixes and wording improvements in Python for loop guide

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Reason:  Since you did not specify maintainers could make edits for you, we could not fix the merge conflicts.
Thank you and happy coding.


Allow binding to IReadOnlyCollections

Binding to IList and IDictionary works great out of the box.
It would be great if this worked too:
public class MySettings
{
    IReadOnlyDictionary<string, int> SomeProperties { get; set; }
}

Internally, I think it'd make sense to instantiate a Dictionary<,> of the same generic parameters to back the property.

Clearing milestone for visibility

Tracking as part of https://github.com/aspnet/Configuration/issues/466


How to get the voice channel

How to get the voice channel for DiscordGuildVoiceChannel voiceChannel = ...;
What do I need to do after the dots?

There are three ways to grab a voice channel. Preferably you would want to go with one of the cache solutions (to avoid HTTP rate limits). As for which cache-based solution, that entirely depends on what information you need. If you are looking for a list of members in this voice channel, you will need to use the "guild cache" solution since the list is stored in the cache version of the voice channel (i.e. DiscoreVoiceChannelCache).
From Cache
Assuming you have a DiscoreCache variable named cache and the ID of the voice channel named channelId:
DiscordGuildVoiceChannel voiceChannel = cache.Channels[channelId] as DiscordGuildVoiceChannel;
// If voiceChannel is null here then, the channel does not exist or it was not a voice channel

From Guild Cache
Assuming you have a DiscoreGuildCache variable named guildCache and the ID of the voice channel named channelId:
// Get a reference to the cache of the voice channel itself
DiscoreVoiceChannelCache channelCache = guildCache.VoiceChannels[channelId];

// Get a snapshot of the actual channel
DiscordGuildVoiceChannel voiceChannel = channelCache.Value;

From HTTP
Assuming you have an DiscordHttpApi variable named http and the ID of the voice channel named channelId:
// Beware: this will throw a cast exception if channelId didn't point to a voice channel
DiscordGuildVoiceChannel voiceChannel = await http.Channels.Get<DiscordGuildVoiceChannel>(channelId);

It's good, it works.
But here's how to get channelId?
I did not find the documentation for this, but to sit guessing that I did not want to.

Where the channel ID comes from would depend on the situation. What are you trying to do that requires a voice channel? Is this in response to a user's message or...?

I want to make music playback in the voice channel.
From the .mp3 file for example

Ok, but how will the bot join the channel? Will a user ask it to join the channel they are in, or will the user give your bot the name of the channel?

No difference, or that the user called him by the team, or he himself went into the channel that is set.

Sorry for the late reply!
There would be a actually difference. If a user joins a voice channel and then asks the bot to join them, you can get the voice channel ID right off of the user's voice state. Versus, if the user gave the bot the name of the voice channel to join, you would need to go through each voice channel in the guild's cache until you find it by name (here you wouldn't even need the ID).
I'm going to need a little bit more context to help you...


Stake pool/liquid deposits (rebased on new master)

@billythedummy
This PR adds liquid deposits as well as deposit fees.
The PR builds on the merged PR https://github.com/solana-labs/solana-program-library/pull/2107
With these changes, we believe stake pools will be much safer and easier to use.

@joncinque how do you feel about refactoring the deposit authority so that it always is controlled by the program, and then make it possible to toggle the deposit authority on/off? The struct would change so that deposit authority is set as the program's permanently, and there is a new field manager_stake_deposit_authority: Option<Pubkey>, and the old one is renamed stake_account_deposit_authority.
It's very inflexible the way it is currently, as it's really all-or-nothing at the create pool stage.
We'd like the authority to gate deposits into the pool.
Not sure if it will break compatibiltility with deployed testnet pools.
To retain backwards compatibility, we can not enforce that the stake_account_deposit_authority be program derived. But we recommend that the gating stake deposits be done via manager_stake_deposit_authority going forward.

We can go that way.  Otherwise what if we control the ability to deposit through the fee?  If it's set to 100%, that's like saying "pool is private".  Then we don't need to change the deposit authority.

@joncinque , I think that approach only works for private pools, but not if you want to gate deposits on a per-validator basis.
In which case, we're better off with a separate authority, so if that makes sense to you, we'll go ahead and implement that.
Is there still a use case for initializing with a non PDA deposit authority then? If not, should we remove that from the initialization?

@jon-chuang let me make sure i understand what you're suggesting

manager_deposit_stake_authority: new field that can be toggled by the manager, forces deposits to be signed by this account
stake_account_deposit_authority: always have this field as a PDA

Then on deposit, we just add a check for the signature if manager_deposit_stake_authority is set.  Before deposit, we always set the withdraw / staking authority to stake_account_deposit_authority.  Is that right?

@jon-chuang let me make sure i understand what you're suggesting

manager_deposit_stake_authority: new field that can be toggled by the manager, forces deposits to be signed by this account
stake_account_deposit_authority: always have this field as a PDA

Then on deposit, we just add a check for the signature if manager_deposit_stake_authority is set. Before deposit, we always set the withdraw / staking authority to stake_account_deposit_authority. Is that right?

Yes, that's precisely right.

All right, sounds good to me! I see what you mean about existing stake pools... let's not worry too much about it -- there's mainly the foundation stake pool, and i can always hack together an instruction to upgrade it once we're ready

Actually, @joncinque , realistically, the why shouldn't the program simply use the withdraw_authority to sign off on everything instead of requiring the deposit_authority? We could get rid of the stake_account_deposit_authority entirely

CI is misbehaving, I decided to rebase again.

@joncinque since we now have deposit_stake_fee and deposit_sol_fee, does this mean that we also need a stake_referral_fee and sol_referral_fee? It seems like way too much to have to manage. Could we unify the referral fees in this case?

ah, that seems to be the best solution!  and we'll still keep the "default" PDA as an option, correct?

ah, that seems to be the best solution! and we'll still keep the "default" PDA as an option, correct?

Yes, that's correct. Not initializing or unsetting the stake_deposit_authority turns it back to the PDA via the priorly defined seeds.

Is this good to go from your side? I pushed some changes which will require a rebase unfortunately.  Don't worry about adapting to the changes too much, I mainly added a check on deposit / withdraw to make sure that a person is actually getting back more than 0 tokens, and then changed the rounding for the deposit / withdraw calcs.  Once you rebase and merge, then I can add the calcs in

To not let matters get out of hand, given that this is a 2.9K LOC PR, here is a summary of changes:
Instructions:
Modified instructions

Renaming: Deposit -> DepositStake, Withdraw->WithdrawStake.
Unified update fee instruction. SetFee { Fee } -> SetFee { FeeType } where FeeType = enum { ${type}Fee(Fee) }
Initialize also initializes with stake_deposit_fee and stake_referral_fee. Not sure if we want to get rid of that, we can initialize then update immediately through the cli.
DepositStake also accepts manager and referrer fee accounts to credit deposit_stake_fee and corresponding stake_referral_fee.

New instructions

DepositSol
SetSolDepositAuthority
SetStakeDepositAuthority. Leverages previously defined PDA.

Removed instructions:

SetWithdrawalFee (unified into SetFee)

TODO:

Could probably unify deposit_sol_with_authority by passing an option instead of having two instruction constructors.
Not sure if we want to maintain separate instruction constructors for each FeeType, or to simply expose the generic versions (right now, we expose both).
Not sure if we want to unify SetStakeDepositAuthority and SetSolDepositAuthority into single instruction, also using enums. Currently, the two instructions call the same process_set_deposit_authority.

Processor changes (most crucial security-wise)

Apply fees to DepositStake. Additional checks: manager fee account matches StakePool struct's.
Add DepositSol instruction, basically same as DepositStake except for source of lamports (activated stake accounts' staked SOL + rent-free reserve v.s. signing source account). The major difference is DepositSol checks the system program (for carrying out SOL transfer), does not ingest or check the validator list account.
Unified process_set_deposit_authority.

Potential Security issues:

whether or not additional fee calculations introduce weird integer error bugs. (to a certain degree, no, as the errors are < 1 lamport per fee application).
Whether or not any mistakes were made in calculating input SOL v.s. output pool tokens (probably not, due to common use of previously defined stake_pool.calc_pool_tokens_for_deposit.

TODO:

Maybe we should add asserts to ensure that pool_tokens_user + pool_tokens_manager_deposit_fee + pool_tokens_referral_fee == new_pool_tokens.

Struct changes:

pub sol_deposit_authority: Option<Pubkey>
pub sol_deposit_fee: Fee
pub sol_referral_fee: u8

Tests:
We've added tests for all of the changes, including:

set deposit authority
set deposit fee
set referral fee
deposit sol
new test for deposit stake (with referral fee/invalid referrer)

Cli changes:

create pool uses stake_deposit_authority keypair to initialize.
new commands:
a. deposit_sol,
b. set_deposit_authority (for both deposit sol and deposit stake, via for_stake_deposit boolean).
c. monomorphized as set-${type}-deposit-authority.
d. Unified set-stake-referral-fee for both stake and sol deposits.
modified commands: deposit-stake (+ referrer account, + manager fee). command list (display new fields). Unified set_fee across 4 Fee kinds to reduce code bloat.

TODO:

--from can be a hardware wallet (nice to have, future PR).

@joncinque I think I'm happy with this PR.
In terms of future changes we think would be good (nice to have, but not critical):

Multiple transient stake accounts (up to about 8). Iterate over a range in [0, MAX_TRANSIENT_ACCS) which we add to the transient account seed. I think we all agree that a single transient account is neither necessary nor ideal. To

I saw you mentioning that the stake pool code is undergoing another round of audits, will these changes make it in time? We'd like to wrap things up on the stake pool program front for our first deployment to mainnet, hopefully in about 1 week's time. Perhaps if things can move fast enough we may depend on the solana-deployed version of the program after all, and it can be made to eventually be immutable, just like the Token program is.
In terms of immutability, I'm just a bit worried about slashing/changes to the stake program.

Great work!


Where is the courseware

Hello, I am a fresh man in IT admiring you from Bilibili. And I cannot find where is the relevant courseware or ppt corresponding to the video from bilibili

Hi, @WenqingZhang1999 . The courseware hasn't been uploaded yet, but you can get the same context from https://vscode.cool


proposal: encoding/json: debug printing

I apologise if any of this is incorrect.

I would like to be able to provide a ,debug flag in a struct tag, which would instruct the encoding/json library to print out any data marshaled/unmarshaled to/from that field, like so:
type Test struct {
    SomeField interface{} `json:"some_field,debug"`
}

This would be especially useful for writing client libraries, where some fields may be undocumented, and having logs of the values you get can help reverse-engineer things.
Using the builtin println function makes sense for this, in my opinion.

I started making a basic attempt at implementing this with custom MarshalJSON/UnmarshalJSON methods, but quickly realised that I would basically have to implement cases for every type that encoding/json already supports.
I then attempted to modify encoding/json to support this, and found myself unable to locate the code relevant to checking flags, particularly in unmarshaling.

Any thoughts or tips on implementing this would be appreciated, as I intend to create a PR for this once I've figured it out. :)

Can you give a short detailed example showing how this would be useful?  Thanks.

If you're given data like...
{
    "foo": 123,
    "bar": null,
    "baz": null
}

...then there's a pretty good chance that "bar" and "baz" can have values. Being able to log their values without having to write custom marshal/unmarshal methods would be convenient.
For example, you could write something like this...
type Test struct {
    KnownField int `json:"foo"`
    UnknownFieldA interface{} `json:"bar,debug"`
    UnknownFieldB json.RawMessage `json:"baz,debug"`
}

... (showing use of either interface{} or json.RawMessage) and you would get the output...
json: wrote to field `UnknownFieldA`: `null`
json: wrote to field `UnknownFieldB`: `null`

... or, if new data was provided...
json: wrote to field `UnknownFieldA`: `map[a:3.14]`
json: wrote to field `UnknownFieldB`: `{"a": 3.14}`

Why can't you just, you know, unmarshal into a variable of type Test and print the value?  You already have to edit the code to add the ,debug tag anyhow.

I agree with Ian. If what you want to do is debug json's internals, then editing the json package itself to add debug prints is always possible. We could possibly make that easier with a global const debug = false, but flipping that would require editing the json package anyway.


Updation in the readme file

Hey,
There is a scope of minor improvements and updations in the readme file.
I would like to contribute towards it and thus can you please assign this issue to me

Just send a PR.


feat: support both .yml and .yaml extension for configuration file

This refactors the parts of the action responsible for fetching configuration data from a project's a11y-metrics.yaml file so that the config file can use either the .yml or .yaml file extension.
Resolves #5.

@scurker - I wanted to get this in before I start the refactor to support custom labels.


Update vscode-css-languageserver

The current version of the language server wraps vscode-css-languageservice at version 4.0.3-next.24, up from 4.0.3-next.3.

Would be nice if the version on npm gets updated with this too. It is two years old.


Broken link on the Windows App

Describe the bug
The hyperlink 'here' is pointing to https://docs.k8slens.dev/v4.2.4/latest/clusters/adding-clusters/ that happens to be broken on the windows app.

To Reproduce
Steps to reproduce the behavior:

Go to 'Add clusters'
Click on 'here'
See error on your browser

Expected behavior
A link with the documentation must open up.
Screenshots

Environment (please complete the following information):

Lens Version: 4.2.4
OS: Windows 10 Pro 20H2
Installation method (e.g. snap or AppImage in Linux): .exe on windows

Additional context
N/A

Duplicate of #2769


Add support to build el9 packages

At the moment we can build el7 and el8 compatible packages. We want to also build el9 packages and so, we need to add support to build these and then add them to the nightly builds.
This can be done using the same process as the el8 packages so we can copy the contents from there to generate the new el9 packager

Thank you!


IDEA: Staging Site for LearnOSM

With the desire to make changes such as:
-translation workflow
-design of the site
-structure
It might be a good idea to set-up a staging site. What is everyone's thoughts?

I think we can close it for now..
On Tue, Dec 30, 2014 at 7:43 AM, Nick Allen (OSM = Tallguy) <
<EMAIL_ADDRESS>wrote:

@wonderchook https://github.com/wonderchook @althio
https://github.com/althio @jeffhaack https://github.com/jeffhaack
Does anyone want to do further on this, or can we close this issue on the
basis that we've considered it, and shelved it for the moment - we can
always reopen later.
—
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/issues/262#issuecomment-68357058.

I think we can close it for now..
On Tue, Dec 30, 2014 at 7:43 AM, Nick Allen (OSM = Tallguy) <
<EMAIL_ADDRESS>wrote:

@wonderchook https://github.com/wonderchook @althio
https://github.com/althio @jeffhaack https://github.com/jeffhaack
Does anyone want to do further on this, or can we close this issue on the
basis that we've considered it, and shelved it for the moment - we can
always reopen later.
—
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/issues/262#issuecomment-68357058.

Actually we had an idea on how to make it easy. I think if we do major
changes it would be good to have an experimental site.
On Jan 2, 2015 9:01 AM, "jeffhaack"<EMAIL_ADDRESS>wrote:

I think we can close it for now..
On Tue, Dec 30, 2014 at 7:43 AM, Nick Allen (OSM = Tallguy) <
<EMAIL_ADDRESS>wrote:

@wonderchook https://github.com/wonderchook @althio
https://github.com/althio @jeffhaack https://github.com/jeffhaack
Does anyone want to do further on this, or can we close this issue on
the
basis that we've considered it, and shelved it for the moment - we can
always reopen later.
—
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/issues/262#issuecomment-68357058.

—
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/issues/262#issuecomment-68496398.

Actually we had an idea on how to make it easy. I think if we do major
changes it would be good to have an experimental site.
On Jan 2, 2015 9:01 AM, "jeffhaack"<EMAIL_ADDRESS>wrote:

I think we can close it for now..
On Tue, Dec 30, 2014 at 7:43 AM, Nick Allen (OSM = Tallguy) <
<EMAIL_ADDRESS>wrote:

@wonderchook https://github.com/wonderchook @althio
https://github.com/althio @jeffhaack https://github.com/jeffhaack
Does anyone want to do further on this, or can we close this issue on
the
basis that we've considered it, and shelved it for the moment - we can
always reopen later.
—
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/issues/262#issuecomment-68357058.

—
Reply to this email directly or view it on GitHub
https://github.com/hotosm/learnosm/issues/262#issuecomment-68496398.

Okay, no problem

I have been working on two possible solutions, one is by reconfiguring the github repository with a submodule (details here: ) and another is by using Travis CI (described with the usecase of staging a Jekyll site here ). Any one familiar with these options? I am thinking Travis CI would be easier at this point but I still have a couple of things to work out for it.

It might be a good idea to set-up a staging site

+1 see also #306

have been working on two possible solutions, one is by reconfiguring the github repository with a submodule (details here: )

Here, where ? :laughing:
Do you need to build pages automatically with github?
It could possible to build them locally and then copying them to http://hotosm.github.io/learnosm/sandbox/
just set baseurl: /sandbox in the local _config.yml
It's also possible to create a fork in another hotosm project learnosm-sandbox or in one of our personal github account.
Or even put many "Jekyll sites" in learnosm account:
http://hotosm.github.io/learnosm
  |
  +--production (baseurl: /production)
  |
  +-- sandbox
         |
         +-- test-pdf (baseurl: /sandbox/test-pdf)
         |
         +-- test-something-else (baseurl: /sandbox/test-something-else)

Oops, details for adding a submodule are from this blog . . . http://indelible.io/blog/2013/07/26/jekyll-deploy-script.html

This is the same idea (replace sandbox/test-pdf by dev), but it's very easy to develop and deploy.
Thank you very much :smile:
I'll will test this this morning

It's also possible to create a fork in another hotosm project learnosm-sandbox or in one of our personal github account.

This is the easiest way. (I've got a headache with submodules :hear_no_evil: )
If you create learnosm-dev:

the path will be http://hotosm.github.io/learnosm-dev
in _config.yml set baseurl to your project name:

baseurl: learnosm-dev

@jmarlena

another is by using Travis CI

The full process seem to be described in details here: jekyll-travis
Note that they want to produce books, use panic to generate epub, pdf…, use different flavors of Markdown (like Scholarly Markdown that permit citations)

Move the discussion about Travis to #328

Try out of a staging site at http://nick-tallguy.github.io/
currently displaying how the changes from #403 would look.
I currently have this (early stages though) as my working directory from which I will make changes to the main site - will have to see how it works out, but it should be convenient to try things out.

I've been using the site at http://nick-tallguy.github.io/ for some detailed updates and have found it extremely useful. I probably haven't set it up perfectly, but I am able to keep the sites in sync as needed.
I'd like to close this issue now, if everyone is happy about the use of http://nick-tallguy.github.io/ as a shared resource staging site. If anyone would like collaborator access to it, just ask. I'd rather it was thought of as a shared resource to improve LearnOSM.
I still see this as an interim setup - I've been working at removing duplicate and redundant images to an eventual aim of having the site not managed as 'blog'.

cleaning up old issues which had been solved in the meantime
everyone seems to be happy with it


Is it possiblem to force getLastCameraImageURL() to be updated

Is it possible to force a new snapshot to be generated for a eufy cam? We use getLastCameraImageURL in homebridge and homebridge has default functionality for updating snapshots at an interval. However the getLastCameraImageURL only seems to change when an event has been triggered.

Not at the moment.

I think this issue can be closed. I hadn't realized that what I really wanted was instead to create a snapshot from the stream.


Client Allocation Request for: 2b.cn

Client Allocation Questions
Core Information

Name: 2b.cn
Website / Social Media: http://www.2b.cn/
Region: Greater China
DataCap Requested: 10TiB
Addresses to be Notarized: f1b7jchlgo6nkkv3l5nouyn72af6bplwk5vkdqonq
Notary Requested: Broz221

@fgnfhdfhd Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Thanks for your application.
Please answer following questions:
What's your name? What's your duty in this company? Please give me your E-mail address and your brief introduction.
Please give me simple overview of your company. (Company scale, establish time, project, use case, etc.)
What's you/your company's contribution to Filecoin? (If exsit)
What kind of data do you want to store? And how much? How about copy right of data?
How many miners do you want to store data to? Which aspect will you inspect these miners?
Could please you introduce your past usage of cloud storage?

Dear Notary
1、I'm the co-founder of this company,You can call me Alex.I look at emerging market technologies, and I'm very bullish on the Filecoin network
<EMAIL_ADDRESS>2.Toby, the most professional vertical media and industry service platform in B2B industry, was founded in October 2012, led by professional B2B We Media person Ningbo Liu. With Toby as the core, it focuses on industry research and industry service. The annual "China B2B E-commerce Conference" hosted by Toby has a huge influence in B2B industry.
3.We mainly generate some e-commerce data,It would be best if you could give us 10TiB.
4.We think 3 miners is reasonable, and we mainly focus on the network distance.
5.We mainly use Ali.

Hi. I have sent you E-mail to get more private detailed information. Please check.

OK, I have sent the email

OK, I have sent the email

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzaceciosmj4wxrioofo5kldgdtkzze3ciuk3fjykovfzgy7wjbnuz4fy

Address

f1b7jchlgo6nkkv3l5nouyn72af6bplwk5vkdqonq

Datacap Allocated

10TiB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzaceciosmj4wxrioofo5kldgdtkzze3ciuk3fjykovfzgy7wjbnuz4fy


Created a tool to search existing snippets

This will help is validating a snippet idea before working on it. Snippet names need to be added to the array in scripts/tracker.js. See if this is ok. I'll try to keep making this better.

It can be hosted on GitHub pages or netlify or surge

I will notify you when the website is ready to be unveiled. Thanks for putting in the time to create this!


Provide HomeKit switch for Guest Wifi

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
I would like to have a switch to enable the Guest WiFi via HomeKit App without using any third party app.

hätte ich auch gerne !!!

Will be added in v4 - currently in work

Added in v4

See https://github.com/SeydX/homebridge-fritz-platform/blob/master/docs/config/FritzBox.md

@SeydX I have installed latest v4.10 - with a fritzbox 7490 running on v07.11. Everything is fine, incl. Smarthome (FRITZ!DECT 200, incl. Temperature), 1260 Repeater etc. Only wifi ist not visible at all using configuration according to documentation:
"wifiGuest": [
true,
false
]
On the fritzbox everything is set incl. WPA key - using e.g. homebridge-fritz plugin give me a working Wifi Guest switch right away.


Add autofac module for black box monitoring

I cannot access appveyor to see the failing test

This is not any failing tests. The build took longer than 60 minutes which stops the build.


Drag to update on input text

https://forum.babylonjs.com/t/introducing-the-gui-editor-alpha/24578/12

done


request.URL should be frozen

Since it's memoized, it could be tempered with by a middleware and cause errors in totally unrelated middlewares.
An example of how it could inadvertently be tempered with:
ctx.body = {
  otherPageUrl: String(Object.assign(ctx.request.URL, { pathname: '/other/page' }))
}

Memoized data should be frozen using Object.freeze

I'm not a fan of freezing, nor do I think it's necessary. I'm -1 on this. Unless someone objects this will stay closed as wontfix.


WIP: Filter work items by assigned to nobody

Fixes https://github.com/fabric8io/fabric8-planner/issues/1573

Codecov Report

Merging #1174 into master will increase coverage by 0.06%.
The diff coverage is 14.28%.

@@            Coverage Diff             @@
##           master    #1174      +/-   ##
==========================================
+ Coverage   60.42%   60.49%   +0.06%
==========================================
  Files         114      114
  Lines       10065    10077      +12
==========================================
+ Hits         6082     6096      +14
+ Misses       3343     3340       -3
- Partials      640      641       +1

Impacted Files
Coverage Δ

criteria/iterator.go
75% <0%> (-6.82%)
:arrow_down:

criteria/criteria.go
86.2% <0%> (-6.39%)
:arrow_down:

workitem/expression_compiler.go
76.92% <0%> (-1.51%)
:arrow_down:

controller/workitem.go
77.51% <33.33%> (-0.74%)
:arrow_down:

remoteworkitem/scheduler.go
63.41% <0%> (+9.75%)
:arrow_up:

models/transaction.go
70% <0%> (+20%)
:arrow_up:

remoteworkitem/github.go
100% <0%> (+22.85%)
:arrow_up:

Continue to review full report at Codecov.

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

Some test case to prove it is always helpful..

@baijum please add a test case that creates at least two work items with and without an assignee. Then filter by assigned to "none" to see it really works. Make sure you always test with the highest point of in the API chain to ensure a system usable by the UI which talks to that point in the API.

@aslakknutsen @kwk I have added test cases. Please review!

@aslakknutsen @kwk I have addressed your review comments. Please take a look at this PR once again.
Thanks @hectorj2f & @pranavgore09 for review and approval.


Adding secondary nav to Streams page

More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@guozhangwang Please review. Thanks!!

@manjuapu could you update the PR title / description (it was indicated in the template) and mark the checklist if you have done so.

@joel-hamill  upgrade-guide.html and architecture.html is not included in the design, so I have not added it. You can see it in this page - https://kafka.apache.org/documentation/streams/

LGTM. Merged to trunk and 1.0.

FAILURE
7959 tests run, 5 skipped, 1 failed.
--none--

SUCCESS
8067 tests run, 5 skipped, 0 failed.
--none--

FAILURE
7959 tests run, 5 skipped, 1 failed.
--none--

@manjuapu not sure what you mean https://github.com/apache/kafka/pull/4222#issuecomment-344743054. why are they not included? (cc @derrickdoo )


TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

I'm trying to train a lora  but it gives me an error
!python train_c_lora.py configs/training/finetune_c_3b_lora.yaml
Launching Script
Traceback (most recent call last):
  File "/kaggle/working/StableCascade/train_c_lora.py", line 326, in <module>
    device=torch.device(int(os.environ.get("SLURM_LOCALID")))
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

export SLURM_LOCALID=gpu id
before running the script
in my case:
export SLURM_LOCALID=0

I'm trying to train a lora but it gives me an error
!python train_c_lora.py configs/training/finetune_c_3b_lora.yaml
Launching Script
Traceback (most recent call last):
  File "/kaggle/working/StableCascade/train_c_lora.py", line 326, in <module>
    device=torch.device(int(os.environ.get("SLURM_LOCALID")))
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

did you solve this question?

See this comment and this PR


[FEAT] Single place to handle all notifications

Is your feature request related to a problem? Please describe.
It might be useful to have a single place to configure all different notification messages for different resources, cause they might be similar(Successfully created resource_a by name name_a, sucessflully edited the same resource, etc.). Duplicating them and even creating reusable functions is not helpful.
For errors you did a great thing: 2 options, either edit in DataProvider or reject in axios.interceptors. I'd like to see a similar thing for successful notifications as well.
Describe alternatives you've considered
No response
Additional context
No response
Describe the thing to improve
Notification controller/center or smth like that.(Not notification provider, it's a diferent thing and it does it's job)

Hey @MetaMmodern ,
Thank you for contacting us. Isn't NotificationProvider exactly what you are looking for? If not, why?

@omeraplak hi, no, because notifications provider is about what notification engine we use and how the toasts look like
I don't have any issue with that. My issue is with the values, provided into notification provider when notification happens.
Even if I change the provider, the values that are sent by refine core will be the same.

Hello i have a question related to this.
I want to translate error.message when and error ocurr.
Why?
Because my back-end send me an error message in english and i want to translate this error to multiple languages.
for example: What is the best way to translate the error.message when a request fail?

Hello i have a question related to this.
I want to translate error.message when and error ocurr.
Why?
Because my back-end send me an error message in english and i want to translate this error to multiple languages.
for example: What is the best way to translate the error.message when a request fail?

Hey @facucalle92
The best way to do this is to use i18n. Added translation files have a section like the one below.
// public/locales/en/common.json
// ...
"notifications": {
    "success": "Successful",
    "error": "Error (status code: {{statusCode}})",
    "undoable": "You have {{seconds}} seconds to undo",
    "createSuccess": "Successfully created {{resource}}",
    "createError": "There was an error creating {{resource}} (status code: {{statusCode}})",
    "deleteSuccess": "Successfully deleted {{resource}}",
    "deleteError": "Error when deleting {{resource}} (status code: {{statusCode}})",
    "editSuccess": "Successfully edited {{resource}}",
    "editError": "Error when editing {{resource}} (status code: {{statusCode}})",
    "importProgress": "Importing: {{processed}}/{{total}}"
},
// ...

not_stale

not stale


Fix assignment of intersections to objects with optional properties

We consider any intersection A & B assignable to a type T if either A or B is assignable to T. This can be problematic when T is an object type with optional properties. For example:
declare let x: { a?: number, b: string };
declare let y: { a: null, b: string };
declare let z: { a: null } & { b: string };

x = y;  // Error
x = z;  // No error!

The issue here is that because { b: string } is assignable to { a?: number, b: string } we also consider any intersection that includes { b: string } to be assignable--even if the intersection includes another type that conflicts with the optional a property.
With this PR we now require intersections of object types as a whole to be assignable to the target type. In other words, we treat { a: null } & { b: string} identically to { a: null, b: string } in relationships.
Fixes #36604.

@typescript-bot test this
@typescript-bot user test this
@typescript-bot run dt
@typescript-bot perf test this

@typescript-bot run dt

So, notably, this does not fix https://github.com/microsoft/TypeScript/issues/36637 because that has a generic T involved, right?

So, notably, this does not fix #36637 because that has a generic T involved, right?

That's right.

Summarizing test runs: No change in RWC and DT and no appreciable perf impact. New errors in the office-ui-fabric-react user test project are indeed legitimate errors that we didn't catch before.
So, this PR is technically a breaking change because we find new issues.

@typescript-bot pack this

CC @dzearing @jasongore, it looks like this change will cause issues for Fabric. It looks like tightening the declarations of
https://github.com/OfficeDev/office-ui-fabric-react/blob/e5c9f2bea83a4b9b0a82d303682c2ea093036c83/packages/fluentui/react-proptypes/src/index.ts#L436-L463
to use PropTypes.oneOf([...]) with the appropriate literal types on design will fix it. To try it out, I'd recommend using the above build.


WIP: PoC to make GH runners on tici and build

Still WIP, the build itself is not really working as expected. the install of the runner is tho

/make-prebuilt

/make-prebuilt


feat: Add cfpb fork of display-element-css Storybook addon

Closes #123

CFPB fork of display-element-css created
Modified that repo to include the /dist/ folder so that things would work when installed from Github
Refactored to search parent element's styles
Attempts to filter output to only relevant styles
It kinda works!

Clicking the CSS tab should auto-turn-on the eyeball IMHO.

We might be able to make that happen?  I'd have to look into how the Storybook panels work and see if I can tie into the addon panel's switching logic.


Add onunload event

https://developer.mozilla.org/en-US/docs/Web/Events/unload

@cvrebert I know, but I would like to have it on caniuse

I only added the link for convenience. It's not a comment on the merits of adding this or not.

@Fyrd also I've found what most events is not available for check on caniuse, maybe there is reason for this?

@dr-dimitru Standard events (click, change, etc) that have been supported since forever aren't on the site. Caniuse is intended for "newer" technologies with that have varied support.

Covered by https://caniuse.com/#feat=mdn-api_window_unload_event now


I've managed to use sagas but not in react-boilerplate

After hours of looking around I can't find out how to deal with redux-sagas inside of react-boilerplate. Here is what I have:
I have a component that when clicked triggers an action.
// containers/someContainer/index.js
import { someAction } from './sagas'
...
  onClick = () => {
    this.props.someAction()
  }
...
const mapDispatchToProps = dispatch => bindActionCreators({ someAction }, dispatch)
export default connect(null, mapDispatchToProps)(someContainer)

// container/someContainer/sagas.js
const SOME_ACTION = "SOME_ACTION"

export const someAction = (data) => {
  console.log(`someAction`, data ) // I get this log. 🎉
  return {
    type: SOME_ACTION,
    data: data
  }
}

function* mainSaga(){
  console.log(`mainSaga`) // I don't get this log 😕
  yield call(someSaga, val )
}

function* someSaga( val ){
  while( true ){
    console.log(`someSaga`) // I don't get this log 😕
    const action = yield take(SOME_ACTION)
    console.log(`maybe someSaga?`) // I don't get this log either 😕
  }
}

// routes.js
const importModules = Promise.all([
  import('containers/someContainer'),
  import('containers/someContainer/sagas'),
]);

What am I not getting about this flow?

@bernatfortet, did you inject your saga in routes.js?
// routes.js
const importModules = Promise.all([
  import('containers/someContainer'),
  import('containers/someContainer/sagas'),
]);

const renderRoute = loadModule(cb);

importModules.then(([component, sagas]) => {
    injectSagas(sagas.default); // 👈 this line right here

    renderRoute(component);
});


Use setup_requires for cython and  numpy

Because right now pip install acoustics fails if you haven't already install numpy and cython.
http://stackoverflow.com/questions/37471313/setup-requires-with-cython#37471428

That was fixed already for a while. Now that Cython is no longer a dependency it doesn't apply anymore.


feat(audio): Add helper method to downsize audio records

This PR introduces a new helper method named convert_to_ogg which uses ffmpeg to convert media files to the OGG format with the following specifications:

Single audio channel and 8 kHz sampling rate (-b:a 8k)
Optimized for voice over IP applications (-application voip)
Crisp audio at smaller file sizes.

Additionally, this PR updates the audio endpoint to support Ogg conversion and removes the file extension from the temporary filepath. This enhancement enables more flexible output formatting.

Sure!


Login to HA when running addon as docker container

Related: https://github.com/CoolKit-Technologies/ha-addon/issues/30
I'm using the current version from master branch.
After entering HA login/password, I redirected back to 192.168.1.x:3000 and see toast: "Get device list failed"
In HA I see the following message in logs:

Server logs:
Could not connect to HA-WS, please restart addon
HA-WS heartBeat: -1
Could not connect to HA-WS, please restart addon
HA-WS heartBeat: -1
Could not connect to HA-WS, please restart addon
HA-WS heartBeat: -1
Could not connect to HA-WS, please restart addon
HA-WS heartBeat: -1
Could not connect to HA-WS, please restart addon
HA-WS heartBeat: -1
getDataSync: user.json ->  no data
getDataSync: user.json ->  no data
Could not connect to HA-WS, please restart addon
HA-WS heartBeat: -1
getDataSync: user.json ->  no data
getDataSync: user.json ->  no data
getDataSync: user.json ->  no data
getDataSync: user.json ->  no data
Could not connect to HA-WS, please restart addon
HA-WS heartBeat: -1

ha-addon: v1.2.3
Home Assistant 2021.10.6

Have the same issue, "Get device list failed" after login to HA and eWeLink, and Login attempt in logs HA
How to use Long-Living Access Tokens (Auth option) in Docker version?

I find it, and its working. Add SUPERVISOR_TOKEN environment with that token.

I find it, and its working. Add SUPERVISOR_TOKEN environment with that token.
What do you mean by supervisor_token? When installed in Docker, HA does not have Supervisor mode.

Under your user profile, you can gerenate an Long-Living Access Token

Under your user profile, you can gerenate an Long-Living Access Token
I can, but how do I use it in an addon without supervisor mode when installed via docker?

Under your user profile, you can gerenate an Long-Living Access Token

I can, but how do I use it in an addon without supervisor mode when installed via docker?

Ok. So. If you are here, you start the ewelink with dockr. You need  define more one environment variable under the HA_URL, that is the SUPERVISOR_TOKEN, And give that the token, what you give from ha

I find it, and its working. Add SUPERVISOR_TOKEN environment with that token.
But then it would use homeassistant:8123 which is incorrect URL. We need to edit configuration to use the correct URL as well.
3000/api/devices?type=7
{"error":302,"data":"http://homeassistant:8123"}

I have same problem after while. Now i can't login or logout to ewelink account bacause after load page is redirected to unavalable page http://homeassistant:8123/auth/authorize?response_type=code&redirect_uri=http%3A%2F%2F<IP_ADDRESS>%3A3000&client_id=http%3A%2F%2F<IP_ADDRESS>%3A3000

Hi, can u show how and where to do this?

Under your user profile, you can gerenate an Long-Living Access Token

I can, but how do I use it in an addon without supervisor mode when installed via docker?

Ok. So. If you are here, you start the ewelink with dockr. You need define more one environment variable under the HA_URL, that is the SUPERVISOR_TOKEN, And give that the token, what you give from ha

Hi, can u show how and where to do this?

Under your user profile, you can gerenate an Long-Living Access Token

I can, but how do I use it in an addon without supervisor mode when installed via docker?

Ok. So. If you are here, you start the ewelink with dockr. You need define more one environment variable under the HA_URL, that is the SUPERVISOR_TOKEN, And give that the token, what you give from ha

 docker run -d \
  --restart=always \
  --network host \
  -e HA_URL=http://<IP_ADDRESS>:8123 \
  -e SUPERVISOR_TOKEN=blablabla \
  ewelink_smart_home


proposal: demo_test.ts

It should:

Import handler() from demo.ts and use serve() from std.
Use the signal property to close the server once tests are completed.
Basically, ensure the demo server starts fine and endpoints are responsive, but provide 100% test coverage, if possible. In-depth testing of deno_kv_oauth's functions is not needed, as that's taken care

Makes sense to me.


batchsize to summary logger

adding support for changeable batchsize
offtopic : mesa mesa ya gemy

Thanks waleed.
Off topic : el akl wsl ?!


Add a clearer link to readthedocs

In the readme?

In the readme and via the repo url (at the top)

Someone with admin privileges (ie not me) needs to add it to the repo url


Sometimes getting newbile block when not newbie.

On testnet sometimes I get newbie DPoR block. This block is known by research reward of exactly 1 GRC. I traced with debugger and found that GetHistoricalMagnitude returns pointer to genesis block when the newbie is created. Its should return pointer to previous block staked by cpid.
This does not happen always.
Why important: non-deterministic behavior, potential loss of research rewards.

It happens on prod sometimes daily or multi-daily I've seen. I see them in my debug logs on nodes as well as local.

Happening now on production network for me. And since the total mint with 1grc newbie boost is not enough to pass mint limiter, the block gets rejected.
CreateCoinStake: Found Kernel;
CreateCoinStake: added kernel type=1 credit=0,010000
created coin stake
created rest of the block

 Newbie Special First Stake for CPID 46f64d69eb8c5ee9cd24178b589af83f, Age 19,147662, Accrual 100000000,000000
CreateCoinStakeHashboinc: 46f64d69eb8c5ee9cd24178b589af83f<|><|><|>0<|>0.00000<|>0<|><|><|>0<|>0<|>v<IP_ADDRESS>-g-research<|>1.00<|>1495641440<|>24998<|>46f64d69eb8c5ee9cd24178b589af83fc23b65cc423b6d6a99393f38693e3e6d9b3e67c9399e3f353d3c6666ca37969a75706e62746373706541627b66752f746c<|>25<|>S6WtsHxuDUmSFYgb56Vjw7nvYsGJvKrWHb<|>775c9d2faca92ca43b94b16c54587a688938ee6705a4afec15cf90301570f481<|>0.00<|><|><|><|><|>1.00<|>0.000000<|>0.000000<|>0.00<|>0<|><|>04b65db25b5c2af68ff5a60ffec6e01275af9a3327331c53877d3ac037a471dba2f6855cb10247dee5e695b7def96ddc8165e7008f935bff77d0b298ea70b3fefe<|>
Creating POS Reward for 46f64d69eb8c5ee9cd24178b589af83f  mint  1,000001  {RSAWeight 25023,000000}  Research 1,000000, Interest 0,000000
added gridcoin reward to coinstake
Signing BoincBlock for cpid 46f64d69eb8c5ee9cd24178b589af83f and blockhash 775c9d2faca92ca43b94b16c54587a688938ee6705a4afec15cf90301570f481 with sig MEUCIQDLXhvEsLYvg6cDfJwDQNXuvz6T9kfFB8+W6EATJecOmgIgL6g8eOOwQR4AS8gXqOytq24Pmm7uFUqMJXWU6wj+kRY=
signed boinchash, coinstake, wholeblock

 Newbie Special First Stake for CPID 46f64d69eb8c5ee9cd24178b589af83f, Age 19,149144, Accrual 100000000,000000
****CheckBlock[]: Total Mint too Small 46f64d69eb8c5ee9cd24178b589af83f, mint 100,000000, Res 1,000000, Interest 0,000000, hash 46f64d69eb8c5ee9cd24178b589af83f<|><|><|>0<|>0.00000<|>0<|><|><|>0<|>0<|>v<IP_ADDRESS>-g-research<|>1.00<|>1495641440<|>24998<|>46f64d69eb8c5ee9cd24178b589af83fc23b65cc423b6d6a99393f38693e3e6d9b3e67c9399e3f353d3c6666ca37969a75706e62746373706541627b66752f746c<|>25<|>S6WtsHxuDUmSFYgb56Vjw7nvYsGJvKrWHb<|>775c9d2faca92ca43b94b16c54587a688938ee6705a4afec15cf90301570f481<|>0.00<|><|><|><|><|>1.00<|>0.000000<|>0.000000<|>0.00<|>0<|><|>04b65db25b5c2af68ff5a60ffec6e01275af9a3327331c53877d3ac037a471dba2f6855cb10247dee5e695b7def96ddc8165e7008f935bff77d0b298ea70b3fefe<|>MEUCIQCgwqeaZ/2dIIzJ+OIuutIWdFMT/kORoXVPQyfxwv91FwIgHsjWgBRy/OaGBC4AokHcncVg6YQD0JGid1qhq1Ycc8E=
ERROR: ****CheckBlock[]: Total Mint too Small 46f64d69eb8c5ee9cd24178b589af83f, mint 100,000000, Res 1,000000, Interest 0,000000, hash 46f64d69eb8c5ee9cd24178b589af83f<|><|><|>0<|>0.00000<|>0<|><|><|>0<|>0<|>v<IP_ADDRESS>-g-research<|>1.00<|>1495641440<|>24998<|>46f64d69eb8c5ee9cd24178b589af83fc23b65cc423b6d6a99393f38693e3e6d9b3e67c9399e3f353d3c6666ca37969a75706e62746373706541627b66752f746c<|>25<|>S6WtsHxuDUmSFYgb56Vjw7nvYsGJvKrWHb<|>775c9d2faca92ca43b94b16c54587a688938ee6705a4afec15cf90301570f481<|>0.00<|><|><|><|><|>1.00<|>0.000000<|>0.000000<|>0.00<|>0<|><|>04b65db25b5c2af68ff5a60ffec6e01275af9a3327331c53877d3ac037a471dba2f6855cb10247dee5e695b7def96ddc8165e7008f935bff77d0b298ea70b3fefe<|>MEUCIQCgwqeaZ/2dIIzJ+OIuutIWdFMT/kORoXVPQyfxwv91FwIgHsjWgBRy/OaGBC4AokHcncVg6YQD0JGid1qhq1Ycc8E=

ERROR: ProcessBlock() : CheckBlock FAILED

Happened 2 times on my testnet node. The newbie block was staked just after restart of the wallet.

What about #332? It would "solve" this :)

I am afraid it wont. You would still get 1 GRC newbie reward, but without the newbie weight boost.

This issue is related to #225.

#225 Does NOT fix this issue.


upgrade parent POM and fix site descriptor

based on https://github.com/codehaus-plexus/plexus-pom/pull/182

superceded by #19 , that does not even require parent POM upgrade


"ValueError at /my-custom-areas  The file must contain a single feature, 212 features found"

Got that in the logs!
The error is to be expected (the info box explicitly asks a single feature), but it's not great that it triggers an error 500, a proper message should be shown for the user instead.
the user was @sronveaux, so Sebastien at least you know why you got an "internal server error" last Friday!

Hi @niconoe,
Apologies for this one, yes it was expected, I mistakenly exported the splitted layer instead of the aggregated one from QGis... but for sure, having a more user friendly message would be a good idea as for now we don't know which constraint was violated...


[FLINK-30358][rest] Exception location contains TM resource id and link to TM pages.

What is the purpose of the change
At present, the web UI exception history page only displays the TM host and port. However, we generally need to search for problems according to the pod name or container ID.
Therefore, it is more convenient to add resource id (pod name on k8s, container id on yarn) to the location column and a link to the task manager id to jump to the task manager page.
Brief change log

Exception location contains tm resource id.
Exception location links to taskManagers UI pages.

Verifying this change
This change is already covered by existing tests, such as JobExceptionsHandlerTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? no

Thanks for making this change. The change looks good to me.
However, I would like to invite a web frontend expert to double confirm the changes to the web part.
@yangjunhan would you help to take a look at the changes?

Hi @yangjunhan, I have updated this pr, PTAL. Thanks a lots.


How to control lights?

I'm trying to control lamps with tinytuya but I send the command to turn on lamp and it doesn't turn on
used code
import time
import tinytuya
device = tinytuya.BulbDevice('DEVICE_ID','IP',LOCAL_KEY')
device.set_version(3.3)
data = device.status()
print(data)
device.turn_off(switch=1)

Hi @Hawk2811 can you paste the output from the script (the print(data) part)?
Also, you can try (I assume you knew you were using the turn_off() function) without the ID:
device.turn_on()

You can also add debug mode (at the top of your code):
import tinytuya

tinytuya.set_debug(True)

Hi @Hawk2811 can you paste the output from the script (the print(data) part)?
Also, you can try (I assume you knew you were using the turn_off() function) without the ID:
device.turn_on()

You can also add debug mode (at the top of your code):
import tinytuya

tinytuya.set_debug(True)

I already solved it but thanks for the set_debug tip


React Project - Prefixing Properties in Pseudo-classes Causes Hover Content Discrepancy

UnoCSS version
0.57.7
Describe the bug
In my React project, I'm facing an issue with property presets when using prefixes and not using prefixes. The problem specifically arises with the hover state, causing discrepancies in the displayed content.

Reproduction
I've observed this issue particularly when applying prefixes to pseudo-classes like hover. The content displayed on hover is not consistent when using prefixed and non-prefixed properties.
System Info
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

activity


Run query functions not able to load available subscription, resource groups and resource names

Describe the Bug with repro steps
Select the Run Query and list results function
No dynamic loading of available subscriptions etc
What type of Logic App Is this happening in?
Consumption (Portal)
Which operating system are you using?
Windows
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos

Browser
Edge
Additional context
No response

Hi @tipper1510, what authentication type are you using for your connector?  You could just have no available subscriptions based on the configuration of your connection.
When loading the subscription list designer will make a network request to dynamicInvoke that should have the list of subscriptions, you could double check that the API isn't returning subscriptions we just aren't showing.


Can AutomaticHttps+CredentialConfig set secret at other namespace?

Why do you need it?
CredentialConfig can not use other namespace's TLS secret.
How could it be?
users can set other namespaces secrets for domains.
Other related information
kubernetes's ingress-nginx controller can use --default-ssl-certificate like "default/secret".
@see: https://kubernetes.github.io/ingress-nginx/user-guide/tls/#default-ssl-certificate

cc @2456868764

The simple way: add parse logic with CredentialConfig.TLSSecret, eg support "sealos-system/wildcard-cert" instead of "wildcard-cert" for higress-system namespace.
automaticHttps: false
fallbackForInvalidSecret: true
acmeIssuer:
- email<EMAIL_ADDRESS>  name: letsencrypt
renewBeforeDays: 1
credentialConfig:
- domains:
    - '*.sealos.io'
    - 'sealos.io'
  tlsSecret: sealos-system/wildcard-cert
  # tlsSecret: wildcard-cert

But here comes the conflict:
when user also set AutomaticHttps=true alongside with namespace-ed tlsSecret, the SecretMgr cannot support it since it can only update and manage secret under higress-system own namespace.
https://github.com/alibaba/higress/blob/main/pkg/cert/secret.go#L48-L70

I am inclined to enable automatic HTTPS, maintaining consistent behavior, which also entails writing to the designated namespace's secret. It should be noted that this requires adjusting the clusterrole to grant higress access to write to secrets in other namespaces.


Mwpw 133658 l1 l2 fillsign

Resolves: MWPW-133658
Before: https://stage--dc--adobecom.hlx.live/acrobat/online/sign-pdf?app!versions=latest
After: https://mwpw-133658-l1-l2-fillsign--dc--adobecom.hlx.live/acrobat/online/sign-pdf?app!versions=latest

Codecov Report

Merging #349 (963a343) into stage (f889ef2) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##            stage     #349      +/-   ##
==========================================
- Coverage   94.69%   94.65%   -0.04%
==========================================
  Files          23       23
  Lines        2581     2581
==========================================
- Hits         2444     2443       -1
- Misses        137      138       +1

see 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add more detailed onSync type definitions

R: @jeffposnick
Fixes #2305 (cc: @similicious)

Coverage remained the same at 79.433% when pulling e31da19fae5ce87c21a310a6c59e93091ea48d58 on ts-updates into 0c4a7346b1c8c414df4cd765a31deede95a0ba63 on master.


Tensorflow: Could not load dynamic library 'libcuda.so.1

Severity

[ ] Critical/Blocker (select if the issue makes the application unusable or causes serious data loss)
[ ] High (select if the issue affects a major feature and there is no workaround or the available workaround is very complex)
[x] Medium (select if the issue affects a minor feature or affects a major feature but has an easy enough workaround to not cause any major inconvenience)
[ ] Low (select if the issue doesn't significantly affect the user experience, like minor visual bugs)

Describe the bug
Running the federation process seems to instigate the error log below:
I suspect it could be due to the tensorflow gpu version running doesn't work well alongside fedN and conflict. The training process continues as normal without fault after this log is displayed.
Environment:

OS: [windows]
Version: [10]
Browser [mozilla]
Version [83.0]
Tensorflow 2.3.1

Reproduction Steps
Steps to reproduce the behavior:
Run the mnist example in the documentation with tensorflow 2.3.1 installed
Error log
client_2  | 2020-12-07 21:02:12.975489: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
client_2  | 2020-12-07 21:02:12.975543: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)
client_2  | 2020-12-07 21:02:12.975574: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (f00c4eace373): /proc/driver/nvidia/version does not exist
client_2  | 2020-12-07 21:02:12.975758: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use:
AVX2 FMA
client_2  | 2020-12-07 21:02:12.984561: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency:<PHONE_NUMBER> Hz
client_2  | 2020-12-07 21:02:12.985607: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fe608000b20 initialized for platform Host (this does not guarantee that
XLA will be used). Devices:
client_2  | 2020-12-07 21:02:12.985674: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
client_2  | -- RUNNING TRAINING --
Contact Details
<EMAIL_ADDRESS>

Please google how to enable cuda support when running tensorflow. This is not related to FEDn.

Check cuda capabilities of your hardware.
If you are running docker you likely need an nvidia patched version.


colnr powerline symbol is not part of powerline font

environment

vim: 9.0.135
vim-airline: 8e477c192b42fb07fa8c38c9c4c9c957814f9431
OS: Arch Linux
Have you reproduced with a minimal vimrc: no
What is your airline configuration: g:airline_powerline_fonts = v:true
if you are using terminal:
terminal: kitty
$TERM variable: xterm-kitty
color configuration (:set t_Co?): 256
if you are using Neovim: I'm not
does it happen in Vim: ???

actual behavior
Column number indicator glyphs does not render properly (replacement glyph shown)
expected behavior
Useful column number glyphs shown
screen shot (if possible)

discussion
This issue was previously reported (on macOS) in #2381.
I believe the underlying problem is that the glyph in question (\ue0a3) is not actually contained in the Powerline font, but only in Powerline Extra Symbols (a separate project). I've confirmed this by looking inside the Powerline Symbols OTF file using https://mathew-kurian.github.io/CharacterMap/. It also matches the info about code point ranges on this Nerdfont wiki page.
<Edit> I now notice that the vim-airline README refers to https://github.com/Lokaltog/powerline-fonts for prepatched fonts. I just looked at one of those (https://github.com/powerline/fonts/blob/master/Inconsolata/Inconsolata for Powerline.otf) and it too doesn't have the colnr glyph. </Edit>
This either needs to be documented, or the colnr symbol should be changed to use a non-Powerline alternative (e.g. ℅ or ㏇).
(It would be even nicer if Powerline Extra Symbols could be included in Powerline Symbols, but that's probably harder to achieve…)
The workaround is to set g:airline_symbols.colnr to an alternate string, and that works fine for me.

okay, I think I just picked one symbol that looked nice. I did not check if those specific symbols are in powerline fonts at all.

This either needs to be documented, or the colnr symbol should be changed to use a non-Powerline alternative (e.g. ℅ or ㏇).

You mean, it should use a Powerline alternative, right?

This either needs to be documented, or the colnr symbol should be changed to use a non-Powerline alternative (e.g. ℅ or ㏇).

You mean, it should use a Powerline alternative, right?

The Powerline-specific glyphs are actually only a small number, something like 10 glyphs; none of those seems suitable. The other two I mention are generic Unicode symbols.

Okay, so if I understand correctly, \ue0a3 is living inside Unicode Private Range and therefore it is very unlikely that this symbol actually will exists. Therefore, let's just use \u2105 (℅) which should always exists and which we also use for UTF-8 encoding, if g:airline_powerline_fonts is not set)
It seems this symbol comes right back from when it was first included in 8929bc72a13d358bb8369443386ac so let me change this part then.


CI Setup

Adds:

pre-commit with CI checks -- note this has the unused imports ignored until impacts can be determined
Poetry for installation and packaging
CI for pre-commit and smoke test

I am fine with merging this failing CI if it appears CI fails only due to #2 .
Alternatively, #2 could be fixed by adding calls to uuid.uuid4 in a separate PR.

Merging to add pre-commit and other benefits, knowing that it will fail the validation until #2 is resolved


Missing add_type_form.html?

Hey there!

Just one thing I couldn't find mention in the docs, so I'm not sure it should be there or I would have to do it by myself.
On the [example] (https://django-polymorphic.readthedocs.org/en/latest/admin.html?highlight=template#example), you add two sub models to a parent model admin.
When I do that, I get a TemplateDoesNotExist, since it can't find the add_type_form.html file in the following locations:
admin/events/event/add_type_form.html, admin/events/add_type_form.html, admin/polymorphic/add_type_form.html, admin/add_type_form.html

When I register a single child model it works fine though.
I do have to manually create it, right?
Using Django 1.8.5, python 2.7.9 and django_polymorphic 0.7.2

Well, silly me, the file is there alright https://github.com/chrisglass/django_polymorphic/blob/master/polymorphic%2Ftemplates%2Fadmin%2Fpolymorphic%2Fadd_type_form.html
I just wonder why it says it is missing. Adding the file to my /templates/admin/ folder make it work though.

Just to state, adding polymorphic to installed apps fixed the issue :|
Note to self: pay more attention to the install instructions.


last test issue number

where is it
┆Issue is synchronized with this Asana task

nope doesn't compute. Sadly, assigning another person to a sub-task in Asana does not add an assignee to that synced issue in Github. I'll suggest that as a feature to Unito though


DontKnowIntent was missing in the intent schema

It would appear you don't need this intent any more, but I did have to add these:
```
{
"intent": "AMAZON.PauseIntent"
},
{
"intent": "AMAZON.ResumeIntent"
}
because they were not included in alexa-skills-kit-js/blob/master/samples/spaceGeek/speechAssets/IntentSchema.json


Remove console.log calls

Hi, how can I remove all console.log calls on the browser version (I'm using v3)? I couldn't find anything about this on the docs.
Thanks!

Hi @renancouto can you show me some of the console log calls you are seeing? Thanks

Hello @vvo! Yes, the logs looks like these:
On init:
algoliasearch init done { settings... }

On searches:
algoliasearch:/1/indexes/*/queries request start +1m
algoliasearch:/1/indexes/*/queries received response: { body... }

Don't get me wrong, these logs are nice, but I'd like to removed them in production. Is that possible?


Update for<EMAIL_ADDRESS>new header paths

React native has made a breaking change to header paths in 0.40.0 (https://github.com/facebook/react-native/releases/tag/v0.40.0)
So, it should fix this issue: #373

Thanks, this is now released in 4.0.0.


error "OpenCV 4.x+ requires enabled C++11 support"

Before apt update and upgrade recently, the package worked.
Now I am getting following errors when tried catkin_make again.

I also tried to add below option in CMakeList.txt but no luck.
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
Any suggestions?
Thanks!

Dİd you find any solutions ?

It actually turned out that cv_bridge was not built with C++ 11 support.
The only way I could solve this issue was uninstalling cv_bridge and manually build it from source.
When removing cv_bridge, it will also uninstall many other packages so I had to use dpkg -r --force-depends to remove just one package.
One draw back is that once cv_bridge is removed, apt upgrade might not work correctly.
I don't know if cv_bridge will resolve this issue anytime soon.


cleaning up repo

Description
Cleaning up the test data from the repo
Todos

[x] remove data
[x] provide interface to access data from remote repo

Status

[x] Ready to go

Codecov Report

Merging #77 (31615a3) into master (4915ce3) will increase coverage by 3.57%.
The diff coverage is n/a.


Audio not working properly

Playing audio in chat and also in conversation/call does not work sometimes. I think the call mode causes this issue, because after it stops working in call mode it also fails when playing audio in chat. Often i have to reload the website and try it serveral times until it works again. Same problem on phone, restarting the chrome browser on Android helps to fix it.
I am using openedai-speech with piper which is hosted in docker. When trying it with postman it works, even after some time of inactivity.
Edit: In Chrome Browser i am getting the following error:
DOMException: Failed to loadall CallOverlay.svelte:379 because no supported source was found.
Environment

Open WebUI Version:
0.3.10

Operating System:
Windows 11, WSL 2, Docker

Did a fresh reinstall of open webui docker image and now everything works as aspected.


Set RequestMetadata on DownloadRequest

You can see more context here: https://github.com/androidx/media/issues/143
We need requestMetadata on all mediaItems in order for the MediaSession.Callback to be able to correctly set the localConfiguration. Previously downloaded items did not have that set.
Not sure how exactly you want to solve this but figured I'd push up a commit with what I had in mind.

Just wanted to note that I will be out on vacation for the next two weeks so if I'm not responding it's not because I don't want this issue fixed it's just that I'm away from my keyboard. Thanks!

I was able to accomplish this without this change see comment here: https://github.com/androidx/media/issues/143


Broken facial_recog_tests???

For some reason, when I pull from master, most of the facial_recog_tests are broken.
Did someone fix this? Please don't push code if it breaks all of the tests

Error
Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", line 628, in run
    testMethod()
  File "/Users/anngould/IdeaProjects/samaritan-backend/tests/facial_recog_tests.py", line 146, in test_compare_frame_and_encodings
    all_ids, all_encodings = get_all_people_information()
  File "/Users/anngould/IdeaProjects/samaritan-backend/FacialRecog.py", line 93, in get_all_people_information
    npy = np.fromiter(iterable, float)
ValueError: could not convert string to float: '[161,'

If this is broken, I can look into it... Just wondering if someone else had already fixed it though.

LMK if you guys have ran into this before or not ASAP.

the only error i get is because the camera is off so it can't make the connection

It works fine for me as well with IntelliJ. The only failure is the camera connection because there isn't a camera connected. Please run from the command line instead of the button.

i think the problem is that your local db might still have old contents in it. run app.py then in postman run DELETE localhost:5000/test to clear the dbs, then run api_tests.py to fill it with data in the current format and run the tests again to see if it works and let me know.

You can't run the unit tests just by running it from the buttons in IntelliJ since it runs them with python instead of python3- thus they fail.

i think the problem is that your local db might still have old contents in it. run app.py then in postman run DELETE localhost:5000/test to clear the dbs, then run api_tests.py to fill it with data in the current format and run the tests again to see if it works and let me know.

this fixed it I'm going to see if I can add that in the setUp

You can't run the unit tests just by running it from the buttons in IntelliJ since it runs them with python instead of python3- thus they fail.

my device is set up to run python 3.7 when you run the python command. Button/command line doesn't make a difference, but I tried to see if it was that. @rgoluch


Fix iOS memory leak: upgrade obj-c tracker to version 1.6.2

Describe the bug
The obj-c tracker should be upgraded to version 1.6.2 to pull in the fix for the memory leak on iOS: https://github.com/snowplow/snowplow-objc-tracker/pull/562
To Reproduce
See https://github.com/snowplow/snowplow-objc-tracker/issues/559
Expected behavior
The memory leak should not occur.
Screenshots
N/A
Smartphone (please complete the following information):

Device: any iOS device
OS: iOS
Browser: N/A
Version: N/A

Additional context
N/A

Thanks for raising - I'm working with the team to figure out scheduling the fix

Thanks for raising - I'm working with the team to figure out scheduling the fix

Should be resolved now on latest - let us know if you run into any issues. :)

Should be resolved now on latest - let us know if you run into any issues. :)

Should be resolved now on latest - let us know if you run into any issues. :)

Ok will do. Thanks @colmsnowplow!

Should be resolved now on latest - let us know if you run into any issues. :)

Ok will do. Thanks @colmsnowplow!

Hth, thanks for raising.

Hth, thanks for raising.


zap update deletes the Appimage image before I choose the update

zap update 'appimage' deletes the appimage  before I choose the update or sometimes there is no new update and I will stick with the current version

Yes, you are right! It would be really cool if this part could be optimized. I will assign the a "good first issue" and a "hacktoberfest" tag, so that developers can participate in the fix.

Please take a look: https://github.com/srevinsaju/zap/pull/48


Proved tail_of_is_sortedb_is_sortedb

Hi! I added a proof for tail_of_is_sortedb_is_sortedb, but I'm not sure if there's a
simpler way to do so. I'd be happy to adjust it that's the case.

Great job :D
That was very quick.
Please email me, so I can buy you a book :)


Using Attribute State in template sensor (QUESTION)

@RogerSelwyn I want to us a attribute state in a template sensor but now i have the below in attributes
data:

summary: Busy
start: '2024-05-19T20:00:00+00:00'
end: '2024-05-19T20:15:00+00:00'
all_day: false
description: ''
location: ''
categories: []
sensitivity: Normal
show_as: Busy
attendees: []

I would like to use the summary state but somehow it seems this is not seen as a attribute, only data i am able to get state off .... you have any idea if i can use the state of summary somehow for a template sensor?

Also here https://github.com/RogerSelwyn/O365-HomeAssistant/issues/13#issuecomment-1009095758

@RogerSelwyn
this template did do the trick for me to acces the value I needed
{{ state_attr('calendar.cam4_agenda_cam4', 'data')[0].summary }}
Thank you for your help 💯

Close as solved! 👍


Action Package base config file package.yaml

Define a new package.yaml config for Action Packages (could later also be used for Task Packages)
Why:
Developer of the Action is able to define the base things needed to:

Get the Action Package visible in a public gallery (name, desc, version)
Define options / config values for Action Package
Define Python environment for the Action Package (dependency management)
Define which files of the development folder get shipped with the package

Enable tooling to:

Export and Import Action Packages as standard .zip files

Validation, virus scanning, etc. as simple single file actions

Make sure that files generated during development don't accidentally go to execution
Identify / validate the package
Enables us to create an UI for managing the configs (if we so choose)
VS Code with our extension they would get the Action specific features and tooling.

What
We need a config file where the developer describes the package details that are needed by several different tools and components during the package life-cycle.
⚠This file is NOT just for any single tool.
⚠ This file should only contain items that the developer needs to produce and control.
⚠ Based on this file tools can generate different configs that they need, so for example adding deps. freeze information or VS Code related project configs should NOT be placed here.

Action package friendly name and description are meant for the end-user so that they can find the actions they want to run in the “public Action Gallery”
Version and metadata on where the more detailed documentation can be found are used by the end-user and developers:

end-user can check the source of the action to do due diligence if they so choose
Package version is needed by both to report and solve issues in the package and know which version of the package is being executed → Action Server probably needs to report / show this version number

Environment is needed to define the repeatable Python environment where the action code is executed.
Packaging section is needed by the developer to control what files from the source folder get sent to execution

Sending big documentation, images, development run results to action-server is just waste and/or potential security risk
This cannot be .gitignore as files that are needed in git are different from the files that need to be in the packages.. the case is more common in AI Actions than it was in Task Packages as AI Actions more often have seed data etc. that needs to be included but is not necessarily stored in git.

The content below is the MVP content, we can (and will) add items later, but this is the base content.
    # Required: Defines the name of the action package.
    name: My awesome cookie maker

    # Required: A description of what's in the action package.
    description: This does cookies

    # Required: The current version of this action package.
    version: 0.2.3

    # Required: A link to where the documentation on the package lives.
    documentation: https://github.com/robocorp/actions-cookbook/blob/master/database-postgres/README.md

    # Required:
    # Defines the Python environment which should be used to launch the
    # actions in this environment.
    # The action server will automatically create a new python environment
    # based on this specification.
    # Note that at this point the only operator supported is `=`.
    python-environment:
      conda-forge:
        # This section is required: at least the python version must be specified.
        - python=3.10.12
        - pip=23.2.1
        - robocorp-truststore=0.8.0

      pip:
        # This section is required: at least `robocorp-actions` must
        # be specified.
        # Note: robocorp-actions is special case because the action server
        # has coupling with the library. This means that if the version of
        # robocorp-actions is not pinned to a value the action server will
        # select a version based on a version that's known to work with the
        # current version of the action server.
        # If the version is pinned, then the action server will validate
        # if the given version can be used with it.
        - robocorp-actions
        - robocorp=1.4.3
        - pytz=2023.3

      local-wheels:
        # This section is optional.
        # It's possible to add references to a wheel/.zip relative
        # to the folder containing this package.yaml.
        - ./wheels/my-wheel.whl

    packaging:
      # This section is optional.
      # By default all files and folders in this directory are packaged.
      # Add exclusion rules below (expects glob format: https://docs.python.org/3/library/glob.html)
      exclude:
      # Format to be defined
       - *.temp
       - .vscode/**

The initial implementation is now done.


⚠ Samsung has degraded performance

In 125230d, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2410 ms

Resolved: Samsung performance has improved in c4bf596.


Is this repo maintained?

The abstractions provided by MetaController look really nice.   I'd love to use it for a project.
However, it looks like a PR hasn't been merged since March, and the maintainers haven't replied to an issue in about that long.
Is this maintained?

In short, no. I was the only maintainer at the time when I left Google at the end of March. I don't have access to merge anything on this repo since Google still owns it.

Metacontroller is a great project, and it would be terrible to see it wither. @enisoc who would be the most appropriate contact to discuss possible futures for this effort?

@AmitKumarDas has been doing experiments on a fork (https://github.com/AmitKumarDas/metac) and has mentioned that he'd be interested in upstreaming that work if a new home is found for the project.

@enisoc - thanks for all your efforts on this project, I also think it is a great one.  I hope you remain involved in some capacity.

I would be glad to contribute and maintain MetaController in whatever form the community decides. Is there anyone who can start a new home/repo etc? Do we need any approvals from its current owner?

Same here, ive actually finished developing a rabbitmq controller, that creates rabbit resources based on my crd.
I intend to add it into production - is this a risk?

@AmitKumarDas @enisoc I think the airship project (https://www.airshipit.org/) may happy to host this project, but that would also depend on the current owner's desires.

Perhaps @droot can comment on whether Google intends to do anything with this repo.
As for myself, much to my own surprise, it turned out that between a startup and a toddler, I don't have enough free time to maintain this as a side project. However, if someone decides to take on the maintainer role on their own fork, I would be interested in contributing.

I would be interested in helping to maintain this, we've found it to be a really useful abstraction

@droot and I have been talking about this in the background a bit.  I think our team (the KubeBuilder team) can take over maintenance here, but we've got some logistics to figure out about long-term maintenance, new features, etc.
In the short term, we'd like to rebase the internals on controller-runtime, so that we're not maintaining two similar but distinct codebases.

but we're also very happy to have community help as well from anyone who is interested
e.g. @AmitKumarDas @mikebryant

It will be really good to have this embedded into controller-runtime and get more community support.
Let me know if there are any proposals with this investigation & I will be happy to join.

Let me know if there are any proposals with this investigation

I did some hacking last night on replacing the internals with controller-runtime.  There are currently some blockers (e.g. no way to "stop" controllers easily in controller-runtime w/o stopping the entire set of informers).  Some of these might be mitigated if the proposal to move to a sidecar-based approach (e.g. sidecar means you're not starting and stopping controllers on demand).
I'd like to figure out a plan to move towards controller-runtime internals, so any input there would be super-helpful.  If anyone's super-interested in tackling it themselves, I'm happy to provide guidance.
In the mean time, we'll figure out how to get correct permissions set up for this repo.
Additional things that would be helpful immediately from community members:

Issue triage: there are a lot of issues in this repo that seem inactive.  It'd be good to get questions answered, up-to-date bug reports tagged as such, and enhancement requests tagged as such.

@enisoc @DirectXMan12 @AmitKumarDas - just wondering if this could be a kubernetes sig project?

Quite possibly -- we'd need to figure out the logistics, but I think it makes sense to put it under the server-sdk subproject (a.k.a. the KubeBuilder subproject)

Just wondering, if all of us agree to continue with the original purpose of MetaController. In other words, it provides us with couple of controller implementations (abstracts the developers from programming to k8s knowledge) and lets us focus more into business logic side of things.

I'll let others weigh in too, but my take is this:
metacontroller lets you program your controllers in any language, in a "pure" (in the functional programming sense) way, without having to worry about side effects.  You're always going to have to worry about k8s to some degree (e.g. finalizers), but you shouldn't have to worry about trying to connect to k8s directly, make API requests directly etc -- you should just be able to take inputs and return what you want to happen (i.e. the state of the world).

Hi -
My hope is that MetaController would retain the spirit of it's original ethos, in that it enables people like me to program essentially stateless controllers in any language of my choice, only caring about emitting a JSON document (I like the existing format) to describe the resources that I want associated with my CRD.
In it's existing state, it has created a toolkit that gives a very low barrier to entry (for instance I don't need to understand much about controllers, Go, or k8s libraries), and makes it easy as a DevOps/SysAdmin to create "throwaway" operators for my organisation/workplace/life/etc.
For example, an acid test of it's future would be that any changes made going forward would not break existing MetaController operators in the wild (or at least without very good reason...).
It would be good to see some sort of new MetaController road map (https://github.com/GoogleCloudPlatform/metacontroller/issues/9) come out of this, which would help clear up any ambiguities around aspirations.
Thanks,
Piers Harding.

I'd add to the roadmap a support to bring more objects with the sync request,
For example, I have a crd with sensitive values, so I saved them in a secret, addad a ref field in my crd, gave rbac clusterrole permissions to that specific secret (for my custom controller), then used kubernetes API to retrieve the secret in the controller.
Would be nice to define resources that metacontroller will bring to the request (like according to annotations)

So, will this project be moved to the kubernetes-sigs org?

So, will this project be moved to the kubernetes-sigs org?

We need to decide that, and there's logistics to work out, but it seems reasonable to me.
@piersharding I think we're mostly in agreement there, and I don't think any breaking changes would be made w/o introducing a new major version.

Sounds like we should get on call to discuss further on the logistics and the roadmap/approaches? Is there a sig community meeting where we can add this as a agenda topic? or setup a new call?

You can propose it for the kubebuilder meeting next month, but I think there's some stuff to figure out on our end too.

@DirectXMan12 I wanted to propose MetaController for kubebuilder meeting. However, I am not sure of the meeting/doc link.

join the kubebuilder mailing list listed in https://github.com/kubernetes-sigs/kubebuilder#resources and you'll get a calendar invite with the details

We discussed this a bit in the KubeBuilder meeting today.  The KB community is supportive of this.
I think the next step here would be to have someone from the metacontroller side write up a little proposal for this that we can submit to kubernetes.  I'd be happy to review or provide guidance.

Maybe @AmitKumarDas since he's maintaining the only active fork of metacontroller??

metacontroller is just enough abstraction for non GO programmers like me.  it would be great to see this project maintained

All. Just wanted to give an update w.r.t submitting a proposal to add metacontroller to KB community.
I have been busy all these days and have not been able to write the proposal. It will be great if anyone in the community can send out the proposal. I have been talking with some of the metacontroller users to do the same without any success.

Happy New Year Everyone.
Some of us including @alaimo @piersharding @kmova have put together the initial draft proposal to maintain Metacontroller as a project in kubernetes-sigs.
Here is the link to the draft. We would like to hear what others think about this proposal. I would definitely need help from @DirectXMan12 @enisoc @mikebryant @luisdavim & others with their suggestions to help move this proposal forward.
cc @rosenhouse @debianmaster @arielb135 @intlabs

Thanks @AmitKumarDas for the update. And Thanks everyone who is helping with the proposal.
I will review the proposal and leave comments there. Happy to help with the next steps.

any news on this?

@floriankoch you may find latest discussions here
We are waiting for final approval from either @DirectXMan12 or @droot to submit a KEP.

@AmitKumarDas   Thx


Avoiding routing when the destination == current route

I have a menu, and in that I have an onTap handler that should navigate to a route with a parameter that I calculate.
Its possible that the user is already on the intended route, and I don't want it to navigate if already on the target route.
Is there a nice and reliable way of detecting and preventing navigation to the same as the current route, including query parameters? It would need to cope with any parameters being in the wrong order if it used urls.
I'm currently doing this, but its ugly and error prone :
var samePath = (router.currentConfiguration!.path==AppRoutes.PATH1) && (router.currentConfiguration!.queryParameters['id']==id);
if (!samePath) {
    router.push(AppRoutes.PATH1,queryParameters: {'id': id});
}

Hey, great question - and no, not really.
You can check if RouteData objects equal each other, but that won't be the case if query parameters are in a different order. I'm not sure changing that is a good idea, but it's possible.
How about a routeData1.isEquivalentTo(routeData2) which also checks query parameters?

isEquivalentTo would be a decent solution, thanks