mutateFormDataUsing() not called on create action of simple (modal) resources

Package
filament/filament
Package Version
v3.0.18
Laravel Version
v10.18.0
Livewire Version
v3.0.0-beta.7
PHP Version
PHP 8.1.10
Problem description
In simple (modal) resources mutateFormDataUsing() doesn't get called on the create action. Even a dd() doesn't interrupt the code.
Expected behavior
mutateFormDataUsing() should get called properly to allow form data manipulation in simple (modal) resources.
Steps to reproduce

Create a simple (modal) resource (php artisan make:filament-resource --simple)
Call mutateFormDataUsing() on the create action in the ManageResource file

Reproduction repository
https://github.com/xahmedtaha/filament-mutateFormDataUsing-bug-reproduction
Relevant log output
No response

While playing around with this I noticed that even the using() method is disregarded.

Apparently, I can't customize the creation process at all.

I think you're pressing the empty state action instead of the header action?

Same error  here
It gives me a "SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: categories.slug"

Just saw the from answer @zepfietje on the issue #7547
https://github.com/filamentphp/filament/issues/7547
"All actions inside a Livewire component should have a unique name.
Since you're using CreateAction twice (header and empty state), modifications to the header action don't actually work, since the empty state action get's triggered (because of the duplicate name, as CreateAction instances have a default name of create).
This isn't a bug, though I understand it's confusing when you encounter it at first.
So, make sure to pass a unique name if you're using multiple instances of prebuilt actions on a single Livewire component."

Can confirm this issue, using(), mutateFormDataUsing() etc. are not executed for me in one Filament 3.2.x project. Weirdly enough, it works in another.
I could track this down to the action() closure not being executed.
For everyone having issues with this: I have found a workaround overwriting the handleRecordCreation() method of the CreateRecord page.
    protected function handleRecordCreation(array $data): Model
    {
        // Mutate $data if needed...

        $createdRecord = parent::handleRecordCreation($data);

        // Do whatever else you want to do with the record...

        return $createdRecord;
    }

If there is a page, customisations made to the action do not apply. They apply to the modal if you don't have a page.

If there is a page, customisations made to the action do not apply. They apply to the modal if you don't have a page.

Oh! Thanks!
I just didn't find anything but the mutateFormDataUsingBeforeCreate() method there, and had the impression that just using handleRecordCreation feels a bit hacky. But this is actually the proper stand-in for using then?

This is a closed topic, but I wanted to pass on as I stumbled here too and wanted to help the next person.
These functions are not broken, they simply work after the record is created. The best function to use is one of the CreateAction Lifecycle Hooks. You should be able to manipulate $this in order to achieve what you need. As a quick reference:
CreateAction::make()     ->beforeFormFilled(function () {         // Runs before the form fields are populated with their default values.     })     ->afterFormFilled(function () {         // Runs after the form fields are populated with their default values.     })     ->beforeFormValidated(function () {         // Runs before the form fields are validated when the form is submitted.     })     ->afterFormValidated(function () {         // Runs after the form fields are validated when the form is submitted.     })     ->before(function () {         // Runs before the form fields are saved to the database.     })     ->after(function () {         // Runs after the form fields are saved to the database.     })

I need help with this. I understand I can customize the CreateAction, the problem is I don't understand where.
I have a modal for creating new records (read: I removed the create page from the pages array). So I don't have a place where I can place this:
    // whatever else
    ->model(YourModel::class)
    ->fillForm([
        'random_number' => rand(0,100)
    ])
    ->form(fn (Form $form) => // your logic here, or a call to an existing resource )```

CreateAction::make() will be in the List/Manage page of the resource in the headeractions


Option To Put Old Packages In Main Repo

I have seen a few people looking for this type of function including myself to dump old packages into the main repo instead of the dot folders with a random time stamp.

Closing as bdrewery answered on IRC:
14:03 @bdrewery  vectr0n: the short answer is "no"
14:03 @bdrewery  I tried making it happen but ran into a lot of problems

I think it's worth keeping this open, even if it takes years to accomplish.
The main problems were:

Dependency hell of keeping an old package (need all of its dependencies too)
pkg did not (or does not) support multiple versions of the same package in a repository
pkg and ports really need to be using provides/requires to make this work more smoothly

https://github.com/bdrewery/poudriere-private/commit/ff8110f1bfb050d050216442620a9d0ae2efa901 was a half implementation. It was not handling restoring dependencies. I don't expect it to work for you and don't have time to make it work soon.


libspdm_doe_pcidoe: Add DOE discovery encode/decode helpers

Add helper functions for encoding/decoding the DOE discovery protocol. All DOE requesters and responders must implement this protocol.
There isn't a straight forwrad way to integrate this into libspdm so let's instead implement helper functions that can be used directly by the custom send and receive functions.

May I know which component should be the consumer for this new API?

The idea is that the send/receive implementations of libspdm_register_device_io_func() can use this to check for DOE discovery messages and handle them

do you mean the spdm-emu should use this API?
If so, would you please propose a patch in spdm-emu? I am trying to understand how that works.

SPDM-EMU is using libspdm and it did send and receive DOE discovery.
Would you please propose a change to help us understand how to use this library API?

Done! There is an example of what this would look like here: https://github.com/DMTF/spdm-emu/pull/268

Any comments on this?

Any comments on this?

This is just straight non-SPDM PCIE discovery? Aren't there more generic PCIE libraries that do this? This seems too far removed from SPDM to be in libspdm.

It is generic PCIe discovery. My thinking is that as DOE discovery is pretty simple and it's critical to SPDM (over DOE), these helper functions should be included in libspdm.
I think all DOE over PCIe users will require these or similar functions, spdm-emu implemented something itself for example.
These could be in a different generic PCIe library, but then anyone using libspdm needs to include another library for something we can do in a few hundred lines on code. On top of that this API matches the style of libspdm, which makes it easier to integrate.
By having one copy of the helper functions here, we can avoid bugs and issues in individual implementations. For example we can already remove code from spdm-emu we can do a similar thing for all libspdm users.
I don't feel it's too far removed from SPDM to be included

Any more thoughts on this?

https://github.com/DMTF/spdm-emu/pull/268 is still a draft.
Are you still working on it?

https://github.com/DMTF/spdm-emu/pull/268 is ready to go, it just needs this merged first


Test EXSR003 checked in

Tests the version of the .NET framework to make sure it is a supported version.

This change is

Review status: 0 of 2 files reviewed at latest revision, 3 unresolved discussions.

Tests/EXSRV003.ps1, line 18 [r1] (raw file):

    foreach ($server in $exchangeservers) {
        # Set the inital value
        $name = $server.name

Suggest $name be changed to $ServerName for clarity

Tests/EXSRV003.ps1, line 39 [r1] (raw file):

            switch ($NETFxVersion)
            {
                {($_ -ge 378389) -and ($_ -lt 378675)} {$WarningList += "$name - .NET Framework 4.5";Write-Verbose ".NET FrameWork version 4.5 detected on server $name.  4.5.2 is strongly recommended."}

Instead of using semi-colons here pls use multiple lines for readability

Tests/EXSRV003.ps1, line 67 [r1] (raw file):

}

Run-EXSRV003

Looks fine to me, and worked in my lab too. Going forward how will this be maintained? Might it be better to put the version numbers and their support status into a separate file in the \Data folder of the test (XML file maybe?) so that as support status changes the XML file can simply be updated without editing the test itself (because it looks like lots of code will be required as .NET versions come in and out of support)?

Comments from Reviewable

Review status: 0 of 2 files reviewed at latest revision, 4 unresolved discussions.

Data/Tests.xml, line 32 [r1] (raw file):

		<Description>Check if Exchange Servers are running the recommended version of the .NET Framework.</Description>
		<IfInfoComments></IfInfoComments>
		<IfPassedComments>All Exchange Server 2013/2016 servers are running the correct version of the .NET Framework</IfPassedComments>

We already call out early in the report that 2010 and earlier are not tested, so these comments could be shortened to e.g. "All servers are running supported versions of the .NET Framework"

Comments from Reviewable

Reviewed 2 of 2 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


What do we do if user does not have kernel installed when running/opening a notebook

@claudiaregio /cc
Looks like we're running into this a lot
Proposed Solution/Questions:

Display non modal error message letting them know they do not have Python installed & would need it

Display a message similar to what Python extnsion displays
Python is not installed. Please download and install Python before using the extension

Should this be a modal dialog

Probably not, nothing much the user can do apart from see the error and install it themselves.
Modal would probably make sense if we had a solution, all we can do here is provide a link.

Questions

User opens a .NET notebook & user doesn't have .NET kernel installed

What do we do?

User opens an R notebook & user doesn't have R kernel installed

What do we do?
Similar to .NET, but what if we don't kow about extensions that support Jupyter notebooks and have VS Code kernels for some languages? (e.g. we should not hardcode .NET, but how do we address it).
I guess this can only be done with some hardcoding

User opens a Python notebook and they don't have ANY kernel specs, and no python installed

@jmew /cc

Ideas?

Use piodide. Yeah okay this is silly but might be good enough?
Offer to install python (well bring up a link to python.org)
Warn them that the kernel won't work

arn them that the kernel won't work

Shouldn't we do the same for other non-python kernels?

Shouldn't we do the same for other non-python kernels? Let them know that they do not have a kernel installed that can handle this (only for non-pytohn kernels)

Yeah that sounds like a good idea.

@DonJayamanne in this case, wouldn't the user not have any kernel selected for the current notebook? How is this a kernel start issue then?

We need at minimum an error message that gives some direction to the user. Especially if they don't have Python installed at all.

This will require a lot of changes, hence moving back to backlog and leaving assigned so we discuss the technical implementation.

We could

always return the python default kernel
always have the same id for this default kernel (per URI?) same guid forever?
update this with the state of the actual preferred one when we find it

If python is not installed have a kernel named Python 3

When user selects this and attempts to run the cell they'll be asked to either install Python extension or Python runtime
After installing Python extension (if python runtime is installed) user should not have to reload VS Code (the interpreters should be listed)
After installing Python, user will need to reload VS Code
TODO: File for API when this is detected by core extension.

For non python kernels, if the kernelspec cannot be found, then add a placeholder for that language

User will know that their kernel isn't available when they attempt to run. Hence no point stating the obvious via some message.

Upstream feature requests:

https://github.com/microsoft/vscode-python/issues/16676
https://github.com/microsoft/vscode-python/issues/16675


Add filters to catalog broadcast

After #9, steward will be able to broadcast service catalog entries to other (configurable) namespaces. This issue is for adding configuration into steward that will tell it how to filter catalog entries to that it selectively publishes.
For example, operators should be able to add a filter that only allows database-related services to be published to namespaces ns1 and ns2
Requires #9

Replaced by https://github.com/deis/steward-framework/issues/44; closing


s3ql: 2.21 -> 2.26

(cherry picked from commit e3db2501f9ec3271d8dd0c76ea7938650cee5589)
Motivation for this change
ZHF #36453

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: s3ql
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: s3ql
Partial log (click to expand)
tests/t6_upgrade.py::TestPlainUpgrade::test[True] SKIPPED                [ 99%]
tests/t6_upgrade.py::TestPlainUpgrade::test[False] SKIPPED               [100%]

=============================== warnings summary ===============================
None
  pytest-catchlog plugin has been merged into the core, please remove it from your requirements.

-- Docs: http://doc.pytest.org/en/latest/warnings.html
============= 321 passed, 30 skipped, 1 warnings in 192.63 seconds =============
/nix/store/997v397i8sxjgpwfj8prgb3hdq0jvqwg-s3ql-2.26

Success on x86_64-linux (full log)
Attempted: s3ql
Partial log (click to expand)
/nix/store/rkms0h08sfvsbpz7yp7fikhd272g28p2-s3ql-2.26


charmed kubeflow: updates command for creating controller

This PR updates the command for creating a controller. It is necessary to specify the agent version as others are not supported. This is an important step that shouldn't be missed as some critical issues could be raised.

/assign @domfleischmann


Uncaught (in promise) Error: No parent element to render on was provided.

Hi, thanks for this adapter. It didn’t work for me, i use svelte > 3.0
<script>
  import Chart from "svelte-frappe-charts";

  let data = {
    labels: ["Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat"],
    datasets: [
      {
        values: [10, 12, 3, 9, 8, 15, 9]
      }
    ]
  };
</script>

browser log
Uncaught (in promise) Error: No parent element to render on was provided.     at e.t (index.mjs:241)     at new e (index.mjs:241)     at getChartByType (index.mjs:241)     at new t (index.mjs:241)     at onMount (index.mjs:303)     at run (index.mjs:18)     at Array.map (<anonymous>)     at add_render_callback (index.mjs:1353)     at flush (index.mjs:689)     at <anonymous>

Yeah so this is a bit of a "known issue" that I'm not sure how to get around at the moment, because I'm not 100% sure of the root cause. I know that in the Svelte REPL, as well as in the default Svelte CodeSandbox template that it is broken.
I believe the root of the issue is that the chartRef isn't set when passed to frappe-charts when the component is mounted (see this issue over there).
FWIW, I am able to get this package working in the default svelte template (which the codesandbox is based off, which is odd). Please post additional info about your environment if possible, so I can get to the bottom of this.
Thanks for filing this, sorry you ran into this problem. I'm looking into it.

@himynameisdave - I'm getting this error when using the Sapper template. Putting a  on the template.html file fixes it, but that causes other issues.

Hi @himynameisdave,
I had the same problem and was able to solve it by importing from the src folder of the package:
import Chart from "svelte-frappe-charts/src/components/base.svelte";
The charts are now rendering as expected. So maybe something wrong with the lib bundling?

Hey @rondonjon -- thanks for letting me know about this workaround. That aligns with what I've noticed in my testing as well. All svelte components that I publish are loosely based on this template, which discusses how to consume components. Basically if a svelte field is present, your svelte project should just be able to consume the component directly.

Ref: https://github.com/frappe/charts/issues/199#issuecomment-642374110

I have finally found a definitive fix for this issue. I was able to resolve this issue by configuring my bundler to handle mixed CJS and ESM imports.  I personally use Rollup for all Svelte apps, and this can be enabled in the @rollup/plugin-commonjs plugin via the transformMixedEsModules option. Here's a minimal rollup config which works for svelte-frappe-charts both in dev and prod builds:
import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import css from 'rollup-plugin-css-only';

const production = !process.env.ROLLUP_WATCH;

export default {
  input: 'src/main.js',
  output: {
    sourcemap: true,
    format: 'iife',
    name: 'app',
    file: 'public/build/bundle.js'
  },
  plugins: [
    svelte({
      compilerOptions: {
        dev: !production,
      },
    }),
    css({
      output: 'public/build/bundle.css',
    }),
    resolve({
      browser: true,
      dedupe: ['svelte'],
    }),
    commonjs({
      //  This is the important part:
      transformMixedEsModules: true,
    }),
  ],
};

I was only seeing this in prod builds/never in dev, and that got me thinking that there was maybe something with the bundler that could be tweaked to get things working smoothly. My best guess was that the CJS stuff (like the frappe-charts library was being hoisted and was trying to initialize before Svelte had even rendered anything to the DOM.
I hope this solves the issue for everyone, sorry for how long this issue was open. Closing this now, but happy to hear about any snags / future issues that folks run into. Enjoy your charts! 📈


fix: ring outlier filter bug

Related Issue(required)

Description(required)

Review Procedure(required)

Related PR(optional)

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[ ] Read commit-guidelines
[ ] Assign PR to reviewer

If you are adding new package following items are required:

[ ] Documentation with description of the package is available
[ ] A sample launch file and parameter file are available if the package contains executable nodes

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets

CI Checks

Build and test for PR / build-and-test-pr: Required to pass before the merge.
Build and test for PR / clang-tidy-pr: NOT required to pass before the merge. It is up to the reviewer(s). Found false positives? See the [guidelines][clang-tidy-guidelines].
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

@satoshi-ota
Please use the following command to fix the DCO error.
$ git rebase HEAD~2 --signoff
$ git push --force-with-lease origin fix/ring-outlier-filter-bug


Budget app

In this project, we:

[x] Created the Splash screen
- A simple page with the name of your app, and links to the sign up and log in pages.
[x] Created the Sign up and log in pages
- The user is able to register in the app with full name, email and password (all mandatory).
- The user can log into the app using email and password.
- If the user is not logged in, they can't access pages that require the user to be logged in..
[x] Created the Home page (categories page)
- When the user logs in, they are presented with the categories page.
- For each category, the user can see their name, icon and the total amount of all the transactions that belongs to that category.
- When the user clicks (or taps) on a category item, the application navigates to the transactions page for that category.
There is a button "add a new category" at the bottom that brings the user to the page to create a new category.
[x] Created Transactions page
- For a given category, the list of transactions is presented, ordered by the most recent.
- At the top of the page the user could see the total amount for the category (sum of all of the amounts of the transactions in that category).
- There is a button "add a new transaction" at the bottom that brings the user to the page to create a new transaction.
- When the user clicks on the "Back" button (<), the user navigates to the home page.
[x] Created "Add a new category" page
- The user fills out a form to create a new category, indicating their name and icon (both mandatory).
- The user clicks (or taps) the "Save" button to create the new category, and is taken to the home page on success.
- When the user clicks on the "Back" button (<), the user navigates to the home page.
[x] "Created Add a new transaction" page
- The user fills out a form to create a new transaction with:
- name (mandatory)
- amount (mandatory)
- categories (mandatory at least one)
- The user click (or taps) the "Save" button to create the new transaction, and is taken to the transactions page for that category.
- When the user clicks on the "Back" button (<), the user navigates to the transactions page for that category.
[x] Followed the project database schema.
[x] Used Postgres as your database.
[x] Used devise for authentication.
[x] Validated all user input to make sure that anyone with bad intentions cannot compromise the app.
[x] Created tests
[x] Fixed linter errors.

Thanks @brytebee 🙌


What are the differences between google-genai and google-generativeai? Which one can be used with a free API key from AI Studio?

This sounds like a great question for the Google AI Forum https://discuss.ai.google.dev/c/ai-studio/8
Both libraries should currently accept this type of API key.


Integrate optional task distribution logic middleware

Is your feature request related to a problem? Please describe.
One of the main benefits of having TES requests intercepted by proTES is that it allows for the distribution of tasks over a network of TES instances, regardless of whether the workflow engine that emitted the TES request contains such a feature. Through the integration of a task distribution logic, proTES will be able to select the most advantageous TES instance for a given task, according to cost and/or clock time considerations.
Describe the solution you'd like
The proof-of-concept task distribution app TEStribute has recently been developed.
A publicly accessible API service of TEStribute can be integrated by service calls to its single endpoint /rank-services. Refer to TEStribute's documentation for details.
Describe alternatives you've considered
If no publicly accessible TEStribute API service is available, the package can also be imported and used in the following manner (refer to TEStribute documentation for details):
from TEStribute import rank_services

rank_services(...)

Additional context
Note that TEStribute currently works slightly beyond the GA4GH specs, i.e., it makes an assumption of data repository services that is not warranted by their specification and it amends a property in a model of one endpoint and adds another required endpoint to the TES specs, thus making it only with specifically tuned TES implementations for now. For this reason, the use of the task distribution logic middleware must be optional (set a switch and necessary config parameters in the config file.

Would love to try and tackle this if it's still unassigned or you haven't started work @uniqueg :)

Please, go ahead - haven't started! Let me know if you need help

The controller handling incoming task requests is in pro_tes/ga4gh/tes/endpoints/create_task.py. This would be the place to inject any middleware. Best is to abstract this a bit by adding a module middleware.py somewhere and then add calling of TEStribute as a function or class...

For the time being, we have implemented a (simpler) task distribution logic (which took portions from TEStribute) right in proTES, see https://github.com/elixir-cloud-aai/proTES/pull/119. Integration of TEStribute will be put on hold until further notice (together with #37).


Handle pbab projects on core

Please merge #12  and update this base branch to main before merging 🙏
This adds a config file (and logic to consume the config file) to generically define PBAB project on AB flagship core contracts.
The behavior can be summarized as:

PBAB projects on flagship core contracts are excluded from reports when the --flagship flag is used
PBAB projects on flagship core are included in reports when the --contract <PBAB_core_contract_address> command is used

An example would be:

CryptoCitizens projects CryptoVenetians and CryptoNewYorkers are not included when the --flagship flag is used
...but they are included when the --contract 0xbdde08bd57e5c9fd563ee7ac61618cb2ecdc0ce0 command is used (even though the projects are on our core contract)

Minor request around documentation but this LGTM!

@jakerockland Not sure, but I can't seem to see your request about documentation. LMK if you remember what it was (or if you can still see it somehow) 🙏


Abacus-cfpack will only package the application if the package name is cf-abacus

if(JSON.parse(fs.readFileSync(
      path.resolve(dir, 'package.json')).toString()).name === 'cf-abacus')
      return dir;
return rootDir(path.resolve(dir, '..'));
  }

Since abacus-cfpack is looking for the name cf-abacus in the package, you cannot use it in any other project currently.

There is the -r option that takes in a root directory which should bypass the cf-abacus check. Just make sure you don't make the mistake I did in terms of actually passing in the option when testing this out, since it slightly differs depending on whether you're running cfpack directly or through npm run. That could be a possibility if you've tried the argument before with no result.
If you're running cfpack through npm run, then:
npm run cfpack -- -r /path/to/your/module

If you're running cfpack directly through the commandline:
cfpack -r /path/to/your/module

Does that work out for you?

Yes, this does work out for me. Sorry for the confusion.


add track icon, and attribute it

Since this repo uses SWI Prolog, then we should
use the cute SWI Prolog owl icon.
This version of the SWI Prolog "owl and crescent"
was created by me, catb0t.
(The icon looks very shaky at full res; it was a pain to create but I promise it looks fine below 100x100.)

Thank you @catb0t 🎉


How to disable a rule in tslint.json when extending?

This is my tslint.json:
{
    "extends": [
        "tslint:latest"
    ],
    "rules": {
      "no-require-imports": false,
      "quotemark": [
        true, "single", "avoid-escape"
      ]
    }
}

I thought setting no-require-imports to false will allow me to use require in my code but I'm still getting "require statement not part of an import statement" errors.
How can I turn that rule off?

@mohsen1 that lint failure is from the no-var-requires rule. Try using the verbose formatter to see which rule is triggering each failure. https://github.com/palantir/tslint/blob/24017dc49c64d45c5652798e357997d7faab23fa/src/rules/noVarRequiresRule.ts#L37

That worked. Thanks!


Distinguish types of calls for call hierarchy?

For the call hierarchy, @rbuckton brought up that JavaScript and TypeScript has many different ways of actually invoking a function:

New new Foo()
Tagged templates: foo`bar`
Decorators @foo
Property/Element access to accessors obj.foo

My proposal is that TS should return call hierarchy items for all of these cases, but I wanted to check this with you @jrieken. Does that make sense? Should we consider having a way to distinguish different call types?

Yeah, I would say always return all calls but having something like a CallHierarchyCallKind-property on CallHierarchyIncomingCall and CallHierarchyOutgoinhCall sound reasonable. It will be nice if TS starts on this and then we adjust the UX for it

@rbuckton Are there use cases where it would help users to be able to distinguish these different types of calls?

I don't have any specific use cases in mind, but I've seen similar features in other tools (such as Reflector) respect this kind of classification. For accessors especially, it can be useful to distinguish between call sites using the setter and call sites using the getter. Many hierarchy items will only have a single classification (classes can only be new-ed, most functions will only be called, etc.).

For accessors especially, it can be useful to distinguish between call sites using the setter and call sites using the getter.

I like and I believe that it will add value, e.g. the UX can show icons or allow to filter/group by kinds. In fact, there is a similar request to classify reference search results like that too, see https://github.com/microsoft/vscode/issues/74237.
@rbuckton Would you be OK to invent kinds that makes sense for TS and we take that as base to make this vscode API - basically a common denominator that works for multiple languages

Possibly, I'll see what I can come up with.

So far it doesn't seem like there's a good reason to distinguish these types using icons:

However, I could see a use-case for filtering the results, possibly in the upper-right-hand corner of the peek adjacent to the "Calls To"/"Calls From" icon:

VS's version of Call Hierarchy does not have filtering, so I am not certain if there would be value in adding that capability.


CouchDB 1.6 service

The most recent CouchDB version that is available as a service is 1.5. The actual release is 1.6.1.

hey there, the Drone images are being deprecated in favor of the official Docker library images and language packs. If an official CouchDB image does not exist, you can use one of the un-official images in the index:
https://registry.hub.docker.com/search?q=couchdb&searchfield=
and specify in your .drone.yml like so:
services:
  - klaemo/couchdb

I tried to use a service like this. How do I access the CouchDB from within my app? localhost, <IP_ADDRESS> and <IP_ADDRESS> are not working.

the Dockerfile that creates the couchdb image should expose the relevant port(s), for example EXPOSE 5984. Drone will detect exposed ports and automatically setup a proxy between containers over localhost using socat

Tried that with exactly that image but a simple curl against the port fails. Any ideas?

can you share your .drone.yml with any sensitive data removed?

Here it is:
image: node:0.12

services:
  - klaemo/couchdb

script:
  # workaround for cache, see https://github.com/drone/drone/issues/147
  - mkdir -p /tmp/npm
  - npm config set cache /tmp/npm --global

  # actual tests
  - npm install --silent
  - npm -g install bower --silent
  - bower install --allow-root --silent
  - npm test

notify:
  email:
    recipients:
      - ***
      - ***

  slack:
    team: ***
    channel: '#***'
    username: drone
    webhook_url: https://hooks.slack.com/services/***
    on_started: false
    on_success: false
    on_failure: true

cache:
  - /tmp/npm

Does this help? Do you need more information?

@ro-ka I had the same issue. The problem is that the node image doesn't ship with socat. I made this custom image for this purpose: https://hub.docker.com/r/olalond3/node12-psql-docker/~/dockerfile/
Try image: olalond3/node12-psql-docker

Thanks!
But in the meantime we switched to Travis CI…

@ro-ka paid version or self-hosted? Just curious...

Paid as we (Ubilabs) as a company moved all the testing there.


Method/Function that list supported adapters on current install

This request came up in a chat. I see debugging use, and the possibility to use your own preference based on the supported adapters.

My use case would be checking if there is an adapter supporting the system and if not, fallback to a blocking filesystem interface. Debugging is not really an use case for this.


[Feature request] Run the first check directly when the app is started

Hi,
rather a feature request than a bug: it would be cool to run a (battery/unavailable) check once the app is started. This simplifies debugging and I think one would also assume to get notified whether there are such problematic entities directly upon startup. :-)
Guess this should be just a minor thing in the code... :see_no_evil:
Thanks!

The first check is run 120s after start. This grace-period is necessary to give slow devices and integrations in Home Assistant a chance to become "available". I will make this value available as config options so you can adjust it to your needs

Thank you!
Maybe you should add this explanation to the docs as well?


Microphone not working on NixOS 24.11

Describe the bug
My laptop is running NixOS 24.11 with kernel 6.6.63, but recently after Nix pushed the update with kernel 6.6.64 the microphone is missing and not detected (I am trying to use Google Meet/Zoom both says no device detected). I tried change to the later kernels as well e.g., 6.12.3, it's still not working. So I have to go back to the previous state with 6.6.63 kernel.
Btw, I didn't change anything in my configuration.nix, it just broke after updating.
Steps To Reproduce
Steps to reproduce the behavior:
After I do sudo nixos-rebuild switch to rebuild, microphone will be missing.
Btw I am using flake.
Expected behavior
It should work as the same as 6.6.63 kernel.
Screenshots

Additional context

Metadata
My NixOS 6.6.63 info:

system: "x86_64-linux"
host os: Linux 6.6.63, NixOS, 24.11 (Vicuna), 24.11.20241210.a0f3e10
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.24.10
nixpkgs: /nix/store/va0p2i72cm2ljwm084a0g6ji41s5qnyz-source

My NixOS 6.6.64 info:

system: "x86_64-linux"
host os: Linux 6.6.64, NixOS, 24.11 (Vicuna), 24.11.20241213.314e12b
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.24.10
nixpkgs: /nix/store/0xbni69flk8380w0apw4h640n37wn1i9-source

Notify maintainers

Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

What laptop are you using?

What laptop are you using? Do you use pulseaudio or pipewire?

I am using pipewire. Here is the sound part of my configuration.nix:
  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
  };

My laptop is a ASUS Vivobook Go 15 with AMD Ryzen 7520U CPU + Radeon 610M GPU.

Maybe that's something wrong to the PipeWire for AMD Family 17h/19h HD Audio Controller?

Maybe that's something wrong to the PipeWire for AMD Family 17h/19h HD Audio Controller?

I'm currently using pipewire with 6.6.64 and I have a AMD Ryzen 5 5500U  Lenovo Yoga 6 and my built-in microphone is working.
This sounds like an unfortunate kernel regression with your specific hardware if 6.6.63 has your microphone working.
  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
  };

Per 24.11 release notes:

The default sound server for most graphical sessions has been switched from PulseAudio to PipeWire.

Also this is not required to be set separately on NixOS if a graphical desktop is enabled such as GNOME and KDE.

Maybe that's something wrong to the PipeWire for AMD Family 17h/19h HD Audio Controller?

I'm currently using pipewire with 6.6.64 and I have a AMD Ryzen 5 5500U on Yoga 6 13ALC6 and my built-in microphone is working.
This sounds like an unfortunate kernel regression with your specific hardware if 6.6.63 has your microphone working.
  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
  };

Per 24.11 release notes:

The default sound server for most graphical sessions has been switched from PulseAudio to PipeWire.

Also this is not required to be set separately on NixOS if a graphical desktop is enabled such as GNOME and KDE. Try removing this and rebuild to see if it changes anything.
Otherwise, it would be helpful to inspect what pavucontrol shows under input devices. For example this is what it looks like on my machine.

Thanks for the advice. I removed the code snippet, did the nix flake update and then rebuild, same thing happens for 6.6.66 kernel.
Btw I also did a fresh install yesterday afternoon and same things happened.

Okay I can confirmed something was changed after 6.6.63 kernel. I did a manual rebuilt of the 6.6.63 kernel and the microphone starts working again. But if I use 6.6.64, 6.6.66 or 6.12.3 kernel, microphone is not detected again

Can you show the output of wpctl status on 6.6.66?

Can you show the output of wpctl status on 6.6.66 while Google Meet/other problematic apps are open? Is the microphone not found only by these programs and other programs are fine or is your entire system not seeing the mic.

I think it's the entire system. I also try zoom-us and it's not detecting mic as well

6.6.63 output:
 ~  wpctl status                                                                                 ✔  00:47:04
PipeWire 'pipewire-0' [1.2.6, jasonkwh@nixos, cookie:770972048]
 └─ Clients:
        34. .kwin_wayland-wrapped               [1.2.6, jasonkwh@nixos, pid:1345]
        35. WirePlumber                         [1.2.6, jasonkwh@nixos, pid:1406]
        43. WirePlumber [export]                [1.2.6, jasonkwh@nixos, pid:1406]
        66. pipewire                            [1.2.6, jasonkwh@nixos, pid:1680]
        67. libcanberra                         [1.2.6, jasonkwh@nixos, pid:1476]
        68. .xdg-desktop-portal-wrapped         [1.2.6, jasonkwh@nixos, pid:1354]
        69.                                     [1.2.6, jasonkwh@nixos, pid:1476]
        72. .plasmashell-wrapped                [1.2.6, jasonkwh@nixos, pid:1566]
        73. libcanberra                         [1.2.6, jasonkwh@nixos, pid:1566]
        74.                                     [1.2.6, jasonkwh@nixos, pid:1566]
        75. Brave input                         [1.2.6, jasonkwh@nixos, pid:2300]
        77. KDE Power Management System         [1.2.6, jasonkwh@nixos, pid:1601]
       105. wpctl                               [1.2.6, jasonkwh@nixos, pid:7785]

Audio
 ├─ Devices:
 │      44. Rembrandt Radeon High Definition Audio Controller [alsa]
 │      45. Family 17h/19h HD Audio Controller  [alsa]
 │
 ├─ Sinks:
 │  *   52. Family 17h/19h HD Audio Controller Speaker [vol: 0.50]
 │
 ├─ Sources:
 │      53. Family 17h/19h HD Audio Controller Headphones Stereo Microphone [vol: 1.00]
 │  *   54. Family 17h/19h HD Audio Controller Digital Microphone [vol: 1.00]
 │
 ├─ Filters:
 │
 └─ Streams:

Video
 ├─ Devices:
 │      55. USB2.0 HD UVC WebCam                [v4l2]
 │      56. USB2.0 HD UVC WebCam                [v4l2]
 │      57. USB2.0 HD UVC WebCam: USB2.0 HD     [libcamera]
 │
 ├─ Sinks:
 │
 ├─ Sources:
 │  *   70. USB2.0 HD UVC WebCam (V4L2)
 │
 ├─ Filters:
 │
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    alsa_output.pci-0000_03_00.6.analog-stereo
         1. Audio/Source  alsa_input.pci-0000_03_00.6.HiFi__Mic1__source

6.6.66 output:
 ~  wpctl status                                                                                 ✔  00:48:55
PipeWire 'pipewire-0' [1.2.6, jasonkwh@nixos, cookie:1955512726]
 └─ Clients:
        34. .kwin_wayland-wrapped               [1.2.6, jasonkwh@nixos, pid:1349]
        35. WirePlumber                         [1.2.6, jasonkwh@nixos, pid:1410]
        43. WirePlumber [export]                [1.2.6, jasonkwh@nixos, pid:1410]
        60. pipewire                            [1.2.6, jasonkwh@nixos, pid:1679]
        61. libcanberra                         [1.2.6, jasonkwh@nixos, pid:1479]
        62. .xdg-desktop-portal-wrapped         [1.2.6, jasonkwh@nixos, pid:1358]
        65.                                     [1.2.6, jasonkwh@nixos, pid:1479]
        66. .plasmashell-wrapped                [1.2.6, jasonkwh@nixos, pid:1563]
        67. libcanberra                         [1.2.6, jasonkwh@nixos, pid:1563]
        68.                                     [1.2.6, jasonkwh@nixos, pid:1563]
        69. wpctl                               [1.2.6, jasonkwh@nixos, pid:2234]

Audio
 ├─ Devices:
 │      44. Rembrandt Radeon High Definition Audio Controller [alsa]
 │      45. Family 17h/19h HD Audio Controller  [alsa]
 │
 ├─ Sinks:
 │  *   52. Family 17h/19h HD Audio Controller Analog Stereo [vol: 0.40]
 │
 ├─ Sources:
 │
 ├─ Filters:
 │
 └─ Streams:

Video
 ├─ Devices:
 │      53. USB2.0 HD UVC WebCam                [v4l2]
 │      54. USB2.0 HD UVC WebCam                [v4l2]
 │      59. USB2.0 HD UVC WebCam: USB2.0 HD     [libcamera]
 │
 ├─ Sinks:
 │
 ├─ Sources:
 │  *   63. USB2.0 HD UVC WebCam (V4L2)
 │
 ├─ Filters:
 │
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    alsa_output.pci-0000_03_00.6.analog-stereo
         1. Audio/Source  alsa_input.pci-0000_03_00.6.HiFi__Mic1__source

Family 17h/19h HD Audio Controller  [alsa]

It's good to know that your audio device is still recognized just not the source.
Here's the changelog for the 6.6.64 kernel: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.64 I couldn't find anything that directly relates to the Family audio controller, but you might be able to.
At this point we should triage whether this can be reproduced on other GNU/Linux systems. I'd recommend creating a bootable USB (recommend using ventoy for this task) with a live environment of a distribution that ships a graphical desktop with a recent kernel (Endeavor OS or Fedora Workstation come to mind).

Family 17h/19h HD Audio Controller  [alsa]

It's good to know that your audio device is still recognized just not the source.
Here's the changelog for the 6.6.64 kernel: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.64 I couldn't find anything that directly relates to the Family audio controller, but you might be able to.
At this point we should triage whether this can be reproduced on other GNU/Linux systems. I'd recommend creating a bootable USB (recommend using ventoy for this task) with a live environment of a distribution that ships a graphical desktop with a recent kernel (Endeavor OS or Fedora Workstation come to mind). That way we can be sure it's a nixpkgs issue and not a wider hardware issue.
Also can you share your configuration.nix here. Even if you didn't change anything it would be helpful to have.

I will give it a try later this week. Thanks for helping it.
And here is my github repository for my personal nix files: https://github.com/jasonkwh/my-nixos-configurations

Family 17h/19h HD Audio Controller  [alsa]

It's good to know that your audio device is still recognized just not the source.
Here's the changelog for the 6.6.64 kernel: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.64 I couldn't find anything that directly relates to the Family audio controller, but you might be able to.
At this point we should triage whether this can be reproduced on other GNU/Linux systems. I'd recommend creating a bootable USB (recommend using ventoy for this task) with a live environment of a distribution that ships a graphical desktop with a recent kernel (Endeavor OS or Fedora Workstation come to mind). That way we can be sure it's a nixpkgs issue and not a wider hardware issue.
Also can you share your configuration.nix here. Even if you didn't change anything it would be helpful to have.

Hey mate. I did a test with OpenSUSE Tumbleweed live cd with Kernel 6.11.8, the mic is working:

I believe is NixOS's issue now.

There is a potential Nix issue with your configuration in commit 82a9d26 with your hardware-configuration.nix
I didn't spot this at first since generally you do not want to edit this file manually as it is automatically generated by NixOS before you install the system and should stay untouched.
Try removing the extraneous hardware.graphics, pulseaudio, bluetooth, and steam hardware options from hardware-configuration.nix then rebuild and then check if the mic source is found (wpctl status).
The only thing that should be left alone is
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

It's good to know that Linux didn't just bonk your hardware.
There is a potential Nix issue with your configuration in commit 82a9d26 with your hardware-configuration.nix
I didn't spot this at first since generally you do not want to edit this file manually as it is automatically generated by NixOS before you install the system and should stay untouched.
# Do not modify this file!  It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations.  Please make changes
# to /etc/nixos/configuration.nix instead.

Things like commit 554f915  should not be placed in this file.
Try removing the extraneous hardware.graphics, pulseaudio, bluetooth, and steam hardware options from hardware-configuration.nix then rebuild and then check if the mic source is found (wpctl status).
The only thing that should be left alone is
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

So putting that commit of keystroke replacement in configuration.nix will fix the issue?

It's good to know that Linux didn't just bonk your hardware.
There is a potential Nix issue with your configuration in commit 82a9d26 with your hardware-configuration.nix
I didn't spot this at first since generally you do not want to edit this file manually as it is automatically generated by NixOS before you install the system and should stay untouched.
# Do not modify this file!  It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations.  Please make changes
# to /etc/nixos/configuration.nix instead.

Things like commit 554f915  should not be placed in this file.
Try removing the extraneous hardware.graphics, pulseaudio, bluetooth, and steam hardware options from hardware-configuration.nix then rebuild and then check if the mic source is found (wpctl status).
The only thing that should be left alone is
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

Hey mate. Thanks for the help. I regen the hardware-configuration.nix and moved my config to configuration.nix.
You can check my updated repo.
However it's still not working. Microphone is still missing.

:disappointed: hm, I can't see what could be causing this specifically on NixOS. Does the microphone appear in the NixOS live environment iso (KDE Plasma or GNOME?)
Otherwise I'm pretty stumped atm.

I bought one of these: https://www.lenovo.com/us/en/p/laptops/thinkpad/thinkpadp/lenovo-thinkpad-p14s-gen-5-14-inch-amd-mobile-workstation/
and I have a similar microphone issue. I was able to have it work briefly - tested in Audacity. Now I get no audio pickup.
pamixer --list-sources says both the Audio Controller Headphones Stereo Microphone and Audio Controller Digital Microphone are Suspended. It's a laptop and I've never plugged in a peripheral.
The hardware "microphone muted" light stays on. If I tap it, the OS will toggle "Microphone Muted / Microphone ", but I cannot get anything to record it.
My config:
security.rtkit.eanble = true;

services.pipewire = true {
  enable = true;
  systemWide = true;
  alsa.enable = true;
  alsa.support32Bit = true;
  jack.enable = true;
  pulse.enable = true;
};

Guys, seems like the issue has been resolved in the recent Nix release with kernel 6.12.7.


chore: add disable custom data field to NBC

What type of PR is this?
This PR introduces a field DisableCustomData to NBC, which when set to true will not check for cloud init completion. Currently, the default is false, that is, it will always check for cloud init completion. This, in tandem with RP toggle change will allow not setting custom data.

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall First build on amaheshwari/disablecd at 61.551%

Totals

Change from base Build<PHONE_NUMBER>:
61.6%

Covered Lines:
2563

Relevant Lines:
4164

💛  - Coveralls


Roblox LSP doesn't type check or autofill in .luau files

here's what its expected to look like

Furthermore Roblox LSP doesn't seem to error check in .luau files
it only really syntax highlights
this is pretty important as there's discussions on using .luau now that its open source

this has become more important as luau now supports .luau file extension


Fullscreen games reading cursor position wrong

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit 6c4e2489a0a153ac2a92744ecb2985280c97fc89 dirty (layout: Fix toggling fullscreen special workspace on different monitor (5000)).
Date: Thu Mar 7 20:27:58 2024
Tag: v0.36.0-69-g6c4e2489

flags: (if any)

System Information:
System name: Linux
Node name: Murmaider
Release: 6.6.21-1-lts
Version: #1 SMP PREEMPT_DYNAMIC Wed, 06 Mar 2024 16:59:55 +0000

GPU information:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [Geforce RTX 3070 Ti Laptop GPU] [10de:24a0] (rev a1) (prog-if 00 [VGA controller])
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev c7) (prog-if 00 [VGA controller])

os-release: NAME="EndeavourOS"
PRETTY_NAME="EndeavourOS"
ID="endeavouros"
ID_LIKE="arch"
BUILD_ID="2023.11.17"
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://endeavouros.com"
DOCUMENTATION_URL="https://discovery.endeavouros.com"
SUPPORT_URL="https://forum.endeavouros.com"
BUG_REPORT_URL="https://forum.endeavouros.com/c/arch-based-related-questions/bug-reports"
PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2"
LOGO="endeavouros"

plugins:

Bug or Regression?
Regression
Description
Ever since i recompiled from git yesterday (it did not happen before then), I have been having a problem where sometimes when i launch games in fullscreen the game reads the cursor position incorrectly (see screenshot for what i mean)
How to reproduce
Launch a game (seemingly any game, i have had this issue with a proton/dxvk game and a native opengl game) in fullscreen and see if the mouse works. It doesn't happen 100% of the time but it is quite frequent.
Crash reports, logs, images, videos
As you can see, the cursor is a bit below the racemenu, but there's a tooltip where the game thinks the cursor is (just about right in the middle of the screen)

well I'll need some more information about your setup brother as it doesn't happen in any game I play.
Is this perhaps xwayland with force_zero_scaling?

yes

patch.txt
try

well I'll need some more information about your setup brother as it doesn't happen in any game I play.
Is this perhaps xwayland with force_zero_scaling?

I tested it a bit more after you said that, it seems with openmw the issue always occurs when force_zero_scaling is on, but never when it is off (at least between about 5 launches under each condition),  so it is definitely related to this.
The other game it still only happens sometimes when force_zero_scaling is on, i haven't been able to test that one very thoroughly though because it takes a min to launch

patch.txt try

I'm afraid I don't know how, i'm on arch and have just been installing with the aur package, i could maybe edit the pkgbuild to include the patch but i have used the patch command so rarely i'm not even  sure what the exact command would look like :/

patch -p1 < /path/to/patch || echo ""

source=(
  "git+https://github.com/hyprwm/Hyprland.git"
  "git+https://gitlab.freedesktop.org/wlroots/wlroots.git"
  "git+https://github.com/hyprwm/hyprland-protocols.git"
  "git+https://github.com/canihavesomecoffee/udis86.git"
  "git+https://github.com/wolfpld/tracy.git"
  "patch.txt"
)
b2sums=(
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
  'SKIP'
)

pick_mr() {
  git pull origin pull/$1/head --no-edit
}

prepare() {
  cd Hyprland
  patch -p1 < "$srcdir/patch.txt" || echo ""> `patch -p1 < /path/to/patch || echo ""`

The command didn't seem to work, this was the output:
patching file src/managers/input/InputManager.cpp
File subprojects/wlroots is not a regular file -- refusing to patch
1 out of 1 hunk ignored -- saving rejects to file subprojects/wlroots.rej

patch.txt try

Ok, i'm pretty sure it worked, at least i can't replicate the issue after i applied it.

Looks like I'm having the same or similar problem. DXVK / Proton / Xwayland. Video demonstration from Hyprland compiled from https://github.com/hyprwm/Hyprland/commit/717d5b3cc2b9e2f94d3ec1ba794e21bc2bb787e3 with the above patch applied: https://youtu.be/KtpDyNPXzO4


Handle unexpected responses

Hi @Xetera,
While using your library, I encountered a peculiar JSON decoding error. This issue turned out to be caused by a 302 redirect response, where the Amazon server was attempting to reauthenticate the session.
To address this, I added a check to ensure the response code from Amazon is as expected (200) before parsing the JSON body. This allows callers to catch the error and respond accordingly.
Please take a look at it.
Thanks!

I will update this PR as soon as the other one has been merged.


Bug: ObjectKind missing when creating subgroup

What were you trying to achieve?
Solve the problem of error when adding a subgroup
What are the expected results?
Group added successfully
What are the received results?
Failed to add policies
Steps To Reproduce
http://localhost:9004/{domainID}/groups
{
    "name": "ChildrenGroup",
    "description": "children group",
    "parent_id": "8a7fe2bb-fdf1-4d1d-850a-27961ec2f85e"
}

In what environment did you encounter the issue?
In the latest version
Additional information you deem important
The specific problem occurs when the parent_id parameter is included when creating a group, ObjectKind is missing when adding a policy, resulting in the switch judgment of default in the groupPreConditions method of spicedb.
The specific problem occurs in the following files:
groups/service.go:93
pkg/policies/spicedb/service.go:814

There is an additional problem. When using the http://localhost:9004/{domainID}/groups/{groupID}/hierarchy?tree=true interface and transmitting the parameter tree=true, no tree structure is returned. The group that is not allowed to access will be reset to Group{ID: "xxxx-xxxx-xxxx-xxxx", Level: g.Level}, which is not the expected effect.


Sync published with master

Deploy preview for docsdocker ready!
Built with commit 4b5fbbdbc9ed26dfe9d3e298c48594ab80fd9c8e
https://deploy-preview-8377--docsdocker.netlify.com


fix for missing asset uri and invalid multihash ref

prevents an exception if a remote __mediachain_asset__ in the translator output does not have a uri key.  This can happen when all you have is a local asset without a remote asset uri.  Now it will still add the local asset to ipfs and not die with a LookupException
Also validates the multihash in MultihashReference.__init__, since I discovered that if you use the multihash_ref helper it can let invalid strings through.

:+1:
in general this bit

if you use the multihash_ref helper it can let invalid strings through.

shouldn't happen but let's not worry about it right now (unless you're missing a "not" in there?)

oh yeah, I meant previously, that could happen.  this branch fixes it :)


Organization URL should accept just TLDs

When creating a new org account, the  Organization URL should accept TLDs. It should auto expand to https:// and reject ftp://.
To recreate the issue-

Log in
Click on 'Your Organizations'
Enter the URL and other details to create a new organization

The Organization URL accepts ftp://.

We should reject non http/https URLs for sure. That's a high-ish priority.
Accepting tlds is low priority.

We can reject the inputs from the form with a custom Validator pretty easily - https://github.com/pypi/warehouse/pull/12691
Adding a constraint to the DB is a little harder, as we're using sqlalchemy_utils URLType today, which doesn't have any real configuration to it, nor do we install furl to take advantage of the data structure, so I'm not sure if we gain much from using URLType in the DB, it's a text column with no other constraints. We can add a CheckConstraint against that condition - but would need to verify that no existing data in the prod DB before we add that migration with something like:
select link_url from organizations where link_url not like 'http%';

And the automatic expansion changes the game somewhat - in that case, we'd back out the validator from the form, massage the input prior to inserting to the DB, and relying on the DB constraint to validate inputs.

warehouse_test=> select count(*) from organizations;
 count
-------
     0
(1 row)```

warehouse=> select count(*) from organizations;
count
 0

(1 row)

So we're good with a CheckConstraint.


Scaffolder: EntityPicker Read Only and Owned ui:option ?

Feature Suggestion
It would be great to have a ui:option to make the EntityPicker field Read only and be able to only show entities owned by the logged in user.
Possible Implementation
If I want to show all component in 'Read' only mode and only list entities with the kind 'Component' that are 'Owned' by the logged in user:
    component:
      title: Component
      type: string
      description: Component
      ui:field: EntityPicker
      ui:options:
        allowedKinds:
          - Component
        allowedPermissions:
          - Read
          - Owned
        defaultKind: Component

Context

User john.smith who is part of the infrastructure group wants to increase his services memory from 2GB to 4GB to a component owned by his group. This entails opening a PR against the secured repository that contains a Deployment.yaml that is owned by the infrastructure group.

Thinking that maybe we should move this stuff to a new component instead. Maybe an OwnedEntitiesPicker rather than adding things on top of the entity picker which is supposed to be pretty light.

My pleasure, thanks for the PR!

We can close this issue and link it with 8438

https://github.com/backstage/backstage/pull/8438 ✅
TODO: Add option to disable arbitrary values within the New OwnedEntityPicker to mimic same option added to standard EntityPicker #8441


[Preview 5] Container with multiple endpoints leads to InvalidOperationException

I'm using Papercut in my solution to act as a local SMTP server for development purposes.
It exposes 2 endpoints, one for port 25 to receive email and another port for its web interface.
This was working in preview 4.
builder.AddContainer("papercut", "jijiechen/papercut")
    .WithEndpoint(port: 25, targetPort: 25)
    .WithEndpoint(port: 37408, targetPort: 37408);

Yesterday I updated to VS2022 17.10 and Aspire preview 5.
The code above throws an InvalidOperationException.
The call stack:
Aspire.Hosting.Dcp.ApplicationExecutor[0]
      Watch task over kubernetes Service resources terminated unexpectedly. Check to ensure dcpd process is running.
      System.InvalidOperationException: Sequence contains more than one matching element
         at System.Linq.ThrowHelper.ThrowMoreThanOneMatchException()
         at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
         at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
         at Aspire.Hosting.ApplicationModel.EndpointReference.GetEndpointAnnotation() in /_/src/Aspire.Hosting/ApplicationModel/EndpointReference.cs:line 100
         at Aspire.Hosting.ApplicationModel.EndpointReference.get_EndpointAnnotation() in /_/src/Aspire.Hosting/ApplicationModel/EndpointReference.cs:line 18
         at Aspire.Hosting.Dcp.ApplicationExecutor.GetUrls(CustomResource resource) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 581
         at Aspire.Hosting.Dcp.ApplicationExecutor.ToSnapshot(Container container, CustomResourceSnapshot previous) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 467
         at Aspire.Hosting.Dcp.ApplicationExecutor.<>c__DisplayClass37_0.<TryRefreshResource>b__0(CustomResourceSnapshot s) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 451
         at Aspire.Hosting.ApplicationModel.ResourceNotificationService.PublishUpdateAsync(IResource resource, String resourceId, Func`2 stateFactory) in /_/src/Aspire.Hosting/ApplicationModel/ResourceNotificationService.cs:line 42
         at Aspire.Hosting.Dcp.ApplicationExecutor.TryRefreshResource(String resourceKind, String resourceName) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 447
         at Aspire.Hosting.Dcp.ApplicationExecutor.ProcessServiceChange(WatchEventType watchEventType, Service service) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 427
         at Aspire.Hosting.Dcp.ApplicationExecutor.<>c__DisplayClass32_1`1.<<WatchResourceChanges>b__8>d.MoveNext() in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 233
      --- End of stack trace from previous location ---
         at Aspire.Hosting.Dcp.ApplicationExecutor.<>c__DisplayClass32_1`1.<<WatchResourceChanges>b__8>d.MoveNext() in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 227
      --- End of stack trace from previous location ---
         at Polly.ResiliencePipeline.<>c.<<ExecuteAsync>b__3_0>d.MoveNext()
      --- End of stack trace from previous location ---
         at Polly.Outcome`1.GetResultOrRethrow()
         at Polly.ResiliencePipeline.ExecuteAsync(Func`2 callback, CancellationToken cancellationToken)
         at Aspire.Hosting.Dcp.ApplicationExecutor.<>c__DisplayClass32_0.<<WatchResourceChanges>g__WatchKubernetesResource|1>d`1.MoveNext() in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 223

When I comment one of the WithEndpoint calls, the solution does start without errors.
How do I expose multiple endpoints on a container in preview 5?

Conflicting port names (absent a name, it would get 'tcp' and then two same-named ports.  Try adding name/scheme:
builder.AddContainer("papercut", "jijiechen/papercut")
    .WithEndpoint(port: 25, targetPort: 25, name:"smtp")
    .WithEndpoint(port: 37408, targetPort: 37408, name:"web", scheme:"http");

Yes, that did the trick.
Thanks @timheuer!


Azure Website Throws Error When Accessed

I would like to know how this works so I can use it in my project but the Azure website gives the following error whenever I access it: "The specified CGI application encountered an error and the server terminated the process". It has been doing this for at least a few days and I cannot seem to find how to get this plugin working as all I can seem to find is help for MVC5.

Yes, I still don't know how to deploy it correctly on azure using RC2 or even if azure supports it?
Redeploying RC1 seems to not work anymore either, your best choice now would be to clone this repo and run it locally.


Update puck.js

Using ternary operator instead of if statement (keep in mind this doesn't affect performance), basically if the condition inside the parentheses are met, multiply it by -1, else multiply it by 1

Community Contribution
Link to live project, video, or image:

Sharing

[x] I would be happy to have my project shared on The Coding Train's social media!

Instagram:
Twitter:
@Artzified0

We don't accept changes to the source code that don't serve a clear purpose. Feel free to submit any of your own versions of the challenge as contributions however!


Icon missing for packages

At some point we lost the icon... either upgrading to .NET Core SDK (csproj from project.json) or when autogenerating project files.

This went MIA between April 21st and May 22nd...

On May 9th, we moved from project.json to csproj files, and lost this in the process:
"iconUrl": "https://cloud.google.com/images/gcp-icon-64x64.png"

Looks like we need a PackageIconUrl element.


Is server side rendering possible?

Hi. Thanks for creating this monorepo.
I wonder whether server side rendering is possible here? I tried the example but couldn't get the SSR working.

@nandorojo sorry to dig up this old issue, but could you help me understand the appeal of Next.js without SSR / SSG? I know there are more features to Next than just ssr/ssg but seems like it adds a lot of overhead esp with navigation while missing out on one of the key features. Any thoughts appreciated!

I'd rank code splitting alone pretty high. Also you can still get the SSG benefits of data fetching for SEO meta tags/initial client-side render.

Okay thanks. I just wanted to make sure I wasn't missing anything. I have this repo cloned and running with Moti, Stripe, Apollo, and a few other toys and having fun so far. The navigation bit is a little tedious, but it's a small price to pay for such powerful tool.

Yeah the navigation is pretty repetitive as it is. I anticipate this not being the case once Expo gets rid of Metro. Once that’s the case, we’ll be able to use the pages folder for navigation on Native, too.
I’m also working on a library that abstracts a good amount of the navigation code from this repo.

I'll be on the lookout - really appreciate all your work in this space


Versions list

Hi,
I am trying to use this library in my multiplatform project, which runs on android, ios and javascript.
Having issues, that I need to have lots of version checks:

Need to have library compiled at same kotlin versin as my code for native (1.3.71)
Need to have library which has android minSDK 14 or lower (I see newer versions have 16).

Can you please update readme file with list of versions, their respective kotlin version used and android minSDK?
Or at least, how to find it in source per tag?
Also why is there requirement for min version of 16? I wanna know if I can still use in SDK 14.
Thanks!

I guess we should use the minimum SDK as possible here. This library doesn't have fancy stuff requiring older versions so I guess that should be possible.


i can't call the event in function notificationTapLaunchedAppFromTerminated when the user taps the notification while the app is shutting down

I can't call the event in function notificationTapLaunchedAppFromTerminated when the user taps the notification while the app is shutting down. When I debug I notice the function onNotificationTap hanlde event tap in the state: foreground, background, Terminated . These cases only happen on ios, android works normally

Hi, @chuvanhoang888 can you provide more context around the error? It would be useful to have an error log for the same. Also, mention the version of flutter being used as of now.
Since this is working on android, must be a common error around iOS flutter apps. If you have suggestions to fix he same based on your findings, it will be helpful for us 👍


Windows os regression script enhancement

disable firewall to be able to test link after the static IP is assigned to the node as part of max payload

BUILD on-http #2793 : FAILURE

** BUILD build-config-setup  #145646: SUCCESS
** BUILD unit-tests  #9998: SUCCESS
** BUILD smoke-test  #3727: FAILURE


[PHP8] Namespace does not get set causing ValueError in SoapHeader class

Throws Error
$client = new SforceEnterpriseClient();
$client->setSessionHeader(...);
/*
  Throws following error:
  ValueError: SoapHeader::__construct(): Argument #1 ($namespace) cannot be empty in /vendor/developerforce/force.com-toolkit-for-php/soapclient/SforceBaseClient.php:377
*/

Word-around
$client = new SforceEnterpriseClient();
$client->SforceEnterpriseClient();
$client->setSessionHeader(...);

Works for SforcePartnerClient() as well.  Thanks!
$client = new SforcePartnerClient();
$client->SforcePartnerClient();


add more algorithm in searching and sorting

list of searching and sorting algorithm
Marked Complete. when you did

[x] Binary Search
[x] Liner Search
[x] Insertion Sort
[x] Bubble Sort
[x] selection sort
[x] quick sort
[x] merge sort
[x] count sort
[x] heap sort
[ ] Radix sort
[x] shell sort
[x] Pigeonholesort.py

can i work on this issue ?

Please assign me this issue

can i pls contribute to this issue

@Souvik-Nayak  marked which you done

list of searching and sorting algorithm
Marked Complete. when you did

[]  Binary Search
[ ]  Liner Search
[ ]  Insertion Sort
[ ]  Bubble Sort
[x]  selection sort
[]  quick sort
[ ]  merge sort
[ ]  count sort
[ ]  heap sort
[ ]  Radix sort
[ ]  shell sort

Hey I also want to contribute to it ,please assign it to me

Hey I also want to contribute to it ,please assign it to me

Yes sure 👍

list of searching and sorting algorithm
Marked Complete. when you did

[x]  Binary Search
[x]  Liner Search
[x]  Insertion Sort
[x]  Bubble Sort
[x]  selection sort
[x]  quick sort
[x]  merge sort
[ ]  count sort
[ ]  heap sort
[ ]  Radix sort
[ ]  shell sort

I have done bubble sort algorithm

Hey I also want to contribute to it ,please assign it to me

I want to contribute , I can satisfy all the algorithms of the list , please assign me this

someone would like to add the radix sort algorithm then we can close this issue?


Distroless Dockerfile

Update the existing Dockerfile to use a distroless base. This will improve our security posture as well as shrink the image size.
Because this is written in python 3.10, we cannot use the google distroless python image and have to build our own. https://alexos.dev/2022/07/08/creating-an-up-to-date-distroless-python-image/ has some info.

https://github.com/andrewthetechie/route53-operator/pull/15


Bluetooth: controller: llcp: terminate on collision

As per bluetooth spec Vol. 6 part B section 5.3 we need to terminate the connection under given situation
We also always need to indicate if we are running a procedure with instant otherwise collission detection may fail
Fixes #42544
Signed-off-by: Andries Kruithof<EMAIL_ADDRESS>

I believe we discussed adding some more unit testing for this functionality?

I think we should remove the superflous 'with_instant' from the if clause in line 516 (the central collision case), as it is implicit since we know the we have NOT !with_instant ;-)
This makes it a bit nicer to read.

I believe we discussed adding some more unit testing for this functionality?

Will come in separate PR


Add guide for GKE checks

This adds a brief guide that illustrates how to run the preflight agent locally using the GKE data-gatherer to get some GKE checks in Preflight.
Signed-off-by: Jose Fuentes<EMAIL_ADDRESS>

/lgtm


WIP improve oci test coverage

Signed-off-by: fahedouch<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3830   +/-   ##
=======================================
  Coverage   41.98%   41.98%
=======================================
  Files         130      130
  Lines       14577    14577
=======================================
  Hits         6120     6120
  Misses       7543     7543
  Partials      914      914

Flag
Coverage Δ

#linux
45.42% <ø> (ø)
:arrow_up:

#windows
36.94% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM


Automator: update istio/client-go@master dependency in istio/istio@master

Generated by Automator - 2022-03-26T03:10:49+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-distroless_istio
feaf310323f37902f79d120317ad82a5b554f34d
link
unknown
/test integ-distroless_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


tilemap editor: creating a tile should make it be your selected tile

Is your feature request related to a problem? Please describe.
When you make a new tile it should select it as your current tile, so that you can draw with it without having to click it under my tiles
Describe the solution you'd like
clicking + under my tiles should select the tile you just created
Additional context
Each time I make a tile I end up drawing with the previously selected tile, then having to undo it, select the new tile, and then draw. Editing the tile after you have made it doesn't have this problem as you had to select it to edit in again in the first place

Fixed by https://github.com/microsoft/pxt/pull/7444


pages for chebi and phase terms

we ned to decide when these should show
e.g.
http://preview.pombase.org/term/GO%3A0072690
from expression section

see
https://github.com/pombase/website/issues/473


Styled-components as peer dependency

When a consumer app tries to include Kepler.gl we have noticed few issue with styled-components being imported twice.
Move styled-components to peer-dependecy and specify the version

Implemented here: https://github.com/uber/kepler.gl/pull/423


⭐ 17 - Interactive Flashcards (Hacktoberfest Demo)

🤩 Thank you for participating in the CopilotKit Hacktoberfest event.
Follow This Link to Get Started!🎉
NOTE: CopilotKit will allow multi-assign issues
Please show your support and give a ⭐ to the CopilotKit repository.
Demo:
Interactive Flashcards
Description of app functionality:
Create a learning app that allows users to create flashcards for studying and quizzes them interactively
Technology Requirements
Using CopilotKit

Required: Your project must utilize CopilotKit as a core component.
Installation: Include CopilotKit by following the installation guide at CopilotKit Quickstart.
Documentation: Familiarize yourself with CopilotKit's features through the Official Documentation.

Styling with Shadcn-UI

Required: All UI components in your project should be styled using Shadcn-UI.
Installation: Install Shadcn-UI documentation

Can you assign this issue to me?

Hello, can you assign me this issue?!!

@NathanTarbert Will the best demo be merged or all the presented demos will be merged?

@Niharika0104, if the demo works and utilizes CopilotKit we will merge it.

@NathanTarbert demo works perfectly..you can check it out

I sure will @Niharika0104. We are working through all of them.

@NathanTarbert, can you assign me this. I want to contribute .

@NathanTarbert Interested.

@quest-bot embark

@quest-bot embark

Hey @NathanTarbert , please assign this task to me.


Feedback

This looks pretty good.
Wasn't sure the best way to provide some feedback, so figured I'd just open an issue...  I've been looking into building something similar but perhaps 8 fans and using an esp32 running @esphome to make the fan speed something that could be controlled and monitored via @homeassistant.  A few thoughts popped up aside from sizing:

Why not move the fans inside the case and put the fan guards on the exterior?  That would certainly improve the "curb appeal" of the device.
Why not add some weather seals around the air filter for sure, possibly also the fans?  That would ensure more airflow is going through the filter rather than around it and should improve effectiveness.

Cool. No worries, I'm actually still learning these interfaces, too. Few thoughts.

My early designs put the fan inside, where it's also convenient for the fan to rest against. I changed it after some early designs that seemed like they should have been good weren't that good using the salt crystal particle counting method (shoot pure salt water in the air with a nebulizer and then track with a particle counter how quickly your purifier removes it in a confined space like a bathroom. I am not a fluid dynamics expert, but after many iterations and comparing against other purifier designs, I learned that the interior size needed to be minimized. Also, I learned that I couldn't just deck out the box with fans, but in certain positions (e.g., across from each other), they interfered. I also found a few papers and tweets on similar topics. On the fan placement inside vs. outside, I guessed that outside might be superior based on the Air Fanta 3Pro's design. My suspicion is that pulling the air out is better than pushing it out, but I haven't confirmed this in a head-to-head test. But that's why I decided to default to outside and use the 3d printed holder on the interior. To be clear, it's a guess.
Again, earlier in my tests I did a lot of sealing with tape and foam when I believed that was a problem. Turned out, it was my designs that were bad and the sealing didn't matter. At the moment, I don't think I'm losing a ton of air through the small gaps. However, when I do my close-to-final test, I'll probably try that, too, to see if it makes a difference. Other makers in this space seem to have the same belief -- as long as the design is decent, the small gaps don't seem to matter.

On the monitoring/speed control, I love programmable microcontrollers and I debated on whether or not something like that was useful. For my specific use case of something for classrooms, I've avoided adding anything extra due to cost. What I may consider down the road is LoRaWan for monitoring. My rationale is that for schools, I want to know that it's being used, but I can't trust (or expect) the school to give my purifier wifi access. So, instead, I can just broadcast the stats via LoRaWan and have a nearby parent save and relay the data. So, my only thoughts for microcontrollers are just thinking through your use case and whether you might want to scale it up and just make sure it makes sense.
On the multiple fans, my advice is to mock up different designs with cardboard, fans, filters, and duct tape. And do quick tests with salt particles to see how well it works. It was humbling for me to see good design ideas I had didn't work well in practice. The Corsi box design (and AirFanta 3Pro) works well (to my current understanding) because it's a box with a lot of filter area, somewhat minimized interior space, and all the fans on one side pulling in the same direction. The Tempest 6 fan design (3 fans at right angles) seems to work well because it's a good amount of filter area, minimized interior space, and 6 fans pulling in non-competing directions.
Hope that helps and good luck with your builds.

Thanks for the info.
Researching I've also seen cleanairkits's "luggable" designs which are pretty similar but 120mm internally mounted fans.  That's a bit cleaner of a design, but looks somewhat flimsy, I like the frame you're using, and definitely would want to go that route. My current thinking is to combine the two approaches with internally mounted fans. Their CADR seems pretty impressive based on the data in their faq leading me to believe it should work if the design is snug enough.

Yes, the sturdiness of the frame is a downside. I have 2 towers of power and my dad has a luggable. If nothing else, a sturdier frame is a huge win. Big thing for me was thinking long-term about airborne infectious disease, rather than short-term, and a durable frame is a big part of that.
It should definitely work, whether mounted inside or outside. It's probably worth a least a blog post or academic paper doing a head-to-head comparison. I will say that the Air Fanta 3Pro guy is an expert in water dynamics (@engineerwrong is his handle), and applied his knowledge to air. The AirFanta 3Pro has some weird and surprising magic that makes it have such a high CFM. I don't fully understand how much is attributable to the filters, the higher RPM/static pressure fans, the interior space, all fans on the same side, or interior vs. exterior mounting. But he's racked up the best CFM/$, so he's one to learn from. I wanted to hit 300-400 CFM on a single unit, but I couldn't pull it off without making it more boxy.

Also, when comparing the advertised results, keep in mind that all manufacturers report numbers which can vary. The best way I iterated was the same room, same setup, and just trying a lot of different designs quickly. It didn't matter whether my calculation for CADR was accurate, because I was just looking for relative comparisons. I'll likely send my box to the HouseFresh guy to put in his room for quick sanity check before I get too far down the road. It costs $$$ for the 3rd party test, but before I do that, I want to have high confidence I've optimized it well before doing so.

Apparently part of that magic is the custom filters, higher pleat count = more surface area = less static pressure required.  Plus some apparently pretty loud fans.

I haven't fully formed on opinion on making custom filters or not. They apparently aren't hard to have manufactured. But most vendors want to have custom filters and then mark them up a lot for on-going revenue. Schools end up tossing purifiers when the filter changes get expensive. So, I feel like for schools, the maintenance plan needs to be standardized/open.

I’m of the opinion proprietary things suck, especially when standards exist.
I’d rather go taller. There’s no rule an air purifier needs to be square, and space above is unused.

I was actually looking at 20x25, which seems pretty popular and 20x20 = 400 while 20x25 = 500.  That's a pretty substantial upgrade for slightly more height even with the same filter thickness.  Or 20x24x4.  The slightly taller height likely doesn't matter as you're not putting anything on top due to the fans being there.
That's a lot more surface area to pull air through which should improve efficiency.  Also more surface area that has to be saturated before filters need to be replaced, which in theory lowers cost, and still standard sizes you can find with a variety of vendors https://filti.com/product/7500-home-filter/ .


Flow template: https://github.com/HipByte/Flow/issues/36

Details: https://github.com/HipByte/Flow/issues/36


Link shops to contacts

The current code is a very bare skeleton that imports statements from a csv download from your bank.
I haven't written the code yet to store it as RDF since I'm still finding out which ontology / predicates to use.
But one thing I want to do next is to create one contact per shop (transaction counterparty) that appears on the bank statement.
For insight in personal finance it would then suffice to group these contacts into themes ("Groceries", "Utilities" etc).

The MCC codes should also help for BEA transactions

The shops should be uniquely identified, so I guess it makes sense to have a special Shops addressbook for parsing BEA transactions. The full name could be the trimmed part before the >. for instance for this transaction description:
'Gumus Market          >UTRECHT  11.10.2020 14U35 KV008 8KG2YV   MCC:5499 Contactloze betaling NLNEDERLAND'

The following contact could be automatically added to the user's 'Shops' address book:

full name: 'Gumus Market'
location: 'Utrecht'
groups: 'MISC FOOD STORES - SPECIALTY MARKETS & CONVENIENCE (MCC 5499)'

What I would need from solid-logic is methods to:

get or create an addressbook called 'Shops'
in there, get or create a contact called 'Gumus Market', with location 'Utrecht', and member of group MCC-5499
also create group MCC-5499 if it doesn't exist

I think there should be one history per shop  (purchase + settlement pairs, so the balance there stays at zero), plus on for the bank account whose transaction history was imported (settlement only so balance there goes down)
(settlement transaction only)

If you'd be open to sharing some of your decision-making process regarding which ontology to use, please do so! I'd be very interested (in contributing later on)!

Continued in https://solidos.solidcommunity.net/Team/2021/money-pane-project/money pane/state.ttl#Iss1610015239190

Continued in https://solidos.solidcommunity.net/Team/2021/money-pane-project/money pane/state.ttl#Iss1610015239190

@MikiDi Good to hear! We can discuss in the weekly Solid OS meeting https://solidos.solidcommunity.net/Team/2020/schedule/solidos-schedule.html

@MikiDi Good to hear! We can discuss in the weekly Solid OS meeting https://solidos.solidcommunity.net/Team/2020/schedule/solidos-schedule.html


Add delays to options documentation

It looks like delays was missing from the options docs.

add link to delays docs
add delays to example option code
update total to 5
add delays description

*Inserted in alphabetical order position.
Please let me know if I made any mistakes. Just trying to help document this great tool :)

Thank you!


Unity 2020.1.X not working without -nographics flag

I've been trying to get tests to run but came across this error:
###########################
#   Testing in EditMode   #
###########################

Segmentation fault (core dumped)
[Licensing::Module] Channel doesn't exist: "LicenseClient-root"
[Licensing::Module] Successfully launched the LicensingClient (PId: 81)
[SignatureVerifier] Application signature verification not supported on this platform.
[Licensing::Module] Successfully connected to LicensingClient on channel: "LicenseClient-root" (connect: 0.81s, validation: 0.07s, handshake: 0.00s)
[Licensing::Module] Connected to LicensingClient (PId: 81, launch time: 0.00, total connection time: 0.88s)
Entitlement-based licensing initiated
[LicensingClient] Licenses updated successfully
Unexpected exit code 139

###########################
#   Testing in PlayMode   #
###########################

Segmentation fault (core dumped)
[Licensing::Module] Channel doesn't exist: "LicenseClient-root"
[Licensing::Module] Successfully launched the LicensingClient (PId: 136)
[SignatureVerifier] Application signature verification not supported on this platform.
[Licensing::Module] Successfully connected to LicensingClient on channel: "LicenseClient-root" (connect: 0.57s, validation: 0.07s, handshake: 0.00s)
[Licensing::Module] Connected to LicensingClient (PId: 136, launch time: 0.00, total connection time: 0.64s)
Entitlement-based licensing initiated
[LicensingClient] Licenses updated successfully
Unexpected exit code 139

Seems to be a Seg Fault error. A way to fix this was mentioned here:
https://gitlab.com/gableroux/unity3d-gitlab-ci-example/-/issues/121
This suggests adding the -nographics flag to all CI scripts.
I would assume adding that flag to this file:
unity-test-runner/action/steps/run_tests.sh
when executing the tests would fix the issue.
I am unsure as to why you would want to run this with graphics, however, I am new to running CI and Unity in this way so maybe there is a reason for this flag to be omitted from those calls?  If so, maybe a variable that can be set and passed?  What are your thoughts?

@Alriightyman thank you for reporting your issue and especially for having done some research.
That might be a fix but we need to be sure that it doesn't break anything else.

I am unsure as to why you would want to run this with graphics, however, I am new to running CI and Unity in this way so maybe there is a reason for this flag to be omitted from those calls? If so, maybe a variable that can be set and passed? What are your thoughts?

The reason nographics is omitted is that we actually emulate graphics. In unity builder the nographics flag is also not given: https://github.com/webbertakken/unity-builder/blob/master/action/steps/build.sh#L111
I'm not sure if adding the -nographics flag is a good solution, because tests use playmode to run and as far as I know playmode needs graphics (though i'm not 100% certain about this).
I suspect that this is actually an issue with 2020.1.0f1 as I saw more people with similar issues, also in gitlab and the same issue does not occur for other versions of unity. I guess we also need to find out whether we can do with that flag or not.

I see. I forked your repo and made those changes. It does indeed pass now but I'm using default tests. If you can give me some type of test that you would expect to not work correctly with those changes, I can try them out and see what happens.

Cool. Personally I don't have any ready to go examples.
As stated above, my opinion is that it's likely an issue with the image or a change in this unity version, that we should identify instead of just adding a flag that was never needed in other versions of unity.
As the official documentation states, it doesn't allow global illumination so I think at least for builder this won't be a viable option.

Hi! I've run into the same issue with the slightly more recent 2020.1.2f1 image. I tried out Alriightyman's fork and it also resolved the issue for me in my project.
The CLI documentation for unity does call this flag out specifically for CI -

Note: If you use continuous integration (CI) tools like Jenkins to activate via the command line, add the -nographics flag to prevent a WindowServer error.
(From https://docs.unity3d.com/2020.2/Documentation/Manual/CommandLineArguments.html)

I suspect that the 2020 version of Unity does not gracefully handle batch mode CLI requests on machines which are running headless without this flag. I wonder if it would make sense to at least introduce an action argument to utilize this flag until the issue gets cleared up in either the docker image or unity? If so, I'd be happy to help.

@ncipollo please not that the same documentation also states

-nographics does not allow you to bake GI as Enlighten requires GPU acceleration.

Please read https://github.com/webbertakken/unity-test-runner/issues/67#issuecomment-668825769 above.
I'm not in favour of "just adding" a flag that might cause backward compatibility issues in the future. There should be a good rationale for adding it, as all images before 2020 worked perfectly without it.
Help is more than welcome.

@webbertakken,
Yep, saw that comment and it totally makes sense, though I do wonder if the containers which the github actions run within would be able to utilize GPU acceleration even if -nographics is not supplied.

@webbertakken,
Yep, saw that comment and it totally makes sense, though I do wonder if the containers which the github actions run within would be able to utilize GPU acceleration even if -nographics is not supplied.

Entirely valid question!
Honestly I don't know too much about unity. I created the actions before I started my first project, lol. I started working on my first unity project this year. So it's really up to the community to determine what's right for test-runner and builder. I'll just act as a sanity checker :)

Possibly related known bugs since 2020.1.0

Global Illumination: Crash with empty stacktrace when starting bake in the new scene after baking previous scene with GPU PLM (1244384)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)

Dug through all the official documentation and 2020 change logs related to this topic. Apart from the above post there doesn't seem  to be anything published that is related to this problem.
Looking at the raw logs from a Unity Cloud Build, it doesn't appear to be using the -nographics flag.
I could only check this for 2019 builds, as I currently no longer have the subscription.
Perhaps someone else could confirm this for a build using Unity 2020.1.x.


Where's guide？

I can't find start guide/example in document or README.md,who can tell me?

https://node-serialport.github.io/node-serialport/SerialPort.html
What about here?


Calling fetch when a websocket server is down results in TypeError

Developing a websocket proxy using Miniflare for local development. Trying to reconnect to a websocket server using fetch while the server is down is raising the following error:
throw new TypeError("You must call accept() on this WebSocket before sending messages.");

TypeError: You must call accept() on this WebSocket before sending messages.
at EventTarget.[kClose] (/home/node/application/node_modules/@miniflare/web-sockets/dist/src/index.js:149:13)
at WebSocket.<anonymous> (/home/node/application/node_modules/@miniflare/web-sockets/dist/src/index.js:190:19)
at WebSocket.emit (node:events:402:35)
at WebSocket.emitClose (/home/node/application/node_modules/ws/lib/websocket.js:247:12)
at emitErrorAndClose (/home/node/application/node_modules/ws/lib/websocket.js:962:13)
at ClientRequest.<anonymous> (/home/node/application/node_modules/ws/lib/websocket.js:820:5)
at ClientRequest.emit (node:events:390:28)
at Socket.socketErrorListener (node:_http_client:447:9)Trying to connect to a down websocket server results in TypeError:
at Socket.emit (node:events:390:28)
at emitErrorNT (node:internal/streams/destroy:157:8)

Trying to use fetch in a simple try - catch block won't catch the exception.

Any known workarounds for this? 👀