[UI][LB] - Not allowed to add new LB configuration without listeners.

Server - build from master on Apr 7
Steps to reproduce the problem:
Create a Load Balancer configuration , by not entering any values for listener.
Creation of Load Balancer fails with - "Validation failed: targetPort" error message.
Should we be allowed to add a new LB configuration without listeners ? Or provide the ability to choose from existing list of listeners?

You can't create a useful balancer without one, and @deniseschannon suggested defaulting to one line for a listener to emphasize that.  You should be able to delete the line if you really want no listeners, but you can't just submit with invalid/empty values.  Which should be caught before you actually submit, because you'll find you're creating a loadBalancerConfig every time you try this (#448)

We should be providing the ability to choose from existing list of listeners , when creating a Load Balancer configuration. API allows for this .Should we be exposing this functionality?

@sangeethah: @alena1108 and I decided against showing reuse listeners and it will probably be removed from the API/changed to an embedded array in the config at some point.  Of all the things you have to set for a config, being able to reuse a couple port numbers doesn't seem that valuable.

UI now requires a listener (and target, and host)

v0.16.0
Verified Fixed
Listener is still required.


Change references from City of Savannah in TOS to Adopt-A-Drain.  Need to show separation between City and site.

I can take a look at this one.

Update completed.


error TS2339: Property 'subscribe' does not exist on type '"" | Observable'.

after executing
$ npm run build
throwing this error
ERROR in src/app/device-list/device-list.component.ts(51,48): error TS2339: Property 'subscribe' does not exist on type '"" | Observable'.
Property 'subscribe' does not exist on type '""'.
src/app/device-list/device-list.component.ts(72,46): error TS2339: Property 'subscribe' does not exist on type '"" | Observable'.
Property 'subscribe' does not exist on type '""'

Yeah it seems to be a general TypeScript issue as the type is Observable | string instead of just Observable. I'll work on a fix.
get(searchTerm) {
    const apiLink = this.giphyApi + searchTerm;
    return this.http.get(apiLink).map((response: any) => {
      if (this.apiKey === 'api-key') {
        // Use undefined image
        return '';
      }

      if (response.data.length > 0) {
        return response.data[0].images.original.url;
      } else {
        return 'https://media.giphy.com/media/YaOxRsmrv9IeA/giphy.gif'; // dancing cat for 404
      }
    });
  }

thank you bentech and fleker for help

This has been resolved


Cant get onTimeChange to work

I'm wanting to prevent the date range that is visible to the user.  I've set the two attributes for visible start and end dates.  However when trying to set the onTimeChange function using the example with updateScrollCanvas method i don't have access to it.  Since i'm importing Timeline, how would i go about calling that function from within my component?

Hi, from v0.9.0 on, onTimeChange now gets updateScrollCanvas as the third argument


Extract-method with namespace declaration results in invalid code

TypeScript Version:  nightly (2.6.0-dev.20170916)
See test extract-method-empty-namespace.ts.
Code
function f() {
    namespace N {}
}

Extract "namespace N" out to a global function.
Expected behavior:
function f() {
    newFunction();
}
function newFunction() {
    namespace N { }
}

Actual behavior:
function f() {
    newFunction(N);
}
function newFunction(N: any) {
    namespace N { }
}

I'm curious about why it's doing that but, unless I'm mistaken, that's not even legal code.  Generally speaking, I don't think we make many guarantees about the behavior of refactorings and code fixes on non-compiling code.

If you do it with a class instead (also illegal), you get newFunction(C: typeof C). 😄

The same thing happens for a nested function, which is legal.  I believe the issue is that rangeContainsRange is comparing the selection range to the full range of the declaration.  Since the selection does not contain the full range, we assume that it was declared elsewhere and try to pass it along.

Actually, namespaces are legal to appear anywhere a declaration would be. In that case they create a local variable, not a global variable.

@andy-ms, that seems reasonable.  Is there a switch or something I have to set to suppress/disable TS1235 (a namespace declaration is only allowed in a namespace or module)?

That is strange, I was seeing no error yesterday. Probably my services were failing but vscode doesn't tell me.  I wonder why we have this restriction, since namespaces are legal inside of a module (not global) and the emit for a namespace inside a function looks fine.


Semantic Training

Training pipeline should be running smoothly again with some new features.
Features:

More modular action- and observation space management
Retrieval and potential encoding of semantic information
New Reward function module
Fully documented code

These tasks remain:

Evaluate how many step world calls are necessary to fully update the simulation and how to reduce these steps.
Request global plan from the newly integrated mbf.
Test the throughput and speed of different components.

Depends on Rosnav-rl PR #15

@voshch Review needed


Fixing xmlnames

This PR fixes a number of issues:

GoForeignModule when the element is in a different namespace than the restriction
XMLName in cases there's a since element and its an abstract one; this solves TestType not unmrshalling any tests.

Second commit is fine and fixes the different namespaces of attributes from extension very well. I am tempted to merge just the second commit to get us closer to stability.
I am sorry for the merge conflicts.

The tests here pass, in scap they failed because they failed to pull the schemas? I'll take another look in the morning.

Thanks!


UUID validation fails when provided with 16-byte string

I'm trying to utilize fastapi + sqlalchemy which uses pydantic. My sqlalchemy column type is BINARY(16) mapping to that exact type in a MariaDB/MySQL database:
uuid = Column(BINARY(16), nullable=False, unique=True)
In pydantic I'm defining as:
uuid: UUID
I get an error thrown that the "value is not a valid uuid (type=type_error.uuid)".
I've cloned pydantic and included a new test for the following:
('uuid_check', b'\x12\x34\x56\x78' * 4, UUID('12345678-1234-5678-1234-567812345678')),
...which fails using your current code. You can find the test byte string above in the official python documentation. I've made a modification in validators to fallback to utilizing the bytes argument in UUID, and then the tests pass. I'm hoping you'd be interested in this fix, as its currently preventing us from using pydantic for a large project refactor. Thank you.

I might create a subclass of UUID following the Custom Data Types doc to be able to move forward with your project refactor. Something like this should work:
In [1]: from uuid import UUID

In [2]: from pydantic import BaseModel

In [3]: class BinaryUUID(UUID):
   ...:     @classmethod
   ...:     def __get_validators__(cls):
   ...:         yield cls.validate
   ...:
   ...:     @classmethod
   ...:     def validate(cls, v):
   ...:         if not isinstance(v, bytes):
   ...:             raise TypeError('bytes required')
   ...:
   ...:         return cls(bytes=v)
   ...:

In [4]: class TestUuid(BaseModel):
   ...:     uuid: UUID
   ...:     buuid: BinaryUUID
   ...:

In [5]: TestUuid(uuid='12345678123456781234567812345678', buuid=b'\x12\x34\x56\x78'*4)
Out[5]: TestUuid(uuid=UUID('12345678-1234-5678-1234-567812345678'), buuid=BinaryUUID('12345678-1234-5678-1234-567812345678'))

And if you would like to submit a PR with the fix or post the modification you made here for discussion, that would be welcome.

Thank you for the suggested workaround. I also created a PR in case it helps the project.


Update python version for boto3 macro

The boto3 macro is setup with python2.7 which is EOL and not even supported by SAM any longer which means it will fail to deploy to AWS.  Would be great if this macro can be updated with a newer supported version of python.
AWS CloudFormation Linter................................................Failed

- hook id: cfn-python-lint

- exit code: 2

E2531 Deprecated runtime (python2.7) specified. Updating disabled since 2021-09-30. Please consider updating to python3.8

template.yaml:5:3

We are archiving this repository in favor of similar content located here: https://github.com/aws-cloudformation/aws-cloudformation-templates/tree/main/aws/services/CloudFormation/MacrosExamples


79-2-spike-plan-supervisor-4-has-been-released-with-support-for-python-3

https://trello.com/c/tr4LFyYP/104-move-to-supervisor-4-using-python-3

Update to supervisor4.1.0 which runs on python3
Remove python2 install
Remove apt-transport-https and gnupg used in previous yarn install
Replace gcc, xz-utils and lib installs with build-essentials tools package
Remove unused git and make installs

This looks good - have you pushed any experimental images to e.g. preview yet?


sample 52 not work well on new teams version.

🚨 The issue tracker is not for questions 🚨
If you have a question, please ask it on https://stackoverflow.com/questions/tagged/botframework
[question]
hello, I create a message extension app as sample 52, I opened the message extension and select a herocard, the card never send out to the cannel. it seems that the dialog close soon before getting the search result.
my teams version is  <IP_ADDRESS>622, will you have a test

Hi @yetsmarch - I have posted this issue on Microsoft Teams repo. Please follow it here: https://github.com/MicrosoftDocs/msteams-docs/issues/2199


Aglaia - bug with byregot's spire and ai hints optimisation needed

builder (boss 1) - tankbuster shown is smaller than reality.
byregot's spire is incorrectly shown as originating from the center of his hitbox, indicating a false safezone right behind him. The attack is actually offset a little to cover the entire arena. Would also be nice if ai could go next to the safe spot and wait for the hammers to hit it out correctly.
rhalgr (boss 2) - rhalgr's beacon (knockback onto fingers), there's no indication of where to stand (visually and for ai) for the knockback to avoid being knocked off the arena
azeyma/naldthal - ai does not take the end position of either knockback into account

i tried to PR the byregots spire long time ago, but it didnt get accepted, it needs a back length of 2... will not help with the AI though. the whole arena needs to be reworked into a proper customarena and not the jank it currently is.
class HammersSpire(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ByregotSpire), new AOEShapeRect(50, 15, 2));


util/packer: Wait 60s before running provisioning scripts on EC2

The idea here is to try workaround the race that is causing the apt failures.
If it doesn't help will probably revert it but if it does I will try track down the actual root cause properly (it's just proven elusive).

Merged this for now, will revert if it doesn't seem to help.


Device Tracker Unavailable

I've been using the Node-Red flow to get data from the Tronity API until now, and this included the ability to track the device. The Node Red flow is available here if you wanted to take a look at how they're integrating it: https://flows.nodered.org/flow/8cbe02c96bd96d095f8cd4a790716487
The Device Tracker would be very handy.

I am still using the tronity tracker from node red, but just to show @hanno-tronity what is possible with tracker too.

@hanno-tronity
In addition to the previous post I add some recent vendor specific resources about adding a device tracker.
Possibly it will help to get a better idea an adapt it for Tronity:
HA example Renault
HA example Mazda
HA example BMW

Hey any update on the tracker @hanno-tronity

The tracker is being worked on and will be released soon! Thanks for your patience and support.

Tracker is available now!


How to get the content of a view from a previous modal?

I'm developing a global shortcut where I list some users with the button on each user. After clicking this button, another modal is opened with client.views_push to select an option.
After sending, I want it to go back to the previous modal, but with the button that was clicked now in another style, for example "Chossed".
It turns out that I have the id of that previous modal and I pass it via private_metada for later updating, but I can't access the view of the previous modal, where I need to update only the clicked button. I didn't find any method that brings the content of the view passing the id.
What would be the best way to do this?

Hello @hello-ashleyintech , thanks for the reply.
The problem is precisely when I call view_update. Because I need to inform the view parameter and I no longer have access to the first view. During view_update I only have access to the last view, which is a user selector.
The process I want is as follows:
List users > Select a user (button) > Open a modal where I choose a value coming from a userform > Go back to the start view with this user marked as ✓ Processed

@BSouzaDock ahh, I see. In that case, would it work for you to just skip the view_update and call views_push when the optional-specific modal is submitted? In the views_push, you can pass in that trigger_id and then a new Block Kit payload that is exactly like the first view, just with the selected user marked. This will not push that initial view updated, but rather a new view that just looks very similar with whatever changes you'd like to make to it.
Let me know if you have further questions!

I'll show you the flow for you to understand:

This is the first screen after activating the global shortcut:

After selecting the owner, all pending requests on his behalf are listed:

When clicking on change owner, a new modal is opened to change the owner of that request:

After sending the last modal, I would like to go back to listing modal with that item marked as processed, for example:

It happens that after choosing a new owner in the last modal, what I get is the body of that modal, and I no longer have access to the listing payload, so I lose the reference to which option was processed.
I can access the id of the modal listing to update because I pass it via private_metadata between the modals, but the body of the modal with the listing I cannot pass via private metadata because it has a limit of 3000 characters.

Hi, @BSouzaDock! Thanks for providing that information!
With the descriptions and flow you've provided, it seems like the main issues here are 1) Keeping track of the current owner whose info is being surfaced in the listing view, as well as 2) Keeping track of the Block Kit payload for the listing view modal, populated with that owner's information.
Based on my understanding for this, I have a general idea for an approach you could follow:

private_metadata: To preserve information of the current owner's ID as well as the ID(s) of their request(s) that have been assigned to a new owner within that modal session, you could pass these into private_metadata along with the ID of the listing modal.
Block Kit payloads: You can break out your Block Kit payloads for each view into separate JSON variables, the important one here being one for your listing view. For views that are dynamically populated, such as that one, you can iterate through this JSON and add in elements (ex: a specific user's assigned requests) as needed before passing it into a views_open, views_update, or any other function that requires a Block Kit view being passed in.
When you are looking to call views_update to surface the listing modal again, updated with the completed requests, you can fall back on the default listing modal JSON variable, and again dynamically populate the information with the currently selected user (using the ID pulled from private_metadata). You can also check, as you populate each request in the JSON, to see if the request IDs match ones that are being stored in private_metadata as being assigned to a new owner. If it does, you can surface a button with a "Completed" label.

However, as you mentioned, using private_metadata has a limitation with its 3000 character limit, so for long-term use, I recommend using some sort of database column to keep track of "completed" tasks for each user. This way, it can be queried along with the rest of the user's information and surface Block Kit items appropriately without having to use the private_metadata.
I hope this helps!

@hello-ashleyintech , Thanks for the answer.
As for storing the JSON payload in other variables, I don't know how that would be possible. Because each iteration of the user generates a new request, so he does not have access to the variables of the previous requests. I'm running this application on an aws lambda.
Unless you save the json body in a database as you mentioned.

@BSouzaDock that's a great point! In that case, you could either save the JSON body in a database as you mentioned, or keep those Block Kit payloads in JSON files that you load in wherever you need to access that specific payload.
Please let me know if you have further questions, I would be happy to help. If not, feel free to close out this issue!

Thanks. Another question came up but I'm going to create another topic.


Change keyserver and test keys

What

Change keyserver to keys.openpgp.org: keyserver.ubuntu.org has issues with newer subkeys
Add some make targets to allow checking the validity of the keys
Run the check keys action in a matrix to get prettier output
Ensure latest versions of keys are downloaded from the keyserver before generating the concourse vars file
Update the vars file to latest

New action is confirmed working: https://github.com/alphagov/paas-cf/actions/runs/4316593020/jobs/7532566289
How to review

Code review
test the make targets work correctly

🚨⚠ Please do not merge this pull request via the GitHub UI ⚠🚨

Looks good, only thing is I can't see the workflow running successfully anywhere.

example of the workflow running correctly (fails on a key not on the keyserver): https://github.com/alphagov/paas-cf/actions/runs/4375969470

👍


[fix] hook functions don't need a ; at the end

This change hopefully breaks tests. ;-)

Thank @lookfirst , merged and fixed tests.


Select other classLoader

This PR:

Get Play classLoader if exists
Get runtime libraries lazily.

@dialelo Can you review please?

LGTM :+1:

Merging this in order to aggregate all the projects and have Travis give us :green_heart: again.


Public Announcements are Not visible in user worskpace.

In sakai 2.9.1, Announcement tool not working properly, i have created public announcement but users are not received it.

Hi, this is really for bugs and features. Could you please email<EMAIL_ADDRESS>(join at groups.apereo.org). Thanks.


Add Spreaker

Spreaker is a full remote company founded in Italy in 2010, running a full-remote international team since 2015. We are  in the podcasting industry providing an hosting, distribution and monetization platform for content creators.

Thanks for adding Spreaker, it looks like a really interesting project


Can't show image for special HTTPS

https://dn-youplus-app2.qbox.me/o_1bck0nfjb29rbitku01s8k1q3ec.jpg
This image I can't show in my ImageView, But another HTTPS URL can show, I don't know why.

can you test this url in the demo project?

I know now~ it's my sdwebimage version is not new. OMG!   My version is '3.7.3' , It can't load this URL, but the new version can load. Thanks bro!

👍


make sure the update of manifestwork is working

Signed-off-by: Ian Zhang<EMAIL_ADDRESS>

/lgtm


Could not find br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.7.6.

Failed to install the app. Command failed with exit code 1: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'. > Could not find br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.7.6. Required by: project :app * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 15s.

@FaelN1 you can use the latest version:
implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.28.2'


tvg_saver TvgBinInterpreter: Prevent misaligned memory access

When parsing a binary stored as a char type,
interpreter can access the misaligned memory while accessing it with a pointer.
To prevent that, pass the array copied to memcpy as tvg Object.
issue: https://github.com/Samsung/thorvg/issues/1074

@JSUYA thanks!


Fixed batched Spike overlay extents bug

Fixes https://github.com/ioam/holoviews/issues/1480, the SpikePlot was iterating over the current_frame in batched mode for no reason causing issues when the plot was overlaid and the current_frame isn't initialized.

Looks good. Merging.


Events that span weeks in sibling months days can duplicate.

In some cases, if an event spans the final week of the month, toggling between the two months can cause the event to duplicate on the calendar, causing an overflow.
The duplicated event doesn't highlight properly.
This is demonstrated in the Storybook demo during March 2022.
I think this may be related to the initial month that is selected, rather than the display of events.

Issue was with event weeks having strongly distinct IDs, so React wasn't cleaning them up properly. Using ephemeral IDs ensures that the component is destroyed when navigating between months.


[BUG] - isReadOnly not supported in Dynamic items in Autocomplete

NextUI Version
2.0.10
Describe the bug
In dynamic items, children is not an array type but CollectionChildren  causing TypeError: children.map is not a function
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue

use autocomplete with isReadOnly and dynamic items

Expected behavior

able to render

Screenshots or Videos
No response
Operating System Version
macOS
Browser
Chrome

It was related to my last change. I'll handle this ticket.


Error when run Balance sheet date 31/12/2015

ascii' codec can't encode character '\u2013' in position 14: ordinal not in range(128)

https://github.com/nfco/netforce/commit/abcb7a673f2a072bd6565b51cbd2b0100a82ebde


MDBottomNavigation: How to get the current selected index?

Hi,
how can I get the current selected index?
This is what I tried so far:
    <MDBottomNavigation
      :selectedIndex="selectedIndex"
      @selectedIndexChanged="selectionChanged"
    >

...

export default {
  data() {
    return {
      selectedIndex: 0,
    };
  },
  methods: {
    selectionChanged(event) {
      console.log("change selection");
      console.log(this.selectedIndex);
    },
  },
};

Selected index is always 0. The event is fired correctly. Not sure if this is a bug or I do it the wrong way.

@sowinski what you do wont update the selectedIndex prop. This is not a component problem. It is  an issue with understanding how vue works. Either use v-model or in your selectionChanged set this.selectedIndex = event.value


[Feature request] Provide a DecorationImage alternative

It would be nice if we could use Avif images for a DecorationImage. I realize I can just provide a MemoryAvifImage to it but we're already providing https://pub.dev/packages/cached_network_image to it to cache our network images rather than constantly retrieving them every time we show the widget. I can use that package in combination with a regular AvifImage but in this case a DecorationImage is needed, but I'd still like it to be an Avif image and cache it :wink:

It is possible to use avif files with a DecorationImage. I didn't put them in readme but the library has four image providers (FileAvifImage, AssetAvifImage, NetworkAvifImage, MemoryAvifImage) that you can supply to a DecorationImage.
import 'package:flutter_avif/flutter_avif.dart';

DecorationImage(
  image: NetworkAvifImage(
    'https://ezgif.com/images/format-demo/butterfly.avif',
  ),
)

I don't think you can use cached_network_image in combination to flutter_avif because their image loader uses native decoder of the platform. What we can do to cache avif images is we can implement CachedNetworkImage and CachedNetworkImageProvider with avif decoder. Then you can use the new cached image provider with a DecorationImage.

Any progress on this? Caching is a very essential feature for image handling. The benefits of AVIF are not worth the loss of caching compared to its competitors. That functionality is pretty essential to my project.

Checkout https://github.com/yekeskin/cached_network_avif_image. You can either add the repository as a git dependency or just copy the cached_network_avif_image.dart file directly into your project. You can use the CachedNetworkAvifImage widget in place of CachedNetworkImage and CachedNetworkAvifImageProvider instead of CachedNetworkImageProvider.
Hope this helps.

That absolutely helps, thank you so much! I'd propose to add that information to the README of this library, though, I might not be the only one having that question.
May I ask why you did not directly include it into this library?

Initially, I believed network caching to be out of the scope of this package so I planned to publish it as a separate package.
But thinking now, including it into this package would simplify maintenance and would be helpful to the users so I might do it as part of the next release.

I'd absolutely agree with that. As this library basically poses as a solution to the request "Full support of AVIF in Flutter", I'd assume all of the common, everyday use cases of images in Flutter would be provided, surely including the caching of images. Image caching should be one of if not the most important functionality for image handling there is, considering that most apps necessarily have to retrieve a big part of their content from remote servers.


Reading Exif data is not supported by this PHP installation.

Laravel version
9.19.0
PHP version
8.0.21
Voyager version
1.6
Database
mysql 8
Description
when i upload any photo using media manger or uploading any photo on sitting i got this error (Reading Exif data is not supported by this PHP installation.)
Steps to reproduce
.
Expected behavior
i think the voyager admin panel using extension exif and it missing
Screenshots

Additional context
No response

You need to install/enable the appropriate php extension on your server.  I don't remember offhand if it's literally exif or imagegd or something else, but should be easily google-able

You are missing the Fileinfo PHP extension which is required by Laravel: https://laravel.com/docs/9.x/deployment#server-requirements


New Feature: Panic Mode

Inspired by: OWASP User Privacy Protection Cheat Sheet
If wallets are placed into encrypted volumes, panic mode can load fake decoy watch-only wallets if the user entered their distressed password. The key origin information can be spoofed. These could be sub-accounts of the real master-seed for recovery purposes.
Loading a private_keys_enabled wallet is more difficult as in order to look like the real wallet, the master xprv needs to be in the descriptors, which means grinding for master xprvs to match the real one's fingerprint.
"Adversaries must have no way to know a panic mode already exists..." this means while the feature would be opt-in, every user whether they set-up panic mode or not, would have to have enough encrypted volumes created for plausible deniability of those who do use it.
I can possibly use Veracrypt Hidden Volumes for this. It must be able to be created and decrypted without an administration password setup.
"The password for the hidden volume must be substantially different from the password for the outer volume."
This applies regardless of if I use LUKS2 volumes or Veracrypt. A good default would be for people who do NOT use panic mode to have to enter their Persistent Storage Passphrase to Load their wallets. Then users who want a Panic Mode can create a "substantially different" passphrase for their Real wallet and an attacker will see the Fake wallet with the default passphrase.

ACK

These could be sub-accounts of the real master-seed for recovery purposes.

How would this work? Would distress sub-accounts be visible to the user in the standard wallet or only relevant for a recovery/sweep of funds? By sub-accounts, are you referring to a custom HD derivation path.

grinding for master xprvs to match the real one's fingerprint

How much of a time expensive would grinding be?

every user whether they set-up panic mode or not, would have to have enough encrypted volumes created for plausible deniability

Good design choice.

The reason the fingerprint should match the real wallet is the new #72 uses the bip32 fingerprint in bech32 as a default identifier for codex32 strings. If the extortioner had access to a share and your Persistent Storage, he would know your wallet is probably a fake if the identifier didn't match the share. Although you can set custom identifiers and you can manually fake your own key origin info, or say the codex32 shares are not yours, these are not the most plausible denials for the mismatch.

For decoy wallets, when the user has the default share identifier, we will brute force the next BIP85 derived extended private master key that has the same identifier, that way decoys can spend without giving away that they are decoy wallets.

Note: clear text wallets will be removed from the Beta in order to cheaply get clone for a friend functionality. The best way to clone is just always encrypt all your sensitive wallet data then the root of the Persistent Storage is safe to share.
Before a wallet is created or restored, the user will be asked to create a new vault if the wallet name doesn't specify a vault that is already open. This allows one to have multiple wallets in a specific vault for convenience. Possibly not specifying a vault name just the wallet name, makes the root of the encrypted file system labeled as wallet name its wallet folder.

The code in install-core has been commented where this will affect it. The current design will be to create a symlink to /media/$USER named wallets in the datadir. Alternatively, walletdir=/media/$USER could be set in Bitcoin.conf.
There will be no option to not have encrypted wallets. That way we get the clone feature easily right after this is in.

Users need to choose a passphrase to encrypt their vaults.
The overall strength of the encryption depends strongly on this passphrase, so they should take care to choose a passphrase that is not easy to guess. It should not be a word or sentence found in dictionaries, or a phrase that could be easily associated with you.
A good passphrase will contain a mixture of letters, numbers and punctuation. Passphrases are recommended to have a length of 20 or more characters.
We should also show a zxcvbn entropy estimate of the passphrase. Including the difference between other passphrases already in use.
Giving a diceware suggestion would also likely be helpful.


[Question] Reading arrays in compound dataset?

Hi! I'm wondering if there are any examples or support for reading arrays in a compound dataset?
Something like this:
internal struct QUAD_CN
{
    public int ID;
    public string TERM; // length: 8
    public int[] GRID; // length: 5
    public float[] FD1; // length: 5
}

This is a message I post to all recent issues: I have just renamed the project from HDF5.NET to PureHDF for my preparations of a soon to come beta release. Please note that the Nuget package name has also changed and can be found here now: https://www.nuget.org/packages/PureHDF.


Record flow declaration does not follow Map

It seems that the Record type is completely under documented. Both in the documentation and flow files.
Since the Record type is an extension of the Map type (contains getIn, hashCode, etc.) I think this should be better documented to avoid confusion.

I've run into this as well when using Flow. I've yet to find a good way of typing immutable objects the same way one can type the shape of plain JS objects.

@iansinnott Immutable.Record (as opposed to Immutable.Map) is completely describable by Flow.
type MyRecord = Immutable.Record<{ id: number, name: string }>;

const MyRecord = Immutable.Record({ id: 0, name: undefined });

The problem is that while the Immutable declaration declares it as an Immutable.Record type it doesn't extend the Map type.

Yeah I think we're talking about the same thing. It becomes an issue because although the shape of the record is typed it doesn't have the get, getIn, etc, methods which one usually uses. So flow ends up throwing invalid errors.

Will be fixed in the upcoming release


 After ~3 the cursor jumps to the bottom of the editor.
I feel like this has something to do with the setState value/set being shared/reused with the editor, i.e. the value of the editor is set via setCCode. If the call to setCCode is removed, then the problem disappears - however the value of cCode is not set so the value being past to the compiler, so it's not a solution.

I can't reproduce this on Safari

I've also been seeing this, (Chrome 92.0.4515.131 on Ubuntu 16.04.7).
I think it happens when the diff/error pane reloads? It seems to happen reliably when it switches from a diff to an error (but I can still repro it sometimes when it stays a diff or error). The timing also lines up. I also can't reproduce it on https://decomp.me/scratch .

To update, this happens when you just type two characters in rapid succession. You can reproduce it by just pressing two keys at the same time.

@zbanks found the fix, decouple value and use defaultValue instead:
--- a/frontend/src/scratch/Editor.jsx
+++ b/frontend/src/scratch/Editor.jsx
@@ -41,7 +41,7 @@ export default function Editor({ forceLoading, value, onChange, padding }) {
                     wordWrap: "on",
                     padding: padding ? { top: 30, bottom: 30 } : {},
                 }}
-                value={value}
+                defaultValue={value}
                 onChange={onChange}
             />
         </div>

@mkst This was originally my fix, too. But it breaks other things so it was reverted, e.g.:

fork a scratch; note the c code
edit the c code
save
press back in browser
Notice the c code does not revert back to what it was pre-fork!


[master] Correct Linux manpages + desktop files

Same as https://github.com/Redot-Engine/redot-engine/pull/887 + desktop file corrections.

This is already handled by #804


Rename isAuthenticated variable

The variable isAuthenticated has to be one of the most popularly used however traditionally "is" in variable names is a boolean whereas this variable is either a string or false.
Rename to something more fitting and easier to understand to new devs.

Current proposal is currentUser

@H34D suggested to create a base class that gets extended by all or required classes.
We could add darkMode and isAuthenticated ?!

@H34D suggested to create a base class that gets extended by all or required classes.
We could add darkMode and isAuthenticated ?!

Out of scope for this issue, make a new one if @H34D hasn't already made one with this suggestion. Thought I saw a PR for it.
We'll lock in currentUser then.
This issue can remain open till we've made this change.
@sirius651 Wanna have a crack?

@H34D suggested to create a base class that gets extended by all or required classes.
We could add darkMode and isAuthenticated ?!

Out of scope for this issue, make a new one if @H34D hasn't already made one with this suggestion. Thought I saw a PR for it.
We'll lock in currentUser then.
This issue can remain open till we've made this change.
@sirius651 Wanna have a crack?

Sure, let me see


no documents on how to start the service

I don't see anything about starting the running the service
sudo /root/tmp_cambridge/config.json
sudo: /root/tmp_cambridge/config.json: command not found

Doc exists at: https://github.com/blandinw/cherry#using


A problem can not read 'exportMetadata.zip', when importing accumulo table.

Hi
I tested to import accumulo table at the same Environment of hdfs using all way which let me know before. In result, i got a new error message when importing Accumulo table at last phase.
It can't read 'exportMetadata.zip' already 'distcp'ed in hdfs. i'd attached shot the error came out. I'd checked that hdfs url was working and that zip file existed in hdfs. but nothing special. it was all ok.
As far as I know Accumulo looks for file using hdfs url.  right? then i have no idea why accumulo said he couldn't read that 'Metadata.zip' and replied 'null'. Did you know what is problem to come out this error message? And for fixing up, Did i need to change the files in 'exportMetadata.zip' to the dest. hdfs info like InstanceID, zookeeper ip  etc?
Please let me know how to fix up?

what do you get if you do

hadoop -fs -ls hdfs://ofbdas-nd1.ofbdas.go.kr:8020/tmp/distch

do you have more that one namenode? I believe the files to be in hdsf, not the local file system, and they need to be in the same namespace as accumulo.
Does the accumulo user that the shell is running have the necessary permissions? (you may try to use the rfile-info utility (https://accumulo.apache.org/1.9/accumulo_user_manual.html#_tools) to try to read one of the rfiles - maybe that will provide more information)
the command

importtable importtest /tmp/distcdh

seems to be the correct format - maybe try giving the fully qualified path to the directory - i.e. hdfs://ofbdas-nd1.ofbdas.go.kr:8020/tmp/distch  (or whatever it really is)

Can you do the following in the accumulo shell?  This may give more info.
debug on
importtable <table> <dir>

Also can you do the following to see if the zip file is ok?
hdfs dfs -copyToLocal hdfs://ofbdas-nd1.ofbdas.go.kr:8020/tmp/distcdh/exportMetadata.zip /tmp/exportMetadata.zip
unzip -l /tmp/exportMetadata.zip

Can you look in the Accumulo master logs around the time you did the import to see if there are ERROR or WARN messages?

Thank you for ur answer but sorry i have master log and i have to fix up accumulo-zookeeper error first.


FrontEnd: CLI get stuck for CREATE TABLE query

Describe the bug
Not able to create the table after the DB get few MVs.
image tag -  v<IP_ADDRESS>
Logs - https://ap-southeast-1.console.aws.amazon.com/cloudwatch/home?region=ap-southeast-1#logsV2:log-groups/log-group/$252Faws$252Fecs$252Fworkflow-engine-lg/log-events/rls-apse1-mgmt$252Fworkflow-engine-task$252F0e26caadf93d487896e57e4712384481
To Reproduce
We have the below tenant:
psql "postgres://dev:dev@rls-apse1-eks-a.risingwave-cloud.xyz:4566/dev?options=--tenant%3Drwc-6-release-testing"
And stressed the DB with some load and having few MVs:
dev=> SHOW MATERIALIZED VIEWS;
     Name
--------------
 nexmark_q7
 nexmaark_q71
 nexmaark_q7
(3 rows)

Then tried to create few tables as below:

dev=> create table t1 (v1 int, v2 int);
ERROR:  QueryError: internal error: table or source is in creating procedure
dev=> insert into t1 values(1, 2);
ERROR:  QueryError: Catalog error: table not found: t1

It stuck for forever.
Expected behavior
No response
Additional context
No response

hit the same issue on today's build.
CREATE MATERIALIZED VIEW nexmark_q5
AS
SELECT
    AuctionBids.auction, AuctionBids.num
FROM (
    SELECT
        bid.auction,
                count(*) AS num,
        window_start AS starttime
    FROM
        HOP(bid, date_time, INTERVAL '2' SECOND, INTERVAL '10' SECOND)
    GROUP BY
        window_start,
                bid.auction
) AS AuctionBids
JOIN (
        SELECT
                max(CountBids.num) AS maxn,
                CountBids.starttime_c
        FROM (
                SELECT
                        count(*) AS num,
                        window_start AS starttime_c
                FROM HOP(bid, date_time, INTERVAL '2' SECOND, INTERVAL '10' SECOND)
                GROUP BY
                        bid.auction,
                        window_start
                ) AS CountBids
        GROUP BY
                CountBids.starttime_c
        ) AS MaxBids
ON
        AuctionBids.starttime = MaxBids.starttime_c AND
        AuctionBids.num >= MaxBids.maxn;

^C^C^C^C^C^C^C^C

^CCancel request sent
Cancel request sent
^C^CCancel request sent
^CCancel request sent
^CCancel request sent
Cancel request sent

So, the pull request https://github.com/risingwavelabs/risingwave/pull/6634 has been cherry picked and merged to the release branch i.e. v0.1.14-rc.

There're two possible ways might cause this problem:

deadlock in LRU cache, should be fixed in #6634 .
the system is in recovering with some of the CNs lost forever like #6639 . After #6651, it will report error rather than get stuck. Could you please check all components status especially compute nodes and provide more logs.

Could you please share the setup details and logs informations ? @HuaHuaY , PTAL.

2. feat(meta): reject ddl with streaming jobs when recovering #6651

Does it mean that https://github.com/risingwavelabs/risingwave/pull/6651 should also be merged into v0.1.14-rc?

#6634 doesn't fully cover the issue？cc @BugenZhao

feat(meta): reject ddl with streaming jobs when recovering #6651

Does it mean that #6651 should also be merged into v0.1.14-rc?

Yes, I think so. It can help to expose the problem if indeed it's cause by some lose of CNs.

@yezizp2012
I couldn't find any related logs, so I am attaching the all the logs:
╰─> kubectl logs -n rwc-3-sushant3node risingwave-frontend-6d7bfb75c9-jq5fj
launching frontend node
2022-11-30T07:57:41.776482Z  INFO risingwave_rt: setting tokio worker threads to 8
2022-11-30T07:57:41.777141Z  INFO risingwave_frontend::session: Starting frontend node with
frontend config FrontendConfig { server: ServerConfig { heartbeat_interval_ms: 1000, max_heartbeat_interval_secs: 600, connection_pool_size: 16 } }
batch config BatchConfig { worker_threads_num: None, developer: DeveloperConfig { batch_output_channel_size: 64, batch_chunk_size: 1024, stream_enable_executor_row_count: false, stream_enable_managed_cache: true, stream_connector_message_buffer_size: 16, unsafe_stream_hash_agg_cache_size: 65536, unsafe_stream_join_cache_size: 65536, unsafe_stream_extreme_cache_size: 1024, stream_chunk_size: 1024 } }
2022-11-30T07:57:41.777215Z  WARN risingwave_frontend::session: Client address is not specified, defaulting to host address
2022-11-30T07:57:41.777233Z  INFO risingwave_frontend::session: Client address is <IP_ADDRESS>:4567
2022-11-30T08:27:30.679980Z  INFO risingwave_frontend::scheduler::hummock_snapshot_manager: Unpin epoch<PHONE_NUMBER>530880 with RPC
2022-11-30T08:27:41.780845Z  INFO risingwave_frontend::scheduler::hummock_snapshot_manager: Unpin epoch<PHONE_NUMBER>884416 with RPC
2022-11-30T08:28:11.781234Z  INFO risingwave_frontend::scheduler::hummock_snapshot_manager: Unpin epoch<PHONE_NUMBER>266880 with RPC
2022-11-30T08:28:21.781513Z  INFO risingwave_frontend::scheduler::hummock_snapshot_manager: Unpin epoch<PHONE_NUMBER>556416 with RPC
2022-11-30T08:28:51.781454Z  INFO risingwave_frontend::scheduler::hummock_snapshot_manager: Unpin epoch<PHONE_NUMBER>714880 with RPC
2022-11-30T08:29:21.781470Z  INFO risingwave_frontend::scheduler::hummock_snapshot_manager: Unpin epoch<PHONE_NUMBER>411008 with RPC
2022-11-30T08:29:41.781421Z  INFO risingwave_frontend::scheduler::hummock_snapshot_manager: Unpin epoch<PHONE_NUMBER>025472 with RPC
2022-11-30T09:38:15.042409Z ERROR risingwave_frontend::session: failed to handle sql:
CREATE MATERIALIZED SOURCE person (
    "id" BIGINT,
    "name" VARCHAR,
    "email_address" VARCHAR,
    "credit_card" VARCHAR,
    "city" VARCHAR,
    "state" VARCHAR,
    "date_time" TIMESTAMP,
    "extra" VARCHAR,
    PRIMARY KEY (id)
) with (
    connector = 'nexmark',
    nexmark.table.type = 'Person',
    nexmark.split.num = '12',
    nexmark.min.event.gap.in.ns = '0'
) ROW FORMAT JSON;:
Catalog error: source with name person exists

╭─sushantgupta@Sushants-MacBook-Pro in ~ via 🐳 desktop-linux via 🐍 v3.10.8 on ☁  (ap-southeast-1)
╰─>

╰─> kubectl logs -n rwc-3-sushant3node risingwave-meta-74c65786bb-5g87t
launching meta node
2022-11-30T07:57:00.700195Z  INFO risingwave_rt: setting tokio worker threads to 8
2022-11-30T07:57:00.701019Z  INFO risingwave_meta: Starting meta node with config MetaNodeConfig { streaming: StreamingConfig { barrier_interval_ms: 250, in_flight_barrier_nums: 40, checkpoint_frequency: 10, minimal_scheduling: false, worker_node_parallelism: 8, actor_runtime_worker_threads_num: None, total_memory_available_bytes:<PHONE_NUMBER>6, developer: DeveloperConfig { batch_output_channel_size: 64, batch_chunk_size: 1024, stream_enable_executor_row_count: false, stream_enable_managed_cache: true, stream_connector_message_buffer_size: 16, unsafe_stream_hash_agg_cache_size: 65536, unsafe_stream_join_cache_size: 65536, unsafe_stream_extreme_cache_size: 1024, stream_chunk_size: 1024 } } }
2022-11-30T07:57:00.701042Z  INFO risingwave_meta: Starting meta node with options periodic_compaction_interval_sec: 60, enable_compaction_deterministic: false
2022-11-30T07:57:00.701046Z  INFO risingwave_meta: Meta server listening at <IP_ADDRESS>:5690
2022-11-30T07:57:00.704250Z  INFO risingwave_meta::barrier::schedule: Starting barrier scheduler with: checkpoint_frequency=10
2022-11-30T07:57:00.704272Z  INFO risingwave_meta::barrier: Starting barrier manager with: interval=250ms, enable_recovery=true, in_flight_barrier_nums=40
2022-11-30T07:57:00.704344Z  INFO risingwave_common_service::metrics_manager: Prometheus listener for Prometheus is set up on http://<IP_ADDRESS>:1250
2022-11-30T07:57:00.704514Z  WARN risingwave_common::util::epoch: New generate epoch is too close to the previous one.
2022-11-30T07:57:00.704610Z  WARN risingwave_common::util::epoch: New generate epoch is too close to the previous one.
2022-11-30T07:57:00.704698Z  INFO risingwave_meta::hummock::compaction_scheduler: Start compaction scheduler.
2022-11-30T07:57:12.301496Z  INFO risingwave_meta::hummock::compactor_manager: Added compactor session 1
2022-11-30T07:57:41.821164Z  INFO risingwave_meta::hummock::compactor_manager: Added compactor session 1
2022-11-30T08:27:28.657592Z  INFO risingwave_meta::stream::source_manager: spawning new watcher for source 1001
2022-11-30T08:27:28.765728Z  INFO risingwave_meta::stream::source_manager: spawning new watcher for source 1004
2022-11-30T08:27:28.997952Z  INFO risingwave_meta::stream::source_manager: spawning new watcher for source 1007
2022-11-30T08:28:01.535025Z  INFO risingwave_meta::hummock::vacuum: Finish vacuuming SSTs [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 58, 60, 61]
2022-11-30T08:28:30.922438Z  INFO risingwave_meta::hummock::vacuum: Finish vacuuming SSTs [9, 19, 29, 71, 73, 81, 83, 91, 93]
2022-11-30T08:29:01.092491Z  INFO risingwave_meta::hummock::vacuum: Finish vacuuming SSTs [59, 70, 104, 106, 108, 110, 111, 112, 113, 114, 115, 116, 119, 120, 122, 123, 124, 125, 129, 131, 135, 137, 139]
2022-11-30T08:29:31.019248Z  INFO risingwave_meta::hummock::vacuum: Finish vacuuming SSTs [55, 56, 72, 74, 77, 82, 84, 86, 92, 95, 103, 105, 107, 109, 133, 134, 136, 138, 140, 141, 142, 560]
2022-11-30T08:30:01.758113Z  INFO risingwave_meta::hummock::vacuum: Finish vacuuming SSTs [40, 62, 63, 64, 65, 67, 68, 69, 75, 76, 79, 85, 87, 94, 118, 121, 126, 127, 130, 132, 143, 144, 145, 146, 148, 150, 341, 344, 346, 348, 350, 362, 364, 370, 490, 571, 731, 732, 733, 734, 735, 736, 737, 739, 740, 1802, 1926, 1930, 2001, 2002, 2005, 2007, 2009, 2010, 2132, 2135, 2138]

╭─sushantgupta@Sushants-MacBook-Pro in ~ via 🐳 desktop-linux via 🐍 v3.10.8 on ☁  (ap-southeast-1)
╰─> kubectl logs -n rwc-3-sushant3node risingwave-compactor-59c8544d76-6zxgd
2022-11-30T08:29:47.804275Z  INFO risingwave_storage::hummock::compactor: Finished compaction task in 5445.383908ms:
Compaction task id: 161, target level: 6
Compaction watermark:<PHONE_NUMBER>025472
Compaction target_file_size: 33554432
Compaction # splits: 1
Compaction task status: Success
Compaction Sstables structure:
Level 5 ["[id: 740, 32385KB]", "[id: 1926, 32385KB]", "[id: 2001, 32385KB]", "[id: 2135, 32385KB]", "[id: 2138, 32385KB]"]
Level 6 ["[id: 144, 32385KB]", "[id: 146, 32385KB]", "[id: 341, 32385KB]", "[id: 344, 32385KB]", "[id: 346, 32385KB]", "[id: 348, 32385KB]", "[id: 350, 32385KB]", "[id: 362, 32385KB]", "[id: 364, 3896KB]", "[id: 145, 32385KB]"]
Compaction task output:
SstableInfo: id=2188, KeyRange=["000003ea000080000000000006c5000c3ceb1c260000","000003ea070080000000000ad205000c3ceb2ae70000"], size=32385KB
SstableInfo: id=2253, KeyRange=["000003ea070080000000000ad21c000c3ceb26ff0000","000003ea0e00800000000015a1be000c3ceb35a60000"], size=32385KB
SstableInfo: id=2364, KeyRange=["000003ea0e00800000000015a40e000c3ceb3b820000","000003ea15008000000000207549000c3ceb4e0f0000"], size=32385KB
SstableInfo: id=2369, KeyRange=["000003ea15008000000000207550000c3ceb4e0f0000","000003ea1c0080000000002b50eb000c3ceb54e50000"], size=32385KB
SstableInfo: id=2415, KeyRange=["000003ea1c0080000000002b50f2000c3ceb55df0000","000003ea2300800000000036c7ca000c3ceb686e0000"], size=32385KB
SstableInfo: id=2418, KeyRange=["000003ea2300800000000036c7d3000c3ceb78560000","000003ea2a00800000000047551f000c3ceb81200000"], size=32385KB
SstableInfo: id=2792, KeyRange=["000003ea2a008000000000475b80000c3ceb85690000","000003ea3200800000000007b7c4000c3ceb24110000"], size=32385KB
SstableInfo: id=2794, KeyRange=["000003ea3200800000000007b7dd000c3ceb26060000","000003ea390080000000001273bd000c3ceb30c30000"], size=32385KB
SstableInfo: id=2796, KeyRange=["000003ea3900800000000012760d000c3ceb34ab0000","000003ea400080000000001d8583000c3ceb463f0000"], size=32385KB
SstableInfo: id=2798, KeyRange=["000003ea400080000000001d859a000c3ceb492d0000","000003ea4700800000000028bf4d000c3ceb59c70000"], size=32385KB
SstableInfo: id=2799, KeyRange=["000003ea4700800000000028bf54000c3ceb50fd0000","000003ea4e00800000000033287c000c3ceb62920000"], size=32385KB
SstableInfo: id=2800, KeyRange=["000003ea4e008000000000332dcc000c3ceb61980000","000003ea55008000000000426535000c3ceb7c3f0000"], size=32385KB
SstableInfo: id=2911, KeyRange=["000003ea55008000000000426b81000c3ceb8bdd0000","000003ea5d00800000000004b578000c3ceb20290000"], size=32385KB
SstableInfo: id=2912, KeyRange=["000003ea5d00800000000004bbcc000c3ceb20290000","000003ea640080000000000f14e5000c3ceb31be0000"], size=32385KB
SstableInfo: id=2913, KeyRange=["000003ea640080000000000f14fc000c3ceb2cdb0000","000003ea6500800000000005f908000c3ceb23170000"], size=3853KB

2022-11-30T08:30:00.706358Z  INFO risingwave_storage::hummock::vacuum: Try to vacuum SSTs [40, 62, 63, 64, 65, 67, 68, 69, 75, 76, 79, 85, 87, 94, 118, 121, 126, 127, 130, 132, 143, 144, 145, 146, 148, 150, 341, 344, 346, 348, 350, 362, 364, 370, 490, 571, 731, 732, 733, 734, 735, 736, 737, 739, 740, 1802, 1926, 1930, 2001, 2002, 2005, 2007, 2009, 2010, 2132, 2135, 2138]
2022-11-30T08:30:01.758785Z  INFO risingwave_storage::hummock::vacuum: Finished vacuuming SSTs

We haven't supported canceling creating materialized views yet, so pressing ^C does not help. :( Could you please confirm that we're stuck by starting a new psql session and typing "flush;"? If there's indeed no progress, could you also please provide the output of risectl trace?

I can connect with psql "postgres://dev:dev@rls-apse1-eks-a.risingwave-cloud.xyz:4566/dev?options=--tenant%3Drwc-3-sushant3node", and flush also get stuck. 🥵  could you please also attach the logs of all compute nodes? And check whether they're alive?

risectl_compute_0_log.txt
risectl_compute_1_log.txt
risectl_compute_2_log.txt
Three computes' risectl trace logs.

As per as discussion with @sumittal, this issue is fixed, we can close this.

So what happened before? 🤔

Ok, So there are 2 different issues:

this issue where I used the existing setup and somehow the commands were getting stuck but could not reproduce the same on other setups, and also did not encounter this issue again.
this issue is related to the materialized view creation state, where we cannot cancel it using Cntl-C which is already opened and scheduled for future to fix.

So, we can closed the first one unless can be reproduced. @BugenZhao


Allow for separation of activity matching from activity creation in scheduling eDSL

Tickets addressed: #751 #782
Review: By commit
Merge strategy: Merge (no squash)

Description

In this PR, we provide an optional activityFinder for each eDSL goal. If passed, it is used for activity matching, replacing the activity template.
This activityFinder is an ActivityExpression that can match on activity type and also parameters. Users may only define a subset of the parameters they are looking for and the expression will match all activities that have a superset of these defined parameters.
Let's say the parameters of an activity X looks like that:
A : "1"
B : { C: "2" D: "3}
E : "4"

Then if the user specifies the following parameters in the activity finder :
{ A:"1"} will match X
{A : "1", B : { C: "2"}} will also match X
{A : "1", B : { C: "4"}} will not match X
Verification

New tests
Documentation

[ ] I have to update the scheduling eDSL doc
Future work

More operators on ActivityExpression other than parameter equality

This activityFinder is an ActivityExpression that can match on activity type and also parameters. Users may only define a subset of the parameters they are looking for and the expression will match all activities that have a superset of these defined parameters.

Can a user define only a type and no parameters? Or do they always need to define parameters?

This activityFinder is an ActivityExpression that can match on activity type and also parameters. Users may only define a subset of the parameters they are looking for and the expression will match all activities that have a superset of these defined parameters.

Can a user define only a type and no parameters? Or do they always need to define parameters?

Type-only expression works, yes.


Added Private Endpoint

Change(s):

Updated Queries/orphan-resources-queries.md
Updated Workbook/Azure Orphaned Resources v2.0.workbook
Updated Workbook/Azure Orphaned Resources v2.0.json
Updated README.md

Reason for Change(s):

Added new resource type, Private Endpoint

Testing Completed:
☑ Yes
Validated if the query was working correctly

Hi @dolevshor, it's me again
I added private endpoints to the workbook, only those with the "disconnected" state

Hi @include-caio ,
Thanks for your contribution!
I'll make sure to go over it today and merge the PR.


Facebook Graph API agent

Hey guys,
I've put together a rudimentary Facebook Graph API agent (really easy with the Koala gem https://github.com/arsduo/koala). However the Facebook Oauth is a bit complicated as they don't link your app to your Facebook account, you must do this through their authorisation process (pop up a request for app authorisation and then get the token via a callback url). I'm wondering what the best way to do this in Huginn is.
Put a button in the Facebook agent show page and have the callback to the agent show page with an extra url path attached and modify routes.rb? Not sure if this fits the design of Huginn (would be better in the agent edit view? Or somehow in the credentials view?) Any other ideas?
At the moment you can request a token via the Graph Explorer, but these are short term tokens and only last 2h as far as I can tell.

What functionality of the graph API are we talking about using?

This what I did to post to Facebook with the Post Agent,
https://developers.facebook.com/apps/
Click Add new app
Create a New App ID

Get started integrating Facebook into your app or website
Display Name: The name you want to associate with this App ID
Contact Email<EMAIL_ADDRESS>
By proceeding, you agree to the Facebook Platform Policies     Cancel   Create App ID

Click Create App ID
Click Dashboard
Copy your API Version, App ID and App Secret
API Version: v2.8
App ID:<PHONE_NUMBER>12345
App Secret: ●●●●●●●● Show

Click Settings Basic
Add some terms of service...
Privacy Policy URL: https://www.google.com/policies/privacy/
Terms of Service URL: https://www.google.com/policies/terms/

Add a Category.
Category: Apps for pages

Click Settings Advanced, turn on allow API Access to App Settings.
Allow API Access to App Settings
Set to No to prevent changes to app settings through API calls

Find your Facebook Page ID
1. Go to your page
2. Click " Settings "
3. Click " Page Info "
4. you can see " Facebook Page ID "

Generate an Access Token.
you can do this from the terminal:
curl -X GET /oauth/access_token
    ?client_id={app-id}
    &client_secret={app-secret}
    &grant_type=client_credentials

or use the graph api explorer
Graph API Explorer
Application:
Graph API Explorer
https://developers.facebook.com/tools/explorer/
Application: Click the name of the application you made above.
Click Get Token dropdown and then choose the Page you want to post to.

Access Token: <AccessTokenString>

Copy the Access Token string.
You can also look at your tokens here:
https://developers.facebook.com/tools/accesstoken/
Make 3 credentials in Huginn for use among other things.
facebookapptoken: {AppToken}
facebookpageid: {PageID}
facebookaccesstoken: {AccessTokenString}

Be careful re-hitting the explorer generation page for tokens as it may de-validate your current token and you will be pulling out your hair wondering why your last token is not working.
FaceBookGraphAPI Details
Type: Post Agent
Schedule: Never
Last checked: 4mo ago
Keep events: Forever
Last event created: never
Last received event: ~1mo ago
Events created: 0
Event sources: MeetUpAPI
Propagate immediately: No
Event receivers: None
Working: No
Options:
{
  "post_url": "https://graph.facebook.com/v2.8/{% credential facebookpageid %}/feed",
  "expected_receive_period_in_days": "1",
  "content_type": "json",
  "method": "post",
  "payload": {
    "message": "What: {{ Name }}{% line_break %}Where: {{ Location }}{% line_break %}When: {{ Time | divided_by: 1000 | date: '%c' }}{% line_break %}Description: {{ Description }}",
    "access_token": "{% credential facebookaccesstoken %}",
    "link": "{{ Link }}"
  },
  "headers": {
    "Accept": "application/json",
    "Content-Type": "application/json"
  },
  "emit_events": "false",
  "no_merge": "false"
}

Note: Facebook says this is not secure because your AppID can now be seen by anyone that has access to the app, but if your the only one that has access deal with it however you see fit.

I haven't gotten it to work - where are you using "facebookapptoken"?

Hi, I'm not I just set it as a credential in case I wanted to use it for something in the future, sorry for the confusion. Check out your error log and see where it's failing.

I did - nothing in the error log for the copy of PostAgent (as described above) or the ManualAgent I was using to inject events.  I messed around with it for a couple of hours last night, got nowhere, went to bed to sleep on it.  I think I can run a few more experiments later today.
What would you recommend for a value for "payload':{}?  I was just using yours as-is.

you can just put no payload and straight text and add the keys in plain text as well.
FaceBookGraphAPI Details
Type: Post Agent
Schedule: Never
Last checked: 4mo ago
Keep events: Forever
Last event created: never
Last received event: ~1mo ago
Events created: 0
Event sources:
Propagate immediately: No
Event receivers: None
Working: No
Options:
{
"post_url": "https://graph.facebook.com/v2.8/123facebookpageid/feed",
"expected_receive_period_in_days": "1",
"content_type": "json",
"method": "post",
"payload": {
"message": "What: Meeting{% line_break %}Where: JuiceBar{% line_break %}When: 7PM{% line_break %}Description: Transcending our meat sacks, into the digital nomad of the future.",
"access_token": "123facebookaccesstoken",
"link": "http://nonasuomy.github.io"
},
"headers": {
"Accept": "application/json",
"Content-Type": "application/json"
},
"emit_events": "false",
"no_merge": "false"
}


Support esbuild --keep-names to prevent Ccass/function names erasing

As stated in https://github.com/evanw/esbuild/issues/931, https://github.com/evanw/esbuild/issues/510 and elsewhere, sometimes it is undesirable to have class names erased.
Current behaviour of esm.sh seems to be erasing the class/function names, e.g. export class Price { ... } would be transpiled into var t = class {}; export { t as Price } which makes mahPrice.constructor.name return "t" instead of "Price".
Esbuild supports --keep-names which solves this problem; however, there is currently no way of enabling it with esm.sh.

Thank you! You folks are the best ❤

thanks for suggestion


Auto updater doesn't delete old CMILib jars

The auto-updater update with the automatic file removal doesn't seem to work for me:
[16:05:19] [Server thread/ERROR]: Ambiguous plugin name CMILib' for files plugins/CMILib<IP_ADDRESS>.jar' and plugins/CMILib<IP_ADDRESS>.jar' in plugins'
I'm running a Paper 1.17.1 server on a Debian KVM virtualized server.

The file permissions and the group looks alright.
AutoFileRemoval is set to true
I don't have any errors in the logs:

Thanks for your help.
Have a nice day!
Tiippex

@Tiippex
Some server hosts doesn't give permissions for plugins to perform file removal which can cause this issue with old plugin file remaining after an attempt to remove it. If that happens you might need to either adjust file permissions, which can be more tricky and more complicated or just disable auto updater disabled and update CMILib on somewhat regular basis manually.
At this moment in time I have no solution.

@Zrips I have my own dedicated server. The file belongs to the user which runs the server. File permission looks alright as well.
Can you add an error message why the delete step fails? Otherwise, It's quite hard to debug this at our end.
Thanks

Why not use the update folder when it‘s paper？
https://docs.papermc.io/paper/updating#step-2-update-plugins

Why not use the update folder when it‘s paper？
https://docs.papermc.io/paper/updating#step-2-update-plugins


netrw tree view 'gn' mapping doesn't work properly

Thank you, guys.

vim version : 8.0.1400_4
OS : Mac OS X 10.11.6 (15G1217)

When you use gn mapping after navigating subfolders a few times, you may get the following error message and it refuses to change the tree top.
    1 **error** (netrw) sorry, emmet-vim/ doesn't seem to be a directory!

Of course, emmet-vim/ is a valid directory!

The original mapping is as follows ( from $VIMRUNTIME/autoload/netrw.vim)
nnoremap <buffer> <silent> <nowait> gn	:<c-u>call netrw#SetTreetop(<SID>NetrwGetWord())<cr>

However, IMO, the right code should be something like so:
  let l:treetop = <SID>NetrwTreeDir(1)
  call netrw#SetTreetop(l:treetop)

I have changed gn mapping with this one, it's working fine.

Any chance you could provide your new mapping to make this work? I tried something like what you posted but can't get it working.

vim-netrwx.zip
@leeren
I've uploaded my plugin code for you. It contains the new gn mapping. Just install it as a regular plugin in your .vim folder.
DISCLAIMER   I admit that the plugin code has been abandoned. It used to work when I developed it, but I can't guarantee anything for now. But you can cherry-pick only what you need from the code.
My plan was releasing it as an official project for fixing some existing Netrw bugs and augmenting some features (especially tree view features) that Netrw doesn't provide, but I gave it all up.
After some code reviewing and seeing some tree view bugs not taken care for such a long time, I realized that Netrw developers don't give a damn about tree view. So I switched to Nerdtree and abandoned the plugin code.

@suewonjp
Thanks a lot! Yeah, I totally understand. I've really been trying to incorporate netrw as a lightweight means of project-tree based navigation, but there is just not enough demand for support in this feature anymore. I'll probably end up going the Nerdtree route too.


DnsServerRecursion: New resource proposal

Description
Suggest adding a new resource that changes DNS server recursion settings. Using the commands Get-DnsServerRecursion and Set-DnsServerRecursion.
Proposed properties

DnsServer <Key, String> - The host name of the DNS server to change, or use 'localhost' for the current node.
AdditionalTimeout <Write, UInt32> - Specifies the time interval, in seconds, that a DNS server waits as it uses recursion to get resource records from a remote DNS server. We recommend that you limit the value to the range 0x00000000 to 0x0000000F (0 seconds to 15 seconds), inclusive. However, you can use any value. We recommend that you set the default value to 4.
Enable <Write, Boolean> - Specifies whether the server enables recursion.
RetryInterval <Write, UInt32> - Specifies elapsed seconds before a DNS server retries a recursive lookup. If the parameter is undefined or zero, the DNS server retries after three seconds. Valid values are in the range of 1 second to 15 seconds. We recommend that in general, you do not change the value of this parameter. However, under a few circumstances you should consider changing the parameter value. For example, if a DNS server contacts a remote DNS server over a slow link and retries the lookup before it gets a response, you can raise the retry interval to be slightly longer than the observed response time.
SecureResponse <Write, Boolean> - Indicates whether a DNS server screens DNS records against the zone of authority for the remote server, to prevent cache pollution. If you set this to $True, the DNS server caches only those records that are in the zone of authority for the queried remote server. Otherwise, the server caches all records in the remote server cache.
Timeout <Write, UInt32> - Specifies the number of seconds that a DNS server waits before it stops trying to contact a remote server. The valid value is in the range of 0x1 to 0xFFFFFFFF (1 second to 15 seconds). The default setting is 0xF (15 seconds). We recommend that you increase this value when recursion occurs over a slow link.

Special considerations or limitations
The default zone '.' that is set with Set-DnsServerRecursionScope is the same scope that is set with this resource. So in a future resource DnsServerRecursionScope it should prevent from changing the property EnableRecursion for the default scope ('.') and instead refer to use this resource.
The parameters Enable, RetryInterval, Timeout, and SecureResponse replaces the properties NoRecursion, RecursionRetry, RecursionTimeout, and SecureResponse respectively in the resource xDnsServerSetting, To avoid ping-pong behavior those properties should be removed from the resource xDnsServerSetting once this issue is resolved.

Using the commands Get-DnsServerCache and Set-DnsServerCache.

I believe you meant Get-DnsServerRecursionScope and Set-DnsServerRecursionScope instead of the cache cmdlets.

@Sudman1 good catch. Copy paste mistake, it was meant to be Get-DnsServerRecursion and Set-DnsServerRecursion, the ones you mentioned is tracked in PR #199.

The propertySecureResponse changes the same value as EnablePollutionProtection in DnsServerCache does. I think we should leave this property out of this resource and document that the resource DnsServerCache should be used to enforce pollution protection.


Clean up third_party/css_parser

Signed-off-by: Otto van der Schaaf<EMAIL_ADDRESS>

Let's enable unit testing for third_party/css_parser.
Mostly succeeds modulo:
[  FAILED  ] ParserTest.unescape
[  FAILED  ] ParserTest.value_validation
[  FAILED  ] ParserTest.AcceptAllValues
[  FAILED  ] ParserTest.AtFontFace

It looks like these tests haven't been maintained for a while, so some of it might get
challenging, as expected behaviour may need to be reverse engineered in some cases.


fix building from source on macos

Since #2573 switched to hatchling, macOS users cannot build from source:
$ python3 -m venv .venv
$ .venv/bin/pip install --no-binary=pygments pygments
$ .venv/bin/python3 -c 'import pygments'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'pygments'

This is because the wheel gets packaged as Pygments (prob due to macOS's case-insensitive filesystem). This explicitly tells hatchling that the package is pygments.

It's not broken for everyone, just macOS users building from source (i.e. using --no-binary, which is very few people but does include Homebrew. See https://github.com/Homebrew/homebrew-core/pull/154759, and our failing CI here).

Time for a macOS CI builder? Also, this is weird, because the file generated is pygments now, no longer Pygments (at least on Linux) and I noticed the case change. Why would macOS hatchling suddenly produce an upper-case Pygments?

Why would macOS hatchling suddenly produce an upper-case Pygments?

So the sdist is correctly cased as pygments, but when hatchling builds a wheel from that sdist it infers the package name by first checking if Pygments/__init__.py is a file and then later pygments/__init__.py here. That works on Linux but on a case-insensitive filesystem like macOS, the former is "found" and thus hatchling uses it

Sounds like a bug in hatchling...

Time for a macOS CI builder?

Yes, probably.

Are they still unproportionally slow? If yes, I'd vote to only use it selectively before release.

We could configure one to only run on "tagged" builds. I think GitHub allows for that.

@jeanas Do I get it right we need a 2.17.2 to fix the packaing issue on macOS as currently there's nothing working on macOS? Can't they use the package from PyPI? I don't have a mac so I don't understand the extent of the issue. Not being able to build Pygments on macOS doesn't seem to warrant a hotfix if they can still use it.

IMO this kind of bug is an annoyance that should be addressed by a release, especially since it's a regression caused by us switching the build system.

That said, I have no objections to just picking the single commit onto 2.17.1 for the release, instead of releasing from current main.

I do think it should be fixed in the next release, I'm arguing if this warrants 2.17.2 on its own if PyPI users can use Pygments using the recommended installation method. If it's "much more rare" -- is it rare enough to meet whatever arbitrary bar we have for a point release, or is it too rare to warrant a fix now? I understand it's a regression, but it seems a fairly minor one.
If we do agree that 2.17.2 it is, then yes, I'll branch it off 2.17.1, and we'll cherry-pick that commit over. I would argue though that we should have a CI test for this to make sure we're actually not breaking anything while doing so. I have no access to a mac machine to try myself, and I feel somewhat uncomfortable about this. Sure, I can merge this PR and believe everyone it's working, but having a way to actually verify this would be much better.
Can I get a quick vote on 2.17.2 yay/nay for this one fix only? My vote is no, fold into 2.18, but we strategically decided  to have three maintainers so you can overrule me.

Ok. Getting a 2.17.2 out now.

Something is broken. I'm building the branch release/2.17.x, the wheel size looks fine, but the tar.gz is now 983 KiB instead of the expected 4.8 MiB :(

Thanks. I added some more information. If I had to guess, the packages statement makes it only include the pygments folder.

@birkenfeld Not a chore per se, more like a wild ride with no safety belt and on a rusty looping designed by someone playing Rollercoaster Tycoon.

Ok. I'll cherry-pick that as well.

can confirm it works for us, thanks everyone!

Sorry for the trouble everyone! Here's an update: https://github.com/pypa/hatch/issues/1054#issuecomment-1837559305


[tlse] internal TLS support for octavia

Creates certs for k8s service of the service operator when spec.tls.endpoint.internal.enabled: true
For a service like nova which talks to multiple service internal endpoints, this has to be set for each of them for, like:
customServiceConfig: |
[keystone_authtoken]
insecure = true
[placement]
insecure = true
[neutron]
insecure = true
[glance]
insecure = true
[cinder]
insecure = true
Depends-On: openstack-k8s-operators/lib-common#428 Depends-On: #620
Depends-On: openstack-k8s-operators/octavia-operator#265

recheck

recheck

recheck

recheck


Version role in galaxy does not match with version in release this repo

Hello!
Thanks for role!

and

Could you synchonize version and code?
Thanks!

I've deprecated pgkehle.mongodb for isaackehle.mongodb


Rework crypto/x509's by_file.c and by_dir.c to work with STORE, take 1 (the light take)

Description of change

One of the benefits of STORE ( #3542 and #2688 ) is that it can do much of the work previously done in X509_LOOKUP_METHODs while providing an interface to add new methods to load data.
This is a light version of these changes.  #2697 is a more radical take on these changes.
This will not build properly until #1961, #3542 and #2688 are merged into master.

Closing this in favor of #8442, which simply adds another X.509 lookup method for OSSL_STORE.
On could call that the gentle take


Can you support offcpu profiling?

Sometime it's useful to find which thread  was  locked or sleep too long to wait the condition. On this situation off-cpu profiling is very important

Have you closed the issue because you found the solution?
There is a wall-clock mode (-e wall) exactly for off-cpu profiling.

Have you closed the issue because you found the solution?
There is a wall-clock mode (-e wall) exactly for off-cpu profiling.

Yes， wall-clock mode is good enough for me  :D


Provide option to use string arguments that are not null-terminated

I would highly appreciate to have the option to use explicit length specifications for string parameters in all API functions.
Example for open():
I would be great to not only have:
int lfs_file_open(lfs_t *lfs, lfs_file_t *file,         const char *path, int flags);
... where path is assumed to be null-terminated, but also:
int lfs_file_open(lfs_t *lfs, lfs_file_t *file,         const char *path, lfs_size_t path_length, int flags);
... where the length of path is specified explicitely.

Hi @BSven, this should be doable. We would just need to change the path parsing code (lfs_dir_find) to not rely on null-terminated strings. Unfortunately the null-terminator is useful for writing parsers. Curiously this often gets overlooked when discussing their tradeoffs.
One question is what would these functions be named? lfs_file_opennotnullterminated? lfs_file_opennnt?

Hi @geky,
thanks for your immediate reply and your constructive outlook!
I would go with lfs_file_open_nnt so that the main function (i.e., open) stands out clearly.

thanks for your immediate reply and your constructive outlook!

Well, to be clear this will be low-priority relative to other implementation-level issues, of which there is a bit of a long list.

I would go with lfs_file_open_nnt so that the main function (i.e., open) stands out clearly.

I get where you're coming from, but right now littlefs's API only uses underscores to indicate the relevant struct namespace. Is this a weird holdout from old C? maybe. though I do think it helps delineate what the verb is. Either way it's a bit out of scope to change the naming convention of the whole API and ultimately consistency is more important.
I think the wildest this gets with all current proposals is lfs_file_opennntatcfg.

Other names could be lfs_file_openz or lfs_file_openn.
I'm sort of leaning towards lfs_file_openn to somewhat vaguely relate to strncp and friends. Though it is curious how little prior-art there is.

Lua does have pushlstring/pushstring [ref], but an l suffix risks confusion with lstat if we ever have symbolic links (way low priority). Though having openl, lstat, and lseek be three wildly different modifiers would make for a pretty funny API.

Another alternative which comes to my mind would be to use a compile option for enabling/disabeling the use of char + len or a struct holding char + len.
Something like this:
#ifndef LFS_NO_STRLN
int lfs_file_open(lfs_t *lfs, lfs_file_t *file, const char *path, int flags);

#else
struct lfs_string {
  const char* str;
  size_t len;
}

int lfs_file_open(lfs_t *lfs, lfs_file_t *file, const lfs_string *path, int flags);
#endif

A caller than has to provide the struct, which shouldn't be a problem at all, because the lifetime of the struct only needs to be as long as the function call.
struct lfs_string path;
path.str = "my message"
path.len = 10;
lfs_file_open(lfs, file, &path, flags);

This way, someone who needs the security of not relying on strlen cannot use it accidentally.

Using a compile-time option to choose this string type is a nice idea.
But it becomes a problem if you ever end up with two libraries both using littlefs behind the scenes, one with null-terminated strings, one without.  You could duplicate the library at that point, but that's not a reasonable solution for a library intending to be low code-cost.


first does not recover from refine type class error

example : String := by
  first
  | refine toString True
  | apply "hi"

Expected behavior: The second branch should be applied without error.
Actual behavior:
failed to synthesize instance
  ToString Prop

This is relevant for my Iris IPM port, where I want to use a type class to parse the goal and decide, based on the form of the goal, i.e. the availability of certain type class instances, whether to use the remaining part of the theorem. At least in my case, I think refine is better suited than apply (see https://github.com/leanprover/lean4/commit/a670ed1e2d7499fb7afdd7db918b71257e89ca9f), since I have stricter control over when missing arguments are turned into goals and when the tactic will fail instead.


chore(deps): update black from 21.12b0 to 22.1.0

Codecov Report

Merging #41 (fde2edd) into main (fb40eb4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #41   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           16        16
  Lines         1732      1732
=========================================
  Hits          1732      1732

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 fb40eb4...fde2edd. Read the comment docs.


Error when restarting while using multiple P30

When using this integration with multiple charging stations it works fine while setting up and afterward. Unfortunately on the restart of Home Assistant, the integration is only able to set up the first charging station. The second one becomes unresponsive. Interestingly the second wallbox is now in the integration where only the first wallbox was. The entities all show not available though.
Attached I send some screenshots and debug outputs. Currently, I have 2 charging stations set up. There are 4 keba P30 installed here if that can be of help.
Currently, I'm using HA 2023.3.1 and Plugin Version 2.4.2 installed though HACS as custom repository.

Logger: homeassistant.config_entries
Source: custom_components/keba/init.py:72
Integration: Keba Charging Station
First occurred: 10:25:09 (1 occurrences)
Last logged: 10:25:09
Error setting up entry P30 for keba
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 383, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/keba/init.py", line 72, in async_setup_entry
wallbox = await keba.setup_wallbox(entry.data[CONF_HOST])
File "/usr/local/lib/python3.10/site-packages/keba_kecontact/connection.py", line 144, in setup_wallbox
self._wallbox_map[host] = self._wallbox_map.pop(wb.device_info.host)
KeyError: '192.168.xxx.x' [redacted]
Logger: homeassistant.components.notify
Source: custom_components/keba/notify.py:39
Integration: Benachrichtigung (documentation, issues)
First occurred: 10:25:10 (1 occurrences)
Last logged: 10:25:10
Error setting up platform keba
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/notify/legacy.py", line 89, in async_setup_platform
notify_service = await platform.async_get_service(
File "/config/custom_components/keba/notify.py", line 31, in async_get_service
return KebaNotificationService(keba)
File "/config/custom_components/keba/notify.py", line 39, in init
self.targets: dict[str, Wallbox] = {}
AttributeError: can't set attribute 'targets'

I see the same behavior with P30X and P30C. If I remove them, and re-add them, they work perfectly until the next restart.
I tried experimenting with "Enable newly added entities" system settings, before restarting, but it didn't help.

Thanks for reporting, was it working with an older version? I need to check that with my simulated wallboxes again.

Yes. It was working pre 2.4.0 + pre HA 2023.2.X. Let me know if I can help somehow?

should be fixed in pre-releas 3.0.0, please check and confirm.

Thanks for the quick fix. It works even through restarts.


Add date when hosts file was last updated

Currently, hblock lists version information and the # of blocked domains:
> head -10 /etc/hosts
# Generated with hBlock 3.3.2 (https://github.com/hectorm/hblock)
# Blocked domains: 235517

# BEGIN HEADER
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##

However, it would be nice to have additionally a date, when the list was last updated, e.g.:
# Generated on Fri Jun 24 12:42:07 CEST 2022

I have just released a new version with this implemented.


fill holes with color?

Hi @marcomusy,
Does the fillHoles() function support color? Because what I get is black spots:

Checking on the doc, I did not find something but I might have overlooked at it.

It does not support it, you may try to recompute normals with mymesh.computeNormals().
Or you may try to interpolate the (u,v) texture corrodinates from the original mesh onto the closed one:
filledmesh.interpolateDataFrom(originalmesh)
Check out example examples/advanced/interpolateScalar1.py.

I see, instead of doing what you are suggesting would be possible to use the pymeshlab framework to fill the holes with the close holes filter?
Doing it in manually in meshlab, it seems work quite nicely:

I am not sure though yet that pymeshlab supports meshes with color.

I guess so... but I'm not at all an expert in meshlab..

Ok, this seems to work:

m1 = vd.Mesh("../data/hole_filling_samples/frag_11.ply")
m = pymeshlab.Mesh(vertex_matrix=m1.points(), face_matrix=m1.faces(), v_normals_matrix=m1.pointdata["Normals"], v_color_matrix=np.insert(m1.pointdata["RGB"]/255, 3, 1, axis=1))

ms = pymeshlab.MeshSet()
ms.add_mesh(m)
ms.close_holes(maxholesize=30, newfaceselected=False)
# ms.save_current_mesh("ftest.ply")

mlab_mesh = ms.current_mesh()

reco_mesh = vd.Mesh(mlab_mesh)

vd.show(reco_mesh, axes=True, interactive=True).close()

My only problem is how to retrieve back the color from the pymesh.Mesh to the vedo.Mesh, I've tried:
color = mlab_mesh.vertex_color_matrix()[:, 0:-1]
reco_mesh = vd.Mesh(mlab_mesh, c=(color*255).astype(int)) # this works for the vd.Points()

self.property.SetColor(c)
TypeError: SetColor argument 1: expected a sequence of 3 values, got 216150 values

but it doesn't seem to work.

try:
reco_mesh.pointdata["RGB"] = (color*255).astype(np.uint)

Nope, it still gives me a textureless output:

Though the reco_mesh.print() output has the color data:
Mesh/Points
          color: gold, rgb=(1.00, 0.843, 0), alpha=1.0
         points: 1659264
          cells: 3310153
       polygons: 3310153
       position: (0.0, 0.0, 0.0)
          scale: (1.00, 1.00, 1.00)
 center of mass: (96.7, -14.1, 431)
   average size: 89.3928
  diagonal size: 329.789
         bounds: x=(-40.6, 229) y=(-68.9, 46.1) z=(349, 501)
    scalar mode: UsePointData   coloring = Default
   active array:
     point data: name=RGB (3 UNSIGNED_LONG_LONG, np.uint64), range=(14.0,255)

It seems that it is not active, but using the reco_mesh.select("RGB") gives me {AttributeError}'Mesh' object has no attribute 'select'

ok, the correct command is reco_mesh.pointdata.select("RGB") and the type should np.uint8 instead of np.uint:

Thanks, @marcomusy as usual really helpful :+1:

ops sorry I wrote my answer in a hurry and missed those two things!


Add account: Self signed certificate in certificate chain

Storage Explorer Version: <1.10.1>
Build Number: <20190919.2>
Platform/OS: <Windows 10>
Architecture: < x64>
Bug Description
Subscriptions for the follwowing tenants could not be retrieved:
Tenant Id: xxxxxx, Error: {
"name": "Error",
"message": "self signed certificate in certificate chain",
"stack": "Error: self signed certificate in certificate chain\n    at TLSSocket.onConnectSecure (_tls_wrap.js:1049:34)\n    at ZoneDelegate.invokeTask (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\node_modules\zone.js\dist\zone-node.js:275:35)\n    at Zone.runTask (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\node_modules\zone.js\dist\zone-node.js:151:47)\n    at TLSSocket.ZoneTask.invoke (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\node_modules\zone.js\dist\zone-node.js:345:33)\n    at TLSSocket.emit (events.js:182:13)\n    at TLSSocket._finishInit (_tls_wrap.js:631:8)",
"code": "SELF_SIGNED_CERT_IN_CHAIN"
}

Have you imported the certificates in Storage Explorer? We have a section of instructions on how to do this in our trouble shooting guide.
Troubleshooting Guide: self-signed certificates errors

I couldn't find any self signed certs with the instructions provided.

@danSpotter , have you tried talking to your network admins? Did you try using the --ignore-certificate-errors flag?

Closing due to lack of response.


pysqlcipher3 installation

Pysqlcipher3 shows that the installation was successful through the PIP installation, but the package was not available at the time of import and the library file did not exist.The system is Windows.
Error reporting through source code compilation installation is not sqlite. H

I have the same issue. I'm on macOS and i can install the pip module via pip3 install pysqlcipher3 and i get this:
Collecting pysqlcipher3
  Using cached https://files.pythonhosted.org/packages/96/82/105fa83608956f0f4270534845dd4683eba548eacee371ccc01dab7a8856/pysqlcipher3-1.0.2.tar.gz
Building wheels for collected packages: pysqlcipher3
  Running setup.py bdist_wheel for pysqlcipher3 ... done
  Running setup.py clean for pysqlcipher3
Failed to build pysqlcipher3
Installing collected packages: pysqlcipher3
  Running setup.py install for pysqlcipher3 ... done
Successfully installed pysqlcipher3

But if i then use this in my code
from pysqlcipher3 import dbapi2 as sqlcipher

it's not working since the module is not installed:
ModuleNotFoundError: No module named 'pysqlcipher3'

Havent tried it yet but i would think that it's working. But i would be much more comfortable with installing it via PIP.

@Endogen okay Thank you for answer my question

@Xuepaopao I also face this issue in Ubuntu

use pip, it shows complete, but can not find this module at site-packages.

@rigglemania I think this pip module should be removed

i have the same problem

same

same problem here

error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
most probably missing....
Check with --verbose with the installation.

check this
https://github.com/Monogi/pysqlcipher3_install_win10


gstreamer/encode: use tune property and cqp for avc lp transcode

The gstreamer msdk elements deprecated the low-power property in favor of the tune property.
AVCe LP only supports CQP rate-control on some older platforms.  Thus, use CQP for AVC LP transcode tests.

LGTM


⚠ Samsung has degraded performance

In 3cb20f7, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2864 ms

Resolved: Samsung performance has improved in 10582ff.


Can not train model. Tensor mismatch

I try run training. Just test run yet. One file as train and same file as eval.
And I am get error in file train_ddp.py line 154 or so.
Error:  RuntimeError: The size of tensor a (10) must match the size of tensor b (9) at non-singleton dimension 0
Code: mse = torch.mean(torch.square(inputs - video_recon), dim=(1, 2, 3))
I am investigate and see what (before rearrange):
inputs.shape = [1, 3, 10, 256, 256]
video_recon.shape = [1, 3, 9, 256, 256]

May I check your training sh script? it seems that you set a wrong number of frames.

What exactly meaning of --num_frames and --eval_num_frames? At first glance I am thinling about something like batch_size or train\val subset length.
Thanks! approach "4*n+1" works! Num_frames parameters must be from row 13, 17, 21, 25, 29, 33, etc Any other values leads to tensor mismatch.


how to use hystrix with akka ?

I am using akka http which is returning the Future object, while executing the run method is is not throwing any exception but at later point it is throwing connection refused exception, how to handle this

My impression of Akka is that they have altogether different mechanisms for handling the same concerns as Hystrix: fault-tolerance/load-shedding/fallbacks.  I'm not an expert in Akka by any stretch, but I would be surprised if they would recommend using Hystrix at all.

It sounds like you're using a HystrixCommand and wrapping async work.  That's what the HystrixObservableCommand is for.

Closing due to inactivity


Feature/tasks

Ostruct has been integrated and the recipes api has been changed, please merge this into develop (but keep it around) and update any other branches.

I am pretty confident that this is working as I have been using it this evening with composite task-based scripts. Could you please merge into develop and do a release?


controls_in="both" does not seem to work

Hi -
Both controls_in="x_to_m" and controls_in="all_to_y" seem to work, but when I use controls_in="both" option, it seems controls are not being added at all. It does say variable names in Statistical Controls:, but the outputs do not list any of these variables in both x_to_m or all_to_y cases. (I tested with model 4 and 7).
Also I verified that it shows the same results when I don't use any control, so it seems like the control variables are ignored when controls_in="both" is used.

Got it. Thanks for the quick reply!


Trying to set browser on WSL and path validation is too strict

I am trying to use granted in Windows Subsystem for Linux (WSL), using Ubuntu 20.04. I have Firefox and Chrome both installed, but granted can't find them and is prompting me for the install path. In WSL, the browsers are still installed to Windows, and the drive is mounted to Linux. So the path is /c/Program Files/Mozilla Firefox/firefox.exe. Which granted keeps saying is not valid:
? Please enter the full path to your browser installation for Firefox: /c/Program\ Files/Mozilla\ Firefox/firefox.exe

❌ The path you entered is not valid

But it is:
❯ ls /c/Program\ Files/Mozilla\ Firefox/firefox.exe
'/c/Program Files/Mozilla Firefox/firefox.exe'

I also tried creating an alias and just specifying firefox, but that also resulted in the same error.
? Please enter the full path to your browser installation for Firefox: firefox

❌ The path you entered is not valid

But when I run the alias, it works fine!

I looked into this and it seems like Go's file opening systems don't work with the standard WSL format. Paths have to be entered in a format like /../../mnt/c/Program Files/Mozilla Firefox/firefox.exe instead.
I've opened a PR #237 that should make this process a bit easier.

That's very strange. Is the leading / intentional, or a typo? That would imply it is treating the location of the granted/assume binaries as the root of the system, e.g. /, and then processing a relative path from there? I wonder why that is? I use terraform and terragrunt pretty extensively, both also written in Go, and they don't seem to process paths any differently for WSL Ubuntu vs "regular" Ubuntu.

You're right - I might actually be able to just start the path with /mnt/ or /c/ and have it work.
In terms of the issue with spaces - I've still got no idea. Seems that os.Stat in Go fails when there's a \ that tries to escape the space. Works just fine without the \ though. I looked into it a bit more and it seems to be an issue on Mac too, we just hadn't encountered it yet because I guess the auto-detection wizard was working on Macs.

The path on my system is different (/c/Program Files/Mozilla Firefox/firefox.exe), so the new "search paths" still fail to find the program, but I can confirm that 0.2.9 does work if I give it the full path with no backslashes or other escaping or quoting.
❯ granted browser set

? Select one of the browsers from the list Firefox

ℹ  Granted could not detect an existing installation of Firefox at known installation paths for your system.
If you have already installed this browser, you can specify the path to the executable manually.

? Please enter the full path to your browser installation for Firefox: /c/Program Files/Mozilla Firefox/firefox.exe

ℹ  In order to use Granted with Firefox you need to download the Granted Firefox addon: https://addons.mozilla.org/en-GB/firefox/addon/granted.
This addon has minimal permissions and does not access any web page contents (https://granted.dev/firefox-addon).

? Open Firefox to download the extension? Yes

? Type Y to continue once you have installed the extension Yes

✅  Granted will default to using Firefox.