scope without Send

This ties somewhat into the discussion over in https://github.com/rayon-rs/rayon/issues/522#issuecomment-378104563.
Currently, ThreadPool::scope requires the passed closure to be Send because the closure itself is executed on the thread pool. However, if ThreadPool is used as a more generic thread pool (rather than explicitly for data-dependent computation), it is not unreasonable for some existing thread to wish to spin off a number of jobs with access to its stack, and then wait for them all to complete (essentially as a pool of scoped threads). With the Send bound in place, that thread is pretty restricted in what it can use to generate jobs (e.g., anything with Rc is a no-go). It'd be good if there was an alternate version of scope that did not require Send for its closure, and which instead executed the closure on the current thread (but still waited for any spawned jobs to complete).

I just bumped into this. I'm using scoped_threadpool as well as rayon and noticed the latter ostensibly contained the former's functionality, enabling me to unify on one threadpool. Unification would be convenient as I want a thread per core, and ensuring that over two independent threadpools is nontrivial (given I wouldn't want cores to be idle if one threadpool was full but one empty).

I bumped into this too. https://github.com/reem/rust-scoped-pool is unmaintained so I'm trying to migrate to rayon's ThreadPool and in some places that doesn't work because the scope closure is not Send (and making it Send requires significant API changes in callers).

@cuviper

Pushing to the global queue requires taking a lock. But maybe that synchronization wouldn't be a big deal for some use cases.

What if we used MsQueue for the global queue and avoid the lock?
Alternatively, I'm considering implementing a new Deque that supports push/pop/steal/steal_half, implements Sync, and doesn't separate workers and stealers. The intended use case for it is shared global deque of tasks, which is not owned by any worker thread.

What if we used MsQueue for the global queue and avoid the lock?

It's worth trying!

FWIW, #615 is changing the global queue to a SegQueue (without a lock), so we could follow up by experimenting here without an initial Send.

I've run into a need for this in #676.

+1 for this, Send requirement is very restrictive in some cases. I work primarily with webassembly, and none of the web api's are capable of working across different threads (!Send), which severely limits rayon usage. Scope without Send would allow me to do useful work on the worker thread with !Send stuff (inside scope closure), while at the same time running rayon jobs in scope. Currently i have to choose, either i make some progress with !Send stuff on the main thread, or i run rayon scope/join.

I hacked together a version of this here:
https://github.com/rocallahan/rayon/commit/a61cd39c9eda6b8eca1b3d195ffd24eb6a58297e
Seems to work for us.
Apart from eliminating the Send bound on the OP closure it's a bit more efficient because you don't need to send the op across threads, when you're not already on a worker thread. Also, the op can safely wait for spawned closures to complete; with regular scope, you can't, because blocking a worker thread on spawned work can deadlock.
Should I clean it up and submit it?

I hacked together a version of this here:
https://github.com/rocallahan/rayon/commit/a61cd39c9eda6b8eca1b3d195ffd24eb6a58297e
Seems to work for us.
Apart from eliminating the Send bound on the OP closure it's a bit more efficient because you don't need to send the op across threads, when you're not already on a worker thread. Also, the op can safely wait for spawned closures to complete; with regular scope, you can't, because blocking a worker thread on spawned work can deadlock.
Should I clean it up and submit it?

@rocallahan I would be interested in that, but I hope we don't have to fork Scope for it. Can we refactor enough to let external_scope just be an alternate entry point that still uses the same Scope? Then we can probably do the same for ScopeFifo.
I'm still wary of changing the current scope entry behavior, since at some level that also serves as an alternate install. That is, by entering the thread pool it also sets the implicit pool for join, iterators, etc.

Apart from eliminating the Send bound on the OP closure it's a bit more efficient because you don't need to send the op across threads, when you're not already on a worker thread.

Yes, but then everything you spawn has to be sent across threads to the pool-wide injector queue, instead of just pushing to the thread-local worker queue. That tradeoff will probably vary widely by workload.

Also, the op can safely wait for spawned closures to complete; with regular scope, you can't, because blocking a worker thread on spawned work can deadlock.

This is only true if you're sure that you're not already on a worker thread.

Can we refactor enough to let external_scope just be an alternate entry point that still uses the same Scope?

We can, but then there will be slightly higher overhead for scope users (some conditional branches at least). Is that acceptable?

I'm still wary of changing the current scope entry behavior, since at some level that also serves as an alternate install. That is, by entering the thread pool it also sets the implicit pool for join, iterators, etc.

Yes, we can't break that, we need a new entry point.

Yes, but then everything you spawn has to be sent across threads to the pool-wide injector queue, instead of just pushing to the thread-local worker queue. That tradeoff will probably vary widely by workload.

Right.

This is only true if you're sure that you're not already on a worker thread.

Right. In our case we have a dedicated thread pool and restrict access to it so only specific code can run in it.

Can we refactor enough to let external_scope just be an alternate entry point that still uses the same Scope?

We can, but then there will be slightly higher overhead for scope users (some conditional branches at least). Is that acceptable?

I suspect a few branches won't be noticeable compared to the existing synchronization, but let's see what it looks like.

The tricky bit here is the latch. Currently ScopeBase contains a CountLatch, which is two atomics (state, job count). In my PoC, I replaced this with a LockLatch (Mutex, CondVar) plus an atomic job count. With a unified Scope, we need to support both. We could just enum our way to victory here, but maybe we can do better.
One thing I don't understand which may be relevant: Why is CountLatch two atomics? Couldn't it use a single atomic? wait_until_cold would have to be generic over L: Latch but that doesn't look like a problem. (You could argue that the 'state' atomic changes less frequently which might mean less cache traffic as waiters poll it, but it will share the same cache line as the counter in most cases.)
It might be simplest to allow CountLatch to be used as a raw atomic job count for the external scope case, and just add a LockLatch to Scope to be used for the external case. This could be whittled down to just one extra conditional branch when the last job completes in the Scope. This would increase the size of Scope by 32 bytes, is that OK?
(I considered trying to reuse Registry's LOCK_LATCH but I guess that could lead to deadlocks if an external scope op tries to call in_worker.)

You've jogged my memory enough to remember that I had tinkered with this, but not finished. I've now pushed that branch so I can share it here, in case that helps to compare notes and think through some of the issues:
https://github.com/rayon-rs/rayon/compare/master...cuviper:raw_scope
One possibility your prototype didn't cover was if we call this from one thread pool into another. It's not great to use a LockLatch in that case, blocking the thread in the old pool. In general, we try to let that sort of blocking go into work stealing too, and I tried to allow that in my branch.

Why is CountLatch two atomics?

I believe this is primarily so we can share the logic in the sleep module, which is fairly tricky.

This would increase the size of Scope by 32 bytes, is that OK?

Size shouldn't be of much concern, because the Scope is created once on the stack and only passed around by reference.

I believe this is primarily so we can share the logic in the sleep module, which is fairly tricky.

Ok.

One possibility your prototype didn't cover was if we call this from one thread pool into another.

Yes, this had crossed my mind and then I forgot about it.
Stealing your ScopeLatch seems like the way to go.

Using ScopeLatch means a conditional branch when we increment the latch too, but I guess that's OK.

Here's what I have:
https://github.com/rocallahan/rayon/commit/external-scope
I probably should write some more tests. Should I do that and submit a PR?

Also, is external_scope a good name here? I didn't put any thought into choosing it.

Naming is hard -- external_scope sounds better than my raw_scope, at least. Let's rekindle this discussion in a PR and we can think about it more from there.

Submitted PR https://github.com/rayon-rs/rayon/pull/844

Fixed by #844 https://github.com/rayon-rs/rayon/commit/6a01573a180c89d853b7d22d20bd2f123f2df5b4


[WIP] Service and Library Addition

Merged upstream main to this branch and adjusted cookiecutter tests
Adjust cookiecutter base files within the cookiecutter project_name folder
TODO:
Add extra files based on when the user selects a library or web service into the project_slug
Update post gen once extra files are added to project_slug

@lbrack  I am having tox issues and I am not sure how to fix them, could you take a look to see what is causing it thanks in advanced.

@lbrack if you have time can you see what I am doing wrong for testspace the tox 3.12 failed saying a 404.

@lbrack All ready to go to merge your call, I will just need to update the cookiecutter README.md with Testspace badges once merged.


WFLY-4517 Do not expose Infinispan bits to deployments importing the Hib...

...ernate main module
This should avoid leaking Infinispan and Jipijapa into the classpath of applications using Hibernate / JPA.
The main driver was that this was making it very hard for users to depend on a different version of Infinispan / JDG if they also happened to use Hibernate and/or JPA. Particularly nasty for Hibernate OGM users and Hibernate Search users.
I didn't check performance of deployments but I also expect it to speedup bootstrap of Hibernate ORM as it narrows down all of its classpath scanning, including for entities.

https://issues.jboss.org/browse/WFLY-4517

Linux with security manager Build 1218 is now running using a merge of 7a6d2ec10bba9b4a6bd657e8f11058bee4eb4647

Linux Build 6252 is now running using a merge of 7a6d2ec10bba9b4a6bd657e8f11058bee4eb4647

Windows Build 1355 is now running using a merge of 7a6d2ec10bba9b4a6bd657e8f11058bee4eb4647

Linux with security manager Build 1218 outcome was SUCCESS using a merge of 7a6d2ec10bba9b4a6bd657e8f11058bee4eb4647
Summary: Tests passed: 822, ignored: 356 Build time: 0:04:53

This looks good to merge.

P.S.
I had to create a new module org.hibernate.jipijapa-hibernate4-3 as well, as there is code in the jipijapa module directly depending on Infinispan.
I suspect the dependencies from the new module could be trimmed more, but not knowing that module it would be a trial and error for me. Maybe @scottmarlow will want to send a follow up improvement to minimize dependencies?
I also guess the org.hibernate:main module doesn't need to depend on things like org.jboss.vfs.

yeah, we probably could trim some modules from org.hibernate:main.  Thanks for the change Sanne!

Linux Build 6252 outcome was SUCCESS using a merge of 7a6d2ec10bba9b4a6bd657e8f11058bee4eb4647
Summary: Tests passed: 2842, ignored: 416 Build time: 0:49:47

Windows Build 1355 outcome was SUCCESS using a merge of 7a6d2ec10bba9b4a6bd657e8f11058bee4eb4647
Summary: Tests passed: 2842, ignored: 416 Build time: 0:53:48

Just to be clear, previous to this change, we were not injecting Infinispan into the classpath of  deployments.  We were injecting Infinispan into the org.hibernate:main classloader (which applications have a dependency on).

From a performance point of view, I don't expect faster deployments but they also shouldn't be slower.  I'm not sure where we would scan the Hibernate classpath for entity classes (we should limit our scanning to the application classloader).

I don't expect this change to impact our TCK results, should be safe to merge.

This change has the potential of being back ported in an EAP patch for bz=1202911, so would be good to include in wfly 9, so that we get more community testing of this change.

@pferraro looks like there is now a merge conflict in testsuite/integration/manualmode/src/test/resources/legacy-configs/domain/eap-6-2-0.xml.  Conflict is:

Versus:

Could you please refresh me on which classes are loaded from the cache-container module?  Is this strictly for Infinispan to use for service loading of Infinispan configuration?

When making the above patch I didn't notice the name of 'testsuite/integration/manualmode/src/test/resources/legacy-configs/domain/eap-6-2-0.xml'. I guess this is not supposed to be updated by anybody?
Still - since apparently I've got a conflict with it - someone else edited it too !?

I've rebased it and it passes tests again, but I'm not sure about those changes in the legacy configuration file.
Should I undo those @bstansberry ?

Linux Build 6276 is now running using a merge of 46aca972d88802a514e76be6da283367b764f5eb

Linux with security manager Build 1241 is now running using a merge of 46aca972d88802a514e76be6da283367b764f5eb

Windows Build 1383 is now running using a merge of 46aca972d88802a514e76be6da283367b764f5eb

BTW I don't seem to have permissions to remove the "rebase-this" label.. I hope someone notices :)

Linux with security manager Build 1241 outcome was SUCCESS using a merge of 46aca972d88802a514e76be6da283367b764f5eb
Summary: Tests passed: 823, ignored: 356 Build time: 0:04:57

Linux Build 6276 outcome was SUCCESS using a merge of 46aca972d88802a514e76be6da283367b764f5eb
Summary: Tests passed: 2846, ignored: 412, muted: 1 Build time: 0:46:27

Windows Build 1383 outcome was SUCCESS using a merge of 46aca972d88802a514e76be6da283367b764f5eb
Summary: Tests passed: 2847, ignored: 412 Build time: 0:46:47

I've pushed a new version to undo the changes on the legacy config, as confirmed over IRC with @pferraro and @scottmarlow .
Should be good now!

Linux with security manager Build 1249 is now running using a merge of dccc90d6bc0a35c57bd27dd5def5ad5f958deab0

Windows Build 1391 is now running using a merge of dccc90d6bc0a35c57bd27dd5def5ad5f958deab0

Linux Build 6284 is now running using a merge of dccc90d6bc0a35c57bd27dd5def5ad5f958deab0

Linux with security manager Build 1249 outcome was SUCCESS using a merge of dccc90d6bc0a35c57bd27dd5def5ad5f958deab0
Summary: Tests passed: 823, ignored: 356 Build time: 0:05:05

thanks Sanne, should be good to merge.

Windows Build 1391 outcome was FAILURE using a merge of dccc90d6bc0a35c57bd27dd5def5ad5f958deab0
Summary: Tests failed: 1 (1 new), passed: 2846, ignored: 412 Build time: 0:47:04
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.clustering.cluster.ejb.stateful.StatefulFailoverTestCase(SYNC-tcp).failoverOnStop: <no details avaliable>

Linux Build 6284 outcome was SUCCESS using a merge of dccc90d6bc0a35c57bd27dd5def5ad5f958deab0
Summary: Tests passed: 2846, ignored: 412, muted: 1 Build time: 0:52:06


Make it so that it is not possible to deploy a container process outside of a domain

Issue and tracking information
Developer's time Estimated effort to fix (hours):
Developer's Actual time spent on fix (hours)
Issue reporter to provide a detailed description of the issue in the space below
It should not be possible to deploy a container process outside of a domain (makes no sense) in the deployment plan editor. If you do this accidentally (drag & drop onto open area in Deploy pane), it's also hard to get rid of, since there's no "Undeploy" menu option for it. I you do this accidentally and need to get rid of it, you have to select "Delete" twice on the process instance in the Configure pane, then create a new container process instance. In training classes, this caused deployment errors as well.
I'm unsure of whether or not this is still an issue in Papyrus but wanted the investigation to take place sooner than later.

This is fixed now and can be closed once verified.

I have verified this fix on our end. You can close this issue.

Closing. Thanks


EnumerableUtils is no more in Canary

EnumerableUtils is used in a few places but has been removed from Ember in Canary in preference to native implementations.
I will try and get a pull request sorted in the morning.

Yup, with Ember 2.0 we can target >= IE9 which should have Array.prototype.forEach and Array.prototype.filter

Should we check for EnumerableUtils existing & fallback to native if not present, or just go the whole hog & use native?

whole hog, I'm going to target Ember 2.0


Request: unique_id registry for entities, to allow giving sensors an Area and UI customization

Right now all of the automatically created sensors and switches just reside under the area "Switch" and "Sensor" in lovelace and the entity list. Would love to be able to group them into their own area, either using the UI or a config flag.
Been messing with it a bit to give a unique_id, and can get it to show up with "integration" of "monitor_docker" sometimes, but always errors when its tries to add to the entity registry.
This entity ("switch.docker_homeassistant") does not have a unique ID, therefore its settings cannot be managed from the UI.

Hi @jtaseff, I wanted the same thing so I did a bit of digging. You can change instances of entity_id to unique_id in the sensor.py and switch.py scripts, these are located in the custom_components/monitor_docker folder. Then when you restart Home Assistant you should be able to add them to areas.

Hi @ualex73,
I'm also interested on this request because I have my own naming convention for the id.
I've seen suggestion from @heinz-matt but the problem is that I would need to make the change any time there is a new release.
As it looks the change is not complex at all, maybe @jtaseff and I will be lucky for the next release as a Christmas present.
Thanks for this great integration.

The problem is that we do not have a real unique identifier to generate "unique_id" from, normally things like a MAC/serialnumber is used for this (I use the MAC in one of my other integrations).
Using the docker name itself for "unique_id" is more a hack, not a real proper solution. In the new year I will investigate if I can add a switch for it (so leave the current behavior, and make "unique_id" possible if you want to use it).
Anyway, PRs are always welcome.

+1

Hi @jtaseff, I wanted the same thing so I did a bit of digging. You can change instances of entity_id to unique_id in the sensor.py and switch.py scripts, these are located in the custom_components/monitor_docker folder. Then when you restart Home Assistant you should be able to add them to areas.

Hello @heinz-matt , do you have an example on what to change in the py scripts? Simply changing all entity_id to unique_id did not do the trick for me.
Thank in advance

The original problem exist, I cannot generate unique identifier in HA. the entity name must have the docker name, otherwise we cannot re-use it across restarts/recreates. I will add this note to the README.md and close this one. @deluxestyle  I will look at labels in the near future.

any update on this? even now with labes and categories a unique_id would be great.

This not an a bad idea at all🤔 a label with an uuid, (should be created manually, but at least can give access to "UI editing" and maybe "device division" [not sure])


ols crash

Hi!
I am starting to look in to Odin and wanted to try the language server, trying out the latest release from GitHub, I can easily crash the language server by simply starting the server and pressing enter, like so:
% ./ols-x86_64-darwin

/Users/runner/work/ols/ols/src/server/requests.odin(175:35) Index -1 is out of range 0..<1
zsh: illegal hardware instruction  ./ols-x86_64-darwin

I think this is the fix for the issue, but can't confirm since I am unable to compile ols with the version of Odin shipped with homebrew (odin version dev-2023-08:9453b238)
Proposed fix:
diff --git a/src/server/requests.odin b/src/server/requests.odin
index 257baef..3751842 100644
--- a/src/server/requests.odin
+++ b/src/server/requests.odin
@@ -172,7 +172,7 @@ read_and_parse_header :: proc(reader: ^Reader) -> (Header, bool) {

                message := strings.to_string(builder)

-               if len(message) == 0 || message[len(message) - 2] != '\r' {
+               if len(message) < 2 || message[len(message) - 2] != '\r' {
                        log.error("No carriage return")
                        return header, false
                }

Sure it would fix that case. But the client would never send that. I'll add it for robustness, but it should not make any difference for actual LSP clients.
Thanks.


Added FP16 detection

Cc: @jamesbigler

OK the simple test worked after I have removed extra parens; I have quashed in the fix.

Looks good to me.

So, looks like we have it ready to go - please merge!

Thanks.  Applied as commit cc95001b1cc20367ea127ea09ea91960782e65a3.


[Table] sort not working when is in a div with a *ngIf

Reproduction
https://stackblitz.com/edit/table-ngif-issue-x5wxje
Expected Behavior
Table sort
Actual Behavior
Sort table not working correctly. Happens when the table is in a div or other element with a *ngIf"something"
Environment

Angular: 8.2.4
CDK/Material: 8.2.1
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows 10

Your view child query should not be set to static: true if it is in an ngIf


[Feature]: Light-Dark Mode Toggler

Describe the feature
Implementing dark mode toggler to switch between light and dark mode
Add ScreenShots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24(Vinayasa Summer of Code) contributor
[X] I want to work on this issue

/assign-me

@Sourabh782 Assigned this to you.

@trishanu-init can u tell me structure of env??


Fix takes when changing to individual

Fixes #2967.

I'd prefer to have an error message that says to contact support.

I'd prefer to have an error message that says to contact support.

Why contact support? The corrective actions are the kind that a user can do on her own.

@seanlinsley - ^^

Added commits.


Frontend authentication causes "redirected too many times"

Hi,
I am trying to bring the authentication of the admin to also include the frontend of my application. i.e Users who do not have an account for the CMS would be redirected to log in.
When I have implemented this (code below), when logged out the authentication works great and logged out users trying to access the frontend routes are redirected to the admin login route. However, when logged in the frontend causes a "redirected too many times" error.
Routes:
Route::group(['middleware' => ['auth']], function() {

	Route::get('/', function () {
	    return view('welcome');
	});

});

Updated app/Http/Middleware/Authenticate.php
namespace App\Http\Middleware;

use Illuminate\Auth\Middleware\Authenticate as Middleware;

class Authenticate extends Middleware
{
    /**
     * Get the path the user should be redirected to when they are not authenticated.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return string
     */
    protected function redirectTo($request)
    {
        if (! $request->expectsJson()) {
            return route('admin.login.form');
        }
    }
}

Can anyone help identify where I might be going wrong?

I have managed to resolve this, for anyone who might be interested in the future;
Route::get('/login', function () {
    return redirect('/admin/login');
})->name('login');

Route::group(['middleware' => ['twill_auth:twill_users']], function () {
	// Protected routes go here
});


grunt-typescript VS gtunt-ts: why maintaining two plugins that do the same?

Dear Everyone,
First of all, many many thanks for your work for open source :) I appreciate both a lot!
I write to you all - sorry for the spam - to ask: is it possible that you merge your tools: grunt-typescript and grunt-ts and eventually support just one of them and make it official?
I appreciate the work of both grunt plugin teams, but it's bad for community to choose between two tools that do exactly the same under the same build system. I can see no clear differences between those two. If you joined forces, I believe, you could achieve more. The JavaScript Fatigue (many tools arising each day) is causing a headache already, but no standard tools and npm plugin chaos is making it even more difficult for JS devs. Hope you understand my intentions here.
CC grunt-typescript team: @k-maru, @kmaru, @alvivi, @vvakame, ...
CC grunt-ts team: @nycdotnet, @basarat, @bartvds, @jeffmay, ...
I can see that grunt-typescript is popular, but significantly not up to date with latest typescript versions. People keep asking for it (k-maru/grunt-typescript#125). And new versions of ts will be arriving soon one by one... grunt-ts on the other hand seems to be more up to date and maintained better.

Hi,
Maintainer of grunt-ts here.  I don't really follow grunt-typescript so I don't know if there's anything that it offers that grunt-ts doesn't.  That would be interesting to know.
A quick scan of the docs looks like it has a references feature that we don't (though the same could perhaps be handled via src I think).  I suspect our gruntfile API is somewhat different and I'm fairly confident grunt-ts has some features that grunt-typescript doesn't such as HTML template compilation and Visual Studio project integration.  Also we have a custom implementation of tsconfig.json support.
If there are any features supported by grunt-typescript that are not possible in grunt-ts, please open an issue and we can discuss how to implement.
-Steve O

To be honest, if there is energy for it, this conversation should also include maintainers of gulp typescript, and other similar task runner wrappers.  There's only so many ways to parse config parameters and build a command-line.

Thanks @nycdotnet!
Just to make clear, my intention is not to make grunt-ts cover all features of grunt-typescript only - but to make one solid grunt typescript plugin for the community and make it standard. Such steps would make grunt more mature, I believe.

OK.  In general, I like standards and I like reducing duplicated effort.  I also think JS fatigue is a real thing.  I'm glad you have the energy for this initiative.  :smile:
To provide context, I've created this new contributing guide for the next release of grunt-ts:
https://github.com/TypeStrong/grunt-ts/blob/implement-ts-1.8/CONTRIBUTING.md#contributing-to-grunt-ts
In particular the part about the project being in a mature maintenance phase is relevant.

This project is in a mature maintenance phase. This means that the grunt-ts maintainers are focused on the following:

Compatibility with the latest stable version of TypeScript (native support for new switches, etc.)
Reliability enhancements such as bug fixes with tests

Cheers!

There's only so many ways to parse config parameters and build a command-line.

The gulp plugins (gulp-tsb, gulp-typescript) aren't wrappers around the command-line compiler. They use the compiler API directly, which makes incremental compilation possible, that's why they're much faster than the grunt plugins.

This is what I'd love to do to eliminate the current grunt-ts fast feature.


Changing the type on 'update' and 'delete'

type Mutation {
  updateNote(input: MutateNoteInput!, where: UpdateNoteFilter): Note!
}

update or delete might return null in cases where it doesn't match the condition, also it can change a couple of rows instead of one. Suggested definition:
type Mutation {
 updateNote(input: MutateNoteInput!, filter: UpdateNoteFilter): [Note]
}

The same goes for delete.
cc: @rareddy @wtrocki @machi1990

Actually, on delete I propose completely removing the Input and only have the filter like
type Mutation {
 deleteNote(filter: NoteFilterInput): [Note]
}

there is no need for input as the filter can present with ID to delete a single row or a filter to delete multiple rows. Moreover I like the return that is been done in Hasura like here https://hasura.io/docs/1.0/graphql/core/mutations/delete.html


Improve profile picture layout

At the moment, the profile pictures at the top, overflow when the screen is too narrow, or there's too many pictures!
This issue will need you to go through the CSS and make sure the website is responsive!

@khattakdev , @kalyanchirla and I would like to work on this issue.

I believe that #22 made this not applicable.

You're right

I believe that #22 made this not applicable.


Api integration payment list

Notion card
https://www.notion.so/saeloun/Integration-of-API-to-be-able-to-add-manual-entry-for-payments-received-0bc6a82ead40489ebd59b736a43f352b
Summary

API integration for payment list

Preview

## Type of change
Please delete options that are not relevant.

[ ] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Checklist:

[ ] I have manually tested all workflows
[ ] I have performed a self-review of my own code

Good to merge.


Update array-api-tests and run against newer version

This PR updates the array-api-tests submodule and tests against a more recent version of the standard. It requires the complex data types to load (#32 ). The latest test suite gives a decent amount of failures to work through.

Thanks! Could you add the failures to skips.txt. The diff here will show us what to work through clearly and allow this PR to be merged.

Let's first figure out if we can get away with not adding complex types in #32 . It does seem easy enough to patch the array-api-tests on second sight. I'll mark this as "draft" in the meantime.


menu items on donejs-next guides have janky animation

The sub-menus on the DoneJS-next guides expand, contract and then expand again when navigating between them:

This is always reproducible in OSX Chrome 56. This error doesn't exist on the current version of the DoneJS website. To reproduce visit https://donejs.github.io/donejs-next/place-my-order.html and click between top-level menu items. The menus should open smoothly instead of rapidly opening, closing and then opening again.

Issue moved to donejs/bit-docs-donejs-theme #37 via ZenHub


Avatar seems to have stopped working.

Hi
Firstly great plugin.
It seems that the avatar has stopped being sent over to disqus. Still logs in ok but the avatars have now reverted to the disqus noavatar default. They were working initially. IS it possible Disqus have changed something to cause this?
Cheers

I'm not sure, I'll set up a test environment to see.  Can you point me to a URL where this is happening?

Thanks khalwat. I can't point you to a url unfortunately as it's behind a login so hopefully you can find out what is happening without it.

Okay, it should be all fixed in the latest version, go ahead and git pull it.


Solution for using kmonad with bluetooth keyboard

Solved: https://github.com/kmonad/kmonad/issues/384#issuecomment-975864397
I read #178 and decided that I need to write my own udev rule and a small script to relaunch kmonad with the correct device file everytime my bluetooth keyboard is connected.
So far, I have been able to write the following udev rule:
ACTION=="add",  \
ATTRS{name}=="AnnePro2 Keyboard", \
RUN+="/home/salman/.config/kmonad/annepro2/launch.fish"

Which runs launch.fish on successful bluetooth connection but only the "simple" commands in it are run e.g. the sed and and I think also thekill command:
#!/usr/bin/fish

# update the kmonad config file to use the new device file
# that AnnePro2 got assigned on bluetooth connection
set dev_file /dev/input/(grep -B 1 -A 9 "AnnePro2 Keyboard" /proc/bus/input/devices | grep -o -E 'event[0-9]+')
sed -i -e "s:/dev/input/event[0-9]*:$dev_file:g" (dirname (status --current-file))/config.kbd

# kill existing relevant kmonad instance if it didn't die on its own when AnnePro2 was disconnected
sudo kill (pgrep -f annepro2/config.kbd)[1]

# start new kmonad instance with the updated config file
sudo kmonad (dirname (status --current-file))/config.kbd

The kmonad command seems to have no effect and it doesn't start. I searched around for this issue and found out that this script to be run by udev doesn't inherit all the environment variables which might be stopping the kmonad command from running correctly. launch.fish works fine and kmonad works when I run it manually from command line.
Can anybody tell me why the last line of the launch.fish script is not running correctly when the script is run by udev?
EDIT: Okay miraculously udev is running launch.fish correctly after last night without any changes and kmonad is correctly starting from launch.fish but now, the keyboard hangs up after sometime until dis/reconnected.

I'm using a udev rule to create a symlink for my bluetooth keyboard:
 ~ cat /etc/udev/rules.d/keychron-k7.rules
ATTRS{name}=="Keychron K7", SYMLINK+="keychron-k7"

This will create the symlink /dev/keychron-k7:
 ~ ls /dev/keychron-k7
lrwxrwxrwx 1 root root 13 Nov 22 20:38 /dev/keychron-k7 -> input/event19

I can then reference the symlink in my kmonad config:
 ~ head ~/.config/kmonad/keychron-k7.kbd
(defcfg
  input (device-file "/dev/keychron-k7")
  output (uinput-sink "Kmonad: Keychron K7")

  fallthrough true

  allow-cmd true
)

I've also combined this with a systemd path unit which starts kmonad with the appropriate config file when the keyboard is connected:
 ~ cat<EMAIL_ADDRESS>[Unit]
Description=kmonad

[Service]
ExecStart=/usr/bin/kmonad %h/.config/kmonad/%i.kbd
Restart=always
RestartSec=5
StandardOutput=null
StandardError=null

[Install]
WantedBy=sway-session.target

 ~ cat<EMAIL_ADDRESS>[Unit]
Description=start kmonad for keychron k7
StartLimitIntervalSec=400
StartLimitBurst=3

[Path]
PathExists=/dev/keychron-k7

[Install]
WantedBy=sway-session.target%

Following @mkraemer's example I managed to get udev to create a device at a reliable path for my kinesis. I don't understand which of those files automatically restarts the kmonad service when the keyboard pops up, though<EMAIL_ADDRESS>

After trying to understand @mkraemer's example, I found that you only need one systemd unit file (correct me if I am wrong).
#<EMAIL_ADDRESS>
[Unit]
Description=Start KMonad for %i
StartLimitIntervalSec=1 min
StartLimitBurst=3

[Path]
PathExists=/dev/%i

[Service]
ExecStart=/usr/bin/kmonad %h/.config/kmonad/%i.kbd
Restart=always
RestartSec=5
StandardOutput=null
StandardError=null

[Install]
WantedBy=sway-session.target

Then, start it using systemd --user start kmonad@keychron-k7. For more details, search template in systemd.unit manpage.

For people looking for another solution that doesn't require editing udev rules, I wrote an entirely userspace solution a while ago. What it can't do is process complex workflows; for example, setxkbmap -device requires a device ID that isn't available through udev, which requires calling xinput to find from the udev name. This necessitates another script, which (in my case) I have kbplug run when it matches a udev rule:
#!/bin/bash

setxkbmap -device $(xinput -list | grep -Po 'Shine\s+id=\K\d+(?=.*keyboard)') us -option compose:ralt
if [[ $? -ne 0 ]]; then
	printf "Error!\n"
	printf "xinput -list | grep -Po 'Shine\s+id=\K\d+(?=.*keyboard)' => %s\n" $(xinput -list | grep -Po 'Shine\s+id=\K\d+(?=.*keyboard)')
	printf "All shines:\n"
	xinput -list | grep 'Shine'
fi

My kbplug rule for this keyboard looks like this:
{ "rules": [ {
                        "action": "add",
                        "env": {
                                "ACTION": "add",
                                "SUBSYSTEM": "input",
                                "ID_INPUT_KEYBOARD": "1",
                                "NAME": "ZSA Technology Labs Inc ErgoDox EZ Shine"
                        },
                        "run": [
                                ["/bin/bash", "/home/ser/.local/bin/ergoplug"],
                                ["/usr/bin/bluetoothctl", "power", "on"]
                        ]
                }
        ]
}

The bluetooth rule is because some rule I set up years ago keeps powering down my bluetooth chip if there's nothing connected; when this keyboard is plugged in, I know I'm on the dock so I turn bluetooth back on. I have a couple of keyboards I use in different situations, which is why I wrote this in the first place.
Anyway, I'd have loved to have solved this differently, but every solution required changing something at root, which I generally try to avoid; maybe it'll be useful for someone else.

Could someone delete the comment by @MuhammedZakir above? It's wrong and completely missed the point of mkraemer's post. I don't know why they would write it without even testing it themselves.
https://github.com/kmonad/kmonad/issues/384#issuecomment-1051066481

@slotThe I can open a PR in kmonad-contrib for the solution by @mkraemer,
I re-did something similar on my own with a wired external keyboard today,  totally forgetting I had posted this all this time ago.


No structures discovered

Attempting to add the Flair integration to my HA using the credentials supplied by Flair, I get the error popup window below. What am I doing wrong? Got a Flair bridge connected via Ethernet cable to my home network, and two Flair vents installed. (No pucks, as I intend to use my SwitchBot temperature sensors.)

Have you set up a structure in the Flair app? All initial setup of devices and structures needs to be done within the Flair app.


Multi-layer bucket model

Update the bucket model so that the energy equation is for a multi-layer model. This involves making use of a mixed domain, where some variables are defined only on the surface, and some are defined in the full domain.
Mixed Domain capability:
https://github.com/CliMA/ClimaLSM.jl/issues/49
https://github.com/CliMA/ClimaLSM.jl/pull/85
Equations
https://www.overleaf.com/7694514265pntbczwbhmmb
Implementing in the bucket model:
https://github.com/CliMA/ClimaLSM.jl/pull/87
Describe the solution you'd like
Alter the bucket to (1) use LSM domains and have a mix of surface and full domain variables, and (2) Alter the energy equation to be the heat equation, with zero flux BC, and with F_sfc as a top BC.
Describe alternatives you've considered
We already have implemented  a single layer model. This allows more flexibility but retains that capability.

@LenkaNovak the beginning of Section 2 has the updated energy equation.
It seems to run! So my next steps are to merge in some changes to LSM Domains that we had to take care of, and then merge in the multi layer bucket, and then test with the coupler using the latest main of ClimaLSM. If that looks good, we can release a new ClimaLSM version.


Update rust to fix musl builds

I'm in no particular hurry about this, I've just created the issue so I can be notified when it's closed.
https://github.com/rust-lang/rust/commit/52862e4cda1ff72e52dfaea21cf82ae93725b3be#diff-4c1827e2ef5156ad90c1cef13755f4c8

Done!

Ended up yanking 0.1.9 due to compatibility concerns

@alexcrichton this will also need to be updated to pick up the FreeBSD i686 changes when Rust PR #27360 lands.

I'll send you a PR.  The only question is if I need to bump the minor version or just the patch number.

This is a blocker for me. I need flock(2) for http://github.com/agrover/melvin. I added it to Rust repo on June 24, but until libc crate is updated I can't update nix-rust, and then start using it in my project. @alexcrichton I know you say in #17 you're busy but I just wanted to describe my situation to maybe increase this issue's relative status a little.

Why not just use a .cargo file? http://doc.crates.io/guide.html#overriding-dependencies
Clone the repo (with submodules), add .cargo and you're pretty much good to go.

I've opened https://github.com/rust-lang/rust/pull/27762 and if that lands then we can upgrade libc without breaking anything.

I can confirm that libc with rust submodule works nice for me (even with musl build). So looking forward for release soon.

Thanks!


Batch1 - Add support for provider packages

Issue #, if available:
Add support for a few default provider packages in the local runner
Description of changes:
In the current change we are enabling support for the following provider packages.
apache-airflow-providers-tableau
apache-airflow-providers-databricks
apache-airflow-providers-ssh
apache-airflow-providers-postgres
apache-airflow-providers-docker
apache-airflow-providers-oracle
apache-airflow-providers-presto
apache-airflow-providers-sftp
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

What testing has been done on these changes on the local runner?

As part of testing the change, I did the following:

Deployed the local runner, I built the image and deployed via ./mwaa-local-env start. Airflow correctly loads up on the browser. Did not notice any errors on my local.
Ran the tutorial dag to make sure the dag run works just fine as before.
Looked up the connections via the Airflow UI and found the new connections show up. These connections are based on the newly added provider packages added as part of this commit.


Trial: no sensible output

The following trial is to concatenate a list of strings into one string, using a StringBuffer.
tool_files/floodgage/trials/string_buffer_concat/trials.jar

However, I'm not getting any meaningful outputs.

This is because the trial is cutting across two different top-level packages: java.util (Iterator) and java.lang (StringBuffer). I would suggest avoiding this for now, and creating trials that only use classes within a single package. This is one of the current limitations of Bayou, but I don't think we will address it in this release.

Will do.

Closing the thread. Reopen if you have further questions/issues.


Cannot display sidebar for code hint completion class extension

Type: Bug
To install the extension for the code completion class, open the sidebar for the extension
VS Code version: Code 1.92.2 (fee1edb8d6d72a0ddff41e5f71a671c23ed924b9, 2024-08-14T17:29:30.058Z)
OS version: Linux arm64 5.10.43
Modes:

Thanks for reaching out to the VS Marketplace Team. Could you please share the error message, a screenshot, and the repro steps to help us investigate better.
Regards,
VS Marketplace Team

Thanks for reaching out to the VS Marketplace Team. Could you please share the error message, a screenshot, and the repro steps to help us investigate better.感谢您联系 VS Marketplace 团队。您能否分享错误消息、屏幕截图和重现步骤，以帮助我们更好地进行调查。
Regards, 问候 VS Marketplace Team VS Marketplace 团队

It seems that the webview in the sidebar cannot be used


🐛 [fluttterfire_ui] sign up/register failing with social media on RegisterScreen but not on SignInScreen

Bug report
I have just implemented the SIGN IN screen. Available auth methods are email, Facebook, Apple and Google.
Everything works as intended, I can log in with email, social media. (Actually also signup with social media.
But there is a text link saying "Register", and when tapped it show the SIGN UP/Register screen. This screen is also showing Facebook and other social media buttons, but an error occurs when tapping these (Exception is about state AuthAction.signUp).
AuthAction.signUp is not supported by OAuthFlow
So what did I misunderstand here or  is it a bug?

@DennisKragekjaer
Can you run the plugin example and see if you get same error ? If not, you can cross-check the implementation to see if there's anything you missed at your end.

@darshankawar Actually I just had a videochat with another flutter developer, and he is facing the same problem, not on web but on mobile device.


Add a decorator to the Thing API

After thinking how to add entities to a Thing without adding the dependency to the Entities Thing based on the extended API and located at McThings Extra, I have reached the idea of having decorators.
The idea is simple: you create a House Thing and you can add to it a Decorator. For example, a LightDecorator. This decorator will add lights to the Thing, decorate it.  LightDecorator will have the logic to add torches  to a House or to a hollow pyramid.
We will have a EntityDecorator which will add entities to the Thing (villagers for example).
The Decorate API is simple: decorate(thing). It will be called once the Thing is built and from the characteristics of the Thing, it will decorate it. A Thing could have a list of decorators.
The EntityDecorator could live in the McThings Extra repository.   And the LightDecorator in the McThings one.
And the idea of having a LightDecorator for Things it is really interesting. How to light Things? It will depend in the kind of thing to be illuminated/lighted.

The way to implement it is to use a decorator around the build method, so in all Things after the real build method is called, the decorator is called on it.
https://stackoverflow.com/questions/24768400/how-would-one-decorate-an-inherited-method-in-the-child-class
Let's play wiith this!

First version implemented:

https://github.com/juntosdesdecasa/mcthings/commit/06d4110a1fcb02a84213fa9c6929f2c791c01b70

Ok, all done in 0.31.0. Now it is time to start using it.


go: 1.11.2 -> 1.11.4, 1.10.3 -> 1.10.7 [CVE-2018-16873, CVE-2018-16874, CVE-2018-16875]

Motivation for this change
https://groups.google.com/forum/#!msg/golang-announce/Kw31K8G7Fi0/z2olKn-QCAAJ "We have just released Go 1.11.3 and Go 1.10.6 to address three recently reported security issues."
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I've been advised to make this a pull request against staging instead, and also go 1.11.4 and 1.10.7 have been released by now.

@fpletz did you backport to release-18.09? I think you can skip staging-18.09 for go stuff. It builds fast enough.

@Mic92 Not yet, I was waiting for some test builds of go packages on 18.09 to finish before pushing. Will do.


Move inline css

Move inline css in _includes/head.html to assets/css/stylish-portfolio.css

alongside the above, move inline in assests/docs/cdl_values/values_of_CDL.html

Hello, can I work on this?

hey @aprilllllllll thank you for your interest! Yes, please go ahead :)


Dead bit tracking and peephole optimizations that use it

Write an analysis that figure out which bits are used and which are not.
For example, constant folding mod n if you know log(n) bits

Not very applicable to bril


Possible malware on the home page, render-tron.appspot.com

When I go render-tron.appspot.com [POSSIBLE MALLWARE BEHIND THAT URL] , which seems to be the home page for this project, my antivirus software gives this warning:

Do you happen to know how to report a false positive for avast?

Reported as false positive to Avast.


Add support for isolation aware mode

The Windows API has an "isolation-aware" mode, where several function calls are re-defined to create and reference data specific to a submodule (i.e. dlls or dependent crates), instead of sharing data with the host executable. This is done by adding IsolationAware to the start of the function symbol (e.g. DefSubclassProc being replaced with IsolationAwareDefSubclassProc). Doing this would allow dependent crates to define their own application manifests, without them relying on the root executable to define the manifest. These re-definitions seem to be found in the {headername}.inl files inside the Windows SDK um folder, with most of them being in commctrl.inl (although there are a few others).
I think that winapi should provide support for these functions, although it looks like it would be a pretty huge undertaking. Relevant MSDN documentation for these can be found here and here.

Isolation awareness would be a huge undertaking and I have no plans to work on it for a long time. I'm not opposed to accepting a PR for this however.


TilemapAABBRenderer is not defined

Currently RenderBug throws this error
ad0854d1-ee14-4dc1-8918-148b34eae7b3:53 Uncaught (in promise) ReferenceError: TilemapAABBRenderer is not defined
at new RenderbugInstance (ad0854d1-ee14-4dc1-8918-148b34eae7b3:53)
at Function.New (jsutil.js:13)
at Instance._CreateSdkInstance (instance.js:7)
at C3Runtime.CreateInstanceFromData (runtime.js:52)
at Layer.CreateInitialInstances (layer.js:8)
at Layout._CreateInitialInstances (layout.js:25)
at Layout._StartRunning (layout.js:22)
at C3Runtime._DoChangeLayout (runtime.js:81)
at async C3Runtime._MaybeChangeLayout (runtime.js:78)
at async C3Runtime.Tick (runtime.js:71)

@EthemAcar-Dev thanks for the awareness. Its been a minute since I've used C3, but it looks like the tilemap renderer isn't being imported for some reason. I'll check this out when I've some spare time.


ci: add github actions

Messages

:book:

:white_check_mark: All tests are passing
Nice one! All 42 tests are passing.

cross-env
Author: Kent C. Dodds
Description: Run scripts that set and use environment variables across platforms
Homepage: https://github.com/kentcdodds/cross-env#readme

Createdover 5 years agoLast Updated14 days agoLicenseMITMaintainers1Releases48Direct Dependenciescross-spawnKeywordscross-environment, environment variable and windows

This README is too long to show.
New dependencies added: cross-env.

  Generated by :no_entry_sign: dangerJS against 42c6b5708ca7991f1afe44d9e2ee476973552bd4


MINOR: NetworkClient#disconnect should not erase connection info

NetworkClient#disconnect should not erase the connection information.  This will allow exponential
backoff to occur.

Good idea.  I added a unit test.


mutect pipeline failed in "gatk_realign_info" step

Dear RPD,
First time running the mutect pipeline for WES data and got the following error. Tried "qsub run.sh ..." too but didn't help.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in job gatk_realign_info while creating output files ./out/normal/normal.bwamem.dedup.realn.intervals, ./out/tumor/tumor.bwamem.dedup.realn.intervals.
[Tue Nov 22 15:35:57 2016] ClusterJobException in line 28 of /mnt/projects/rpd/pipelines/pipelines.2016-10/somatic/mutect/gatk_mapping.rules:
Error executing rule gatk_realign_info on cluster (jobid: 10, jobscript: /mnt/projects/lihp/singlecelljco/Elise_new_data/CRC_exome_seq_data/DATA_for_RPD_20161121somatic_analysis/somatic_out/CRC858/.snakemake/tmp.FIYDZA/mutect.slave.gatk_realign_info.10.sh). For detailed error see the cluster log.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Is the "cluster log" accessible somewhere?
Thanks!
lihp

Hi Hui Peng,
yes the cluster logs are in the corresponding logs folder.
You can find a writeup on troubleshooting here: http://wiki.gis.a-star.edu.sg/index.php/RpdFramework2016TroubleshootingHowto
In general: first check the logs/snakemake.log file. In your case it indicates that the job gatk_realign_info failed. From there you can also see that the log file for that command was ./out/normal/normal.bwamem.dedup.realn.intervals.log. And in there you see the following GATK error message:
ERROR MESSAGE: File associated with name /home/lihp/ROI_files/SeqCapEZ_Exome_v3.0_Design_Annotation_files/SeqCap_EZ_Exome_v3_hg19_primary_targets.bed is malformed: Problem reading the interval file caused by Badly formed genome loc: Contig chr1 given as location, but this contig isn't present in the Fasta sequence dictionary
I don't have permissions to read that file, but I guess it's the typical problem of present 'chr' prefixes. Just remove and rerun.
Andreas

Thanks for the quick reply, Andreas!
It is now working after removing "chr".
best
Huipeng

Hi, Andreas
The mutect pipeline runs smoothly till the recalibration is done. But encountered an error at the mutect variant calling step.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Wed Noev 23 09:57:55 2016] ClusterJobException in line 126 of /mnt/projects/rpd/pipelines/pipelines.2016-10/somatic/mutect/Snakefile:
Error executing rule mutect_per_region on cluster (jobid: 17, jobscript: /mnt/projects/lihp/singlecelljco/Elise_new_data/CRC_exome_seq_data/DATA_for_RPD_20161121somatic_analysis/somatic_out/CRC1127/.snakemake/tmp.E1SX5U/mutect.slave.mutect_per_region.17.sh). For detailed error see the cluster log.
[Wed Nov 23 09:57:55 2016] Will exit after finishing currently running jobs.
[Wed Nov 23 09:58:51 2016] Error in job mutect_per_region while creating output files ./out/variants/mutect.0.wig, ./out/variants/mutect.0.vcf, ./out/variants/mutect.0.vcf.idx, ./out/variants/mutect.0.txt.
[Wed Nov 23 09:58:51 2016] ClusterJobException in line 126 of /mnt/projects/rpd/pipelines/pipelines.2016-10/somatic/mutect/Snakefile:
Error executing rule mutect_per_region on cluster (jobid: 15, jobscript: /mnt/projects/lihp/singlecelljco/Elise_new_data/CRC_exome_seq_data/DATA_for_RPD_20161121somatic_analysis/somatic_out/CRC1127/.snakemake/tmp.E1SX5U/mutect.slave.mutect_per_region.15.sh). For detailed error see the cluster log.
[Wed Nov 23 09:58:51 2016] Will exit after finishing currently running jobs.
[Wed Nov 23 09:58:52 2016] Exiting because a job execution failed. Look above for error message
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No obvious error was found in the output folder log files.
best
Huipeng

From qacct you can see that these jobs were killed by the cluster. The reason is the recent cluster upgrade, which changed the way memory use is accounted. Now some jobs apparently go over the memory limit (this will yet again change next week with the RSS changes John announced). This is annoying for all of us. Sorry for the inconvenience caused.
I've changed the default memory limits for mutect in the pipeline scripts just now. New calls of the pipeline script should just work.
For the existing run that you have, I would suggest to update the (locally defined) cluster limits and rerun from where it stopped, which can be achieved as follows:
cd /mnt/projects/lihp/singlecelljco/Elise_new_data/CRC_exome_seq_data/DATA_for_RPD_20161121somatic_analysis/somatic_out/CRC1127;
sed -i -e 's,8G,12G,' cluster.yaml;
qsub run.sh >> logs/submission.log;

Thanks, Anreas! It's working now.
Huipeng


Add Ubuntu dependency installation command

Nothing special. Just useful for end users.

Thank you for this.
I'll get the other one merged and released


Update Stripe to 3.0

Are there breaking changes?

You should use the latest release of Cashier... 6.0.


Alignment attribute is not applied when defined in modules.

This example is straight from the w3 examples which follows the valid path.
It appears that the align(16) attribute is not applied when the struct is defined in a composable module rather than naga module.
EDIT: I am not sure this issue also extends to @size attribute.
 composer
     .add_composable_module(ComposableModuleDescriptor {
        source: r#"
          struct S {
            x: f32
          }

          struct Valid {
            a: S,
           @align(16) b: f32 // valid: offset between a and b is 16 bytes
          }
        "#,
        file_path: "valid.wgsl",
        as_name: Some("valid".to_owned()),
        ..Default::default()
    })
    .unwrap();

composer
    .make_naga_module(NagaModuleDescriptor {
        source: r#"
            #import valid::Valid;
            @group(0) @binding(1) var<uniform> valid: Valid;
        "#,
        file_path: "",
        ..Default::default()
      })
      .map_err(|err| println!("{}", err.emit_to_string(&composer)))
      .unwrap();

The above fails with
error: failed to build a valid final module: Global variable [1] 'valid' is invalid
  ┌─ :3:33
  │
3 │           @group(0) @binding(1) var<uniform> valid: valid::Valid;
  │                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ naga::GlobalVariable [1]
  │
  = Alignment requirements for address space Uniform are not met by [4]
  = The struct member[1] offset 4 must be at least 16

This works however when everything is defined in a single file.

The success case for brevity:
composer
    .make_naga_module(NagaModuleDescriptor {
        source: r#"
      struct S {
        x: f32
      }

      struct Valid {
        a: S,
        @align(16) b: f32 // valid: offset between a and b is 16 bytes
      }
      @group(0) @binding(1) var<uniform> valid: Valid;
    "#,
        file_path: "",
        ..Default::default()
    })
    .unwrap();

Probably related: https://github.com/gfx-rs/wgpu/issues/4377

There are naga issues related to this (wgsl and glsl).
In bevy we still use dummy padding items (_padding: u32) instead of the align attribute to work around it.
I’ll investigate again though because this doesn’t seem exactly related to the output issues, it’s a pure naga issue.

on reflection, the backend issues are the direct cause - the including module is built from a generated header for the include for the target language (which includes the struct definition), and that header is generated incorrectly due to the backend issues.

on reflection, the backend issues are the direct cause - the including module is built from a generated header for the include for the target language (which includes the struct definition), and that header is generated incorrectly due to the backend issues.

afaik from my very rough understanding, naga oil works with the backend or the lower backend rather than the wgsl frontend. Doesn't it make more sense to work with naga::front::wgsl::parse::ast::TranslationUnit rather than naga::Module as it preserves some, if not all of the source information?

naga_oil currently supports modules/shaders written in a mix of wgsl and glsl, and (if anybody wanted to add it) could support other naga-supported langauges as well. so i would much prefer fixing the naga issues directly rather than working around them and limiting the scope - from my brief look it doesn't seem like anything fundamentally hard to fix in naga.


It does not work if I give the path of the file to send, we have to launch Portal from the path where the file is.

Hello,
It's easier to explain with screenshots :
With the path of the file to send, the given message is "no such file or directory" :

but it's okay if i launch the command from the path where the file is :

Maybe, it's on purpose, but this way, I cannot send files coming from different paths.
I use Ubuntu in french.
By the way, I installed another package (rust/cargo) called also "portal" that's why I cannot install the .deb ...

Thank you for the report, I can reproduce this on my machine and it is not intentional.

This has been fixed in v1.0.7, please upgrade and let me know if you have any issues :)


Dismiss by background tap is not working

I've done like readme but it's not working, it's a bug?
NSlog trigger show fine but popup never close.
- (void)showPopupDaudit{
    STPopupController *popupController = [[STPopupController alloc] initWithRootViewController:[POPViewController new]];
    [STPopupNavigationBar appearance].tintColor = MP_HEX_RGB(MAINCOLOR);
    popupController.containerView.layer.cornerRadius = 4;
    if (NSClassFromString(@"UIBlurEffect")) {
        UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
        popupController.backgroundView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
    }
    [popupController.backgroundView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(backgroundViewDidTap:)]];
    [popupController presentInViewController:self];
}
- (IBAction)backgroundViewDidTap:(id)sender
{
    [self.popupController dismiss];
    NSLog(@"Tapping in background.");
}

@vietnguyen09 think you are referring self.popupController in a wrong view controller. backgroundViewDidTap should be called in your POPViewController.

It's error
backgroundViewDidTap]: unrecognized selector sent to instance 0x15780b7b0
Main.m
[popupController.backgroundView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(backgroundViewDidTap)]];

Pop.h
- (IBAction)backgroundViewDidTap;
Pop.m
- (IBAction)backgroundViewDidTap
{
//    [self.popupController dismiss];
	NSLog(@"Tapping in background2.");
}

The target is not "self" in this case. Please read more about how to use gesture recognizer.

I've just copied your example in readme, I've searched in your example but its not contains any example about dismiss popup by tapping background.

Please help

@vietnguyen09 You should set the POPViewController as target, not the STPopupController.
Main.m:
    POPViewController *vc = [[POPViewController alloc] init];
    STPopupController *popupController = [[STPopupController alloc] initWithRootViewController:vc];
    [popupController.backgroundView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:vc action:@selector(backgroundViewDidTap)]];

POPViewController.h:
-(void)backgroundViewDidTap;

POPViewController.m:
- (void)backgroundViewDidTap
{
    [self.popupController dismiss];
}

In iOS 11 this solution will not work. Here is the suggestion:
[[(UIVisualEffectView *)popupController.backgroundView contentView] addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:vc action:@selector(backgroundViewDidTap)]];


Reason why you don't use readline

Is they any particular reason that you have chosen not to use readline ?
Wouldn't it remove lots of code on your side that you have to maintain, and at the same time give full readline capacity ?
I guess one problem is to integrate readline inside ncurses, here's an example of that in C, https://github.com/ulfalizer/readline-and-ncurses , I don't know if it is a hacky solution or if that technique could also be used from inside fzf.

Thanks for the info. I had no experience using readline on ncurses and didn't know if it was possible, so that's why. Still we don't know if they work together flawlessly. I could've looked into it, but since now we have every relevant readline binding working fine (is there anything you miss? Full read-line support, such as reverse-search, rather seems like overkill to me), so there's little reason for me to take time to switch. But if someone sends me a PR that replaces the current implementation with readline, I wouldn't refuse merging it.

Ok, I'm not missing anything in particular from readline for know.
I think it might be beneficial to use readline (less code, less maintenance, less documentation), but I also see that it represents some amount of work.


Add support of routes, that contain national characters

Add support of routes, that contain national (for me - Russian) characters.
Preface
Some years ago, most browsers began to support national characters in URI, for example:
http://somesite.ru/новости
("новости" is "news" in Russian). This URIs are percent-encoded https://en.wikipedia.org/wiki/Percent-encoding and they are more user-friendly.
Problem
Slim cannot use such uris in routes, because "raw" uri will appears as:
/%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8
so the plain pattern:
$app->get('/новости', function ($request, $response, $args) {
// some code
});
won't work.
Solutions
One of the possible solutions is to url-encode all patterns, but in such case, some special for patterns characters, like curly braces will be encoded too early and the pattern wouldn't work.
I found a balanced solution: encode only national characters and don't touch symbols from lower half of ANSI table, this will guarantee, that pattern, that didn't use national characters will work as before, but most routes with national characters (and national characters in combination with safe characters, like latin characters, numbers, underscores etc.) will work perfect too.
Advantage
Routes with national characters will work.
Disadvantage

A source-file, that defines routes (index.php by default) MUST be UTF-8 encoded. In most cases, this is true, so it's tiny flaw.
Some complex routes like /новости{1} won't work, but I never saw like uris on real internet sites, so I don't think, that it's a great flaw.

Coverage decreased (-0.3%) to 96.799% when pulling 069448bfa5f80d286f54685bc281a12d4481a808 on SmiSoft:3.x into d0d9655a66c61e5fd25fdbdc2fc80a6e37af469c on slimphp:3.x.

This issue is a nice example of how the router should be implemented as middleware in the future. Then you would have the possibility to integrate some kind of "InternationalRouteMiddleware" one step ahead of the core router into the stack. As a result, the core framework could be kept "slim" the special middleware could be placed where and when necessary.

This issue is a nice example of how the router should be implemented as middleware in the future. Then you would have the possibility to add some kind of "InternationalRouteMiddleware" one step ahead of the core router into the stack. As a result, the core framework could be kept "slim" and the custom routing middleware could be placed where and when necessary.

Slim 4: has RoutingMiddleware: https://github.com/slimphp/Slim/blob/4.x/Slim/Middleware/RoutingMiddleware.php

At first glance, this need to be opt-in. Ideally, it would be a piece of middleware that runs over all the added patterns and converts them. I'm not sure that's possible with the current access in the router though, but @l0gicgate may know.

Sorry, but I think, you are wrong. For example, authentification module should be external module (not included in kernel), because there exists site, that don't require authentification. The database support module may be external, there are not many sites, that don't use databases, but they may exist. The same is ORM, template engine, captha generator, logger and many other useful modules. But as for me, UTF-8 router must be included in kernel unconditionally, because most browsers (or we won't count IE as a browser?) encode URL in UTF-8 and it is a de-facto standart of the internet.

Hi @SmiSoft The slim router uses nikic/FastRoute and my first thought would have been to solve the problem right there. But then I found this issue 154.
Nikic is unfortunately not willing to solve this problem within his library. Here are the reasons:

FastRoute expects a decoded URL. As shown in the README, this can be achieved using a call to rawurldecode().

Then I tried this litte workaround and it works :-)
$app->get('/' . rawurlencode('новости'), function ($request, $response) {
    // it works
});

Unfortunately, this is not mentioned in the documentation of FastRoute. Apparently in Slim the regex pattern is not automatically urlencoded in Route.php, which could be considered a bug.
But I also believe that such a major change in the encoding of Slim could lead to compatibility problems with existing projects. The problem is that suddenly something doesn't work anymore seems to me very big.
What do you think of my little workaround with rawurlencode?

Sorry, but I think, you are wrong.

Fair points.
However, how do we do it that it's not a performance hit for people using ASCII only routes?

I'm not in favor of the proposed fix as I believe there would be a performance hit having to iterate over the route patterns and replace characters versus using a regex tree like Symfony 4 Router does.

The Symfony 4 RouterCompiler has a option for 'utf8' encoded routes.
https://github.com/symfony/routing/blob/master/RouteCompiler.php#L103
Maybe Slim could implement it too?

@odan: thanks for constructive comment. Certainly, FastRoute shouldn't be affected by this change. URLEncoding is not an option, I told in my first comment to pull request:

One of the possible solutions is to url-encode all patterns, but in such case, some special for patterns characters, like curly braces will be encoded too early and the pattern wouldn't work.
So, I offer my solution. Rather controversial, but this problem should be raised.
Here is a shorter function to encode the pattern
A great solution. I test it here: http://pastebin.ru/X2AQrqcs Results:

Input data: nothing to encode
encodeUrlPattern=0.15625 225000
patternEncode=2.0625 225000
urlencode=0.078125 245000
Input data: very many chars to encode
encodeUrlPattern=6.3125 825000
patternEncode=19.546875 825000
urlencode=0.078125 955000
So, your function is 3...10 times faster, than mine. But it cannot be compared to standart encoder, that is more than 280 times faster. Tests was performed on my ten years old notebook, but the absolute value was not the target, only relative values.

performance hit for people using ASCII only routes
6.3 seconds for 5000 routes (for @odan solution, which is faster)... Reasonable. Maybe, it's really worth to enable this optionally? But router (where this option logically required) has no access to DI container with 'settings'. The only visible way is to move patternEncode to App\map method. Maybe, I missed something?

After some time, I found an intresting thing. In Uri.php file I found the function filterPath:
https://github.com/slimphp/Slim/blob/3.x/Slim/Http/Uri.php#L642
I add a rawurldecode to the call:

return rawurldecode(preg_replace_callback(
Perfect! Russian UTF-8 route works perfect at this point. To complete change, it seems, that this foreach should be commented:
https://github.com/slimphp/Slim/blob/3.x/Slim/App.php#L569
but I'm not sure.  Certainly, FastRoute shouldn't be affected by this change. URLEncoding is not an option, I told in my first comment to pull request:

One of the possible solutions is to url-encode all patterns, but in such case, some special for patterns characters, like curly braces will be encoded too early and the pattern wouldn't work.

So, I offer my solution. Rather controversial, but this problem should be raised.

Here is a shorter function to encode the pattern

A great solution. I test it here: http://pastebin.ru/X2AQrqcs Results:
Input data: nothing to encode
encodeUrlPattern=0.15625 225000
patternEncode=2.0625 225000
urlencode=0.078125 245000
Input data: very many chars to encode
encodeUrlPattern=6.3125 825000
patternEncode=19.546875 825000
urlencode=0.078125 955000
So, your function is 3...10 times faster, than mine. But it cannot be compared to standart encoder, that is more than 280 times faster. Tests was performed on my ten years old notebook, but the absolute value was not the target, only relative values.

performance hit for people using ASCII only routes

6.3 seconds for 5000 routes (for @odan solution, which is faster)... Reasonable. Maybe, it's really worth to enable this optionally? But router (where this option logically required) has no access to DI container with 'settings'. The only visible way is to move patternEncode to App\map method. Maybe, I missed something?
After some time, I found an intresting thing. In Uri.php file I found the function filterPath:
https://github.com/slimphp/Slim/blob/3.x/Slim/Http/Uri.php#L642
I add a rawurldecode to the call:

return rawurldecode(preg_replace_callback(

Perfect! UTF-8 route works perfect at this point. To complete change, it seems, that this foreach should be commented:
https://github.com/slimphp/Slim/blob/3.x/Slim/App.php#L569
but I'm not sure.

I think, it's worth to discuss this kind of solution (maybe, it even worth to close this pull request and switch it to Issues branch?).

Please yes. I'd love to know if there's any BC issues with the rawurldecode proposal.


Address lintian errors and some warnings

This addresses all errors indicated by lintian and warnings other than:
W: journalpump: binary-without-manpage usr/bin/journalpump
I don't know if modifying the email address after-the-fact is kosher. That change can be easily dropped if so desired.

Oh, pylint checks failed. I doubt that has anything to do with the changes here, though.

New pylint version apparently found new problems, fixes look pretty simple.  Would you mind including them to this PR so we'll get clean tests?

Thanks!


449 - Earliest date validation

What is the context of this PR?
This change implements updating earliest date validation for Date answers.
How to review

Add a Date answer to a page.
Ensure you can enable it and update all the fields in the modal that is opened.

Dependencies

[x] Schema - https://github.com/ONSdigital/eq-author-graphql-schema/pull/62
[x] API - https://github.com/ONSdigital/eq-author-api/pull/119

 Front end changes for earliest date

I will review the code on Monday. But I had a few observations just from playing with the feature using the netlify preview link.

The native HTML date picker renders with mm/dd/yyyy in my Chrome window. Do you know if there's anyway of customising this e.g. date format? I think most users would be thinking in terms of dd/mm/yyyy, might be worth verifying with Sarah.

If you set a date and tab off mutation is fired off okay. But if you then clear the date and tab off it fires off the mutation as expected but I get an error response.

Wonder if we should be a bit smarter and not fire the mutation if the custom value is empty/null?

@samiwel

The UI shows dd/mm/yyyy for me - can you check your "Language & Region" settings?
Sounds like an API bug as its valid for it to be null. I'll have a look

LGTM apart from a couple of missing unit tests.


useKeyboardJs question

Why use dynamic import in useMount of useKeyboardJs to import keyboardjs, is there any problems of the following usage
import { useEffect, useState } from "react";
import keyboardJs from 'keyboardjs'

const useKeyboardJs = (combination: string | string[]) => {
  const [state, set] = useState<[boolean, null | KeyboardEvent]>([false, null]);
  useEffect(() => {
    if (!keyboardJs) {
      return;
    }

    const down = (event: KeyboardEvent) => set([true, event]);
    const up = (event: KeyboardEvent) => set([false, event]);
    keyboardJs.bind(combination, down, up, true);

    return () => {
      keyboardJs.unbind(combination, down, up);
    };
  }, [combination]);

  return state;
};

export default useKeyboardJs;

To add as question, could we have preventRepeatByDefault as an option?

Yes this hook requires presing the key combos twice in order to initialize them.  This means that the first time pressing the keys does not actually fire the event and the user has to do the combo twice

Yes, will make a PR this week 😉

Awesome, thanks!  Was worried when I saw how old the last comments were :-)


Improve LLM Documentation

What problem or use case are you trying to solve?
We should review and improve the LLM documentation:

Make sure that the recommended setup is clear (Claude 3.5 Sonnet, or clarify which models work well)
Make sure that the we also explain the setup of other models

Fixed by #4151


fix: Implement default path algorithm

The issue I'm trying to solve is that I'm interacting with the server that doesn't provide path attribute so we must calculate the default based on request URL. It turns out that unless the last "part" of the URL's pathname ends with / it should be dropped. This is better described in the RFC 6265 and this SO answer.

Done :)

Thanks for merging. When do you plan to release a new version?

in a few minutes ;)


error on line 101:30

When running the script as either a widget or from within the Scriptable app,
I get the following error,
Error on line 101:30: Expected value of type string but got value of type null.

Not sure why, but is seems that within displayFile, paramBookmark is not defined.

I get his too, have found any workarounds?


Request for formal release

TestNG Version

7.3.0

Expected behavior
We have uplifted to the latest version of TestNG, but there are some issues blocked us, like #2403 and #2357
Actual behavior
Do we have a plan to do a formal release, a small version uplift like 7.3.1 is OK to us.
Is the issue reproductible on runner?

[ ] Shell
[ ] Maven
[ ] Gradle
[ ] Ant
[ ] Eclipse
[ ] IntelliJ
[ ] NetBeans

Test case sample

Please, share the test case (as small as possible) which shows the issue

any news ...

@bj-9527 @slawekjaranowski - The release is in the plan but before it happens we would like to do two things:

Close off all the in-flight PRs that are being reviewed.
Close out a few more issues (Right now we have just 21 issue fixes).

OK, sure. Maybe you can assign me several issues which you think should be solved before release, I would like to fix them first.

@bj-9527 - To be honest, I haven't had the time to triage out the issues and figure out which of them can be included for the upcoming release. So I dont have a list of issues readily available at my hands which I can pass on. So please feel free to take a jab at as many issues as you can and help fix. The more the merrier. I was hoping that we could perhaps target a release maybe end of this year (Christmas release)  or first week of Jan 2021 (new year release). And I was hoping that we could atleast get to fixing some 40 odd issues.
@juherr @cbeust - All said and done, I think we should perhaps start looking at defining our release timelines (quarterly or monthly) or something on those lines so that our users know when is the next release coming. Your thoughts on this ?

Maybe Milestone feature of GitHub will be the best solution for planning and transparency next releases.
Everyone who is interested or want to help for next release can see what should be done.

@slawekjaranowski - Sure. But like I said, we would first need to define the release frequency basis (Is it based on the chunk of features/bugs or is it based on duration). That is where I was hoping to get some insights from Cedric and Julien.
On the logistics side, TestNG does not have a very big dev team. It has been pretty much mostly just me and @juherr . So all of those planning stuff is kind of hard to make it happen for want of time.

I don't see the interest in having a periodic release because the amount of changes depends on the free time of too few persons.
As an alternative, we could have a periodic beta release and make the final release only when we feel it right.
Users will be able to choose between the latest changes quickly but riskier, or using a more stabilized version.
WDYT?

What do you think about release automatically new version from master branch after each commit or periodically eg. once a week or else period.
If you really need you can create separate branch for stable release .... but this make more work for you.
Another idea - from time to time you can release next major version.
Automatically release will only change build - so user will know which version use, eg 7.3.0 - last stable .... 7.3.N last release from master.
Last time I refreshed mockito-testng project and I have release after each commit.
Similar release process is in mockito project.

Instead of a release for each commit, I'd prefer to use Jitpack and we already have an issue about this subject:  https://github.com/cbeust/testng/issues/2391

Any updates? #2403 is going to become a bigger problem because JCenter is apparently going down soon, and TestNG 7.1.1, which is the best version that doesn't have this bug, is not present in Maven Central, only in JCenter. So a new release in Maven Central with #2403 fixed would be nice.

@stachenov - 7.4.0 should most probably be released this weekend.

TestNG 7.4.0 is now released into maven central.


feat(*): support convert read inputs from env

What type of PR is this?
/kind feature
/area model

What this PR does / why we need it:
support convert read inputs from env
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):
Fixes #
Reference to #

Special notes for your reviewer:
/cc @FogDong @simon-cj

Does this PR introduce a user-facing change?:

support convert read inputs from env

/lgtm


Query only returning top row?

I am going to apologize in advance, as this is likely a case of me missing something stupid, but have been banging my head on this for awhile and I am lost.  I have a table that looks like this:

For debugging, I have gone the simple root and just create the cube, letting atoti define the default hierarchy and measures

I then execute the below query, basically for the record in question I want to get the duration of each sum of the duration in each stage broken down by stage (this is analogous to the  quantity per product and date  example in the tutorial).   So
Target 22, Prospect 126,  Qualified Oppy 22, Engaged 5) Instead I am only getting the (correct) value for one stage.

Hi, this could happen if your table has no key or if State is not part of the keys. See this section of the tutorial.

  Stage is not part of the keys, schema is below

Adding State as a key resolved it.  Thanks for saving me from myself!


No more manimce in URLs

I replaced https://manimce.readthedocs.io with https://docs.manim.community
I changed one link of https://pypi.org/project/manimce to https://pypi.org/project/manim
Note: it looks like manim is still on version 0.1.0 while manimce is 0.1.1. This should not be. manim should be the newest version, manimce should redirect to manim ... or sth like that, no?
I did not change the line choco install manimce because I have no idea about choco

Pinging @eulertour about pypi and @naveen521kk about choco

I did not change the line choco install manimce because I have no idea about choco

I am sorry. That would be manimce until we release a version 1.0.0. There was some problem with manim choco package that it had version 1.0.0 already released so other version wasn't able to work. Let it be manimce for now.

Perhaps we should add a warning or note admonition to the docs saying that.

I don't know anything about the choco package, but otherwise LGTM


Fix PersistentCollection init state during flush()

Fixes #921
EDIT: Fixes #963 as well

+1

Manually merged in https://github.com/doctrine/mongodb-odm/commit/b00177ce241214cfaf2eb2a01885d964a55a8ed8.
@rubenrua: I ended up replacing your test case, as I already had a test with more coverage back from when #921 was originally reported. Nevertheless, thanks for the effort on that.
@malarzm: I also reverted the removal of setting isDirty from https://github.com/doctrine/mongodb-odm/commit/bd573cb7def6ab22df8c465b0d79003d26e28046 and added a test for isDirty is preserved. That was the only functional change from that original commit, and although it doesn't seem to have caused #921 and #963 on its own (based on some quick testing), removing it was an error on my part. Thanks very much for resolving this.

:+1:

@jmikola I updated my test with a bi-directional reference and it's broken again.
See: https://github.com/doctrine/mongodb-odm/pull/1014


External users

Based on our discussion I have created the external users (fluentd, curator, snapshotter and exporter) and their roles.  The script is generic enough to add any user and their roles and mappings. I have added a complete configurations for fluentd and snapshotter as an example in the values.yaml file.
This pr fixes https://github.com/elastisys/ck8s/issues/513
The script is built on top of what @danielharr did  for configurer
Note to the reviewers: once the part under configurer.sh is approved the different blocks in the values.yaml file will go to https://github.com/elastisys/ck8s/tree/opendistro.  As such the focus in this review should mainly be on  configurer.sh while keeping an eye on the values.yaml section.

Looks good to me!
I find it difficult to have an opinion on @OlleLarsson s question above though.
Generally I like decoupling stuff like that into separate files that can be mounted as configmaps and read that way, to allow for easy customization. Don't know if that's desired behavior here though

Looks good to me!
I find it difficult to have an opinion on @OlleLarsson s question above though.
Generally I like decoupling stuff like that into separate files that can be mounted as configmaps and read that way, to allow for easy customization. Don't know if that's desired behavior here though.
Helm makes that kind of file handling pretty smooth IMO, and the script should just have to do something like
roles="{{ .Files.Get "path/to/roles-file.json" . }}"
# or
roles="$(cat path/to/roles-file.json)"

instead of
roles="{{ toJson .Values.configurer.roles }}"

if we want to go that way, if I'm thinking properly.

I don't have a strong opinion on either of the options. Let us hear what @lentzi90  thinks about this.

A question about the first option, how can we add new users and roles without having access to the configurer chart? In the current configuration it is easy to add new users through helmfile values.

Fair point! Perhaps you could set an entire file through helm values, but not sure if that's possible and how it would work with helmfile. Helmfile values might just be the way to go :slightly_smiling_face:

This is a first version of the feature. I will merge and we can discuss and update this later on as we see fit.


First step at supporting aiy-voicebonnet

respeaker 4mic and 6mic i2c numbers reversed
fixed i2cdetect command with bus number

I have the voicebonnet and a 4-mic respeaker to test with. soon a voice hat also and will add that detection.
The voicebonnet needs drivers from this fork of aiyprojects.  I got the speaker and mic to work pretty easy, and have been working on the LED button.  a multi-colored led on the bonnet, not sure of the hat yet.  I needed to change permissions somewhere though.  Viraniac also made a deb file for the bonnet which was nice of him.  https://github.com/viraniac/aiy-voicebonnet-soundcard-dkms/releases/tag/3.0-1.1-beta

just got the voicehat v1.  It does not register with i2cdetect, but it does work with just the overlay googlevoicehat-soundcard. So I won't be adding any additions to this PR unless the testing shows something to be wrong

So, the v2 hat can be detected, the v1 cannot?
I can confirm the v1, however do not have a v2 to test.

Yes, that is correct.  My V1 is NOT detected with i2cdetect, but the V2 bonnet is. I only added the mic detection, it also shows the speaker and the led in the i2c bus. I can add those if you want.

Yes, that is correct. My V1 is NOT detected with i2cdetect, but the V2 bonnet is. I only added the mic detection, it also shows the speaker and the led in the i2c bus. I can add those if you want.

Incase you are feeling brave enough to enable autodetection for Voice Hat v1,  please follow the instructions provided here

Hmmm, maybe I will try that with mine, and then at least we can write the code to support this.  Then if anybody wants to do so, they can.

Out of curiosity and I might be missing the bigger picture here, but why are you using i2cdetect to check whether aiy voice_bonnet is connected or not? Cant you use the contents of /proc/device-tree/hat/product file?

I was emulating the code that was written for other devices.  I will check that when I hook one up again.  Thanks for the tip

/proc/device-tree/hat/

this only works after the dtoverlay is added to boot/config.txt right?
we want to detect this before that step, to automatically configure whatever is needed, but @j1nx is the one to explain better the constraints

this only works after the dtoverlay is added to boot/config.txt right?

As far as I can recall and assuming my understanding is correct, dtoverlay has nothing to do with it. I believe it is populated by the raspberrypi's bootloader after reading the hat's eeprom. The eeprom may or may not contain the dtoverlay dtb. Like in case of voice-hat v1, it doesn't contain the dtb and hence we manually have to add the dtoverlay. But even before adding dtoverlay manually, the /proc/device-tree/hat directory will exist if the raspberrypi bootloader was able to read the eeprom

I have the voice hat v1 installed right now on a pi3b, and /proc/device-tree/hat is not there.  I checked before I added the dtoverlay, and after.  I does not show up there.  Is that because I did not flash the hat, (yet), like in your HACKING.md.

Thats weird. Do you have force_eeprom_read or disable_poe_fan in your
config.txt?
Maybe you can share the config.txt and the os you are using and I can try
to troubleshoot it tomorrow.
On Sat, 1 Apr, 2023, 2:48 am builderjer, @.***> wrote:

I have the voice hat v1 installed right now on a pi3b, and
/proc/device-tree/hat is not there. I checked before I added the
dtoverlay, and after. I does not show up there. Is that because I did not
flash the hat, (yet), like in your HACKING.md.
—
Reply to this email directly, view it on GitHub
https://github.com/OpenVoiceOS/ovos-PHAL/pull/13#issuecomment-1492618590,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTBO2HREMARCXUJ6IF3PALW65C3LANCNFSM6AAAAAAVZCF53I
.
You are receiving this because you commented.Message ID:
@.***>

no force_eeprom_read or disable_poe_fan, I just used the original HACKING.md instructions for installing it, and it works good. I just can't detect it.  Should I add one of those?
As for what os?  It is a custom raspbian image built with pi-gen
cat /boot/config.txt
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
#dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]

[pi0]
arm_64bit=0

[all]

dtoverlay=googlevoicehat-soundcard

Ok... Do you by any chance have multiple hats connected at the same time?
Like if i recall correctly,, last time you had both poe and bonnet
connected at the same time.
If thats also not the case then I will try it out again tomorrow. Have to
sleep now its 3AM here :) zZZ

no, just the voice hat v1

Alright. I will have to simulate what you have and troubleshoot the same.
Could you please backup and upload your hat's eeprom? I will flash it on my
hat tomorrow and see whats wrong with it.
You can follow the first 3 steps from
https://github.com/viraniac/aiyprojects-raspbian/blob/aiyprojects/HACKING.md#appendix-hacking-aiy-voice-kit-v1-voice-hat-for-autodetection
to backup your eeprom
On Sat, 1 Apr, 2023, 3:28 am builderjer, @.***> wrote:

no, just the voice hat v1
—
Reply to this email directly, view it on GitHub
https://github.com/OpenVoiceOS/ovos-PHAL/pull/13#issuecomment-1492657447,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTBO2FBY2L2NEWHJIMHNVDW65HPVANCNFSM6AAAAAAVZCF53I
.
You are receiving this because you commented.Message ID:
@.***>

eeprom backup
https://drive.google.com/file/d/1nGzSZzK5WWif0CS_NRa-SZ3xSXr505QU/view?usp=sharing

eeprom backup https://drive.google.com/file/d/1nGzSZzK5WWif0CS_NRa-SZ3xSXr505QU/view?usp=sharing

This is weird. Your eeprom is completely empty. Mine had the hat metadata present in it. Here is my stock eeprom image for comparision

I think I will flash like your instructions describe and see what shows up then.  Ya, mine was unreadable, I thought it was supposed to be that way.  It'll be later today though

Not sure why the build tests are still failing, but without this, the ReSpeaker 4mic and 6mic are reversed, and will be configured wrong on boot, and by the PHAL plugin associated with them.

Closing this as there is ovos-i2cdetect now


Improved grid DisplayTemplate

I love your app, so I'm proposing a small improvement. Hope you like it ;-)

Thanks! @NicolaDelfino, your idea is great. I will merge it now, however the new display template is somehow too big on the screen. I will modify it to fit into place later.


Results pane does not allow user to see bottom-most row or scrollbar without resizing

Issue Type: Bug
When I run a query against a database, the result pane often does not display the bottom left-right scrollbar, nor the last row of result data, without resizing the pane slightly upward.
This is a pretty consistent issue. If I run the query, this will occur. If I resize the pane, then run the query again, I will again have to resize the result pane to allow me to see the last result in the list as well as the bar.
I pretty much have to run a query, resize the pane up to see the entire list after scrolling all the way down. Then resize it down again, run a new query, and move it back up if I intend to re-use the same tab. It's pretty inconvenient.
Azure Data Studio version: azuredatastudio-insiders 1.37.0-insider (8cb6d48da2eb5e1d9f5a5719f6523ba1af0a2908, 2022-06-07T05:48:33.772Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-10310U CPU @ 1.70GHz (8 x 2208)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.73GB (7.20GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (6)

Extension
Author (truncated)
Version

admin-pack
Mic
0.0.2

admin-tool-ext-win
Mic
0.0.3

agent
Mic
0.47.0

dacpac
Mic
1.10.0

import
Mic
1.5.0

profiler
Mic
0.12.1

Correction, if there is a bottom scrollbar for left-right, I never see it, even if I resize the pane for the bottom result to come into view
Here's a screen grab before and after I resize the pane. You can see the last row that is fully on screen is row with ident 4805, but there is a row with data just out of sight.
If I click to resize that pane, and just pull it up just a tad, that row comes into view with ident 4800. Sometimes I can click that row also, and it will pop up into view and become visible. But, that last row (unless the result set is smaller than the pane itself) doesn't ever seem to be on screen by default.

@nmyron are you still having this issue with the latest ADS? I tried but not able to reproduce it, can you think you of anything special about your local setup?

please let us know if you are still having issues @nmyron


Double parsing

Hello Newtonsoft,
There is an issue parsing double array values for the number 2.5504, not sure why this number?
Try the below code and you will see 2.5504 parsed as 2.5503999999999998
     string js = "[2.8144, 2.8144, 2.6962, 2.6321, 2.5693, 2.5243, 2.5087, 2.5504, 2.535, 2.5506, 2.532, 2.491, 2.3533]";
     double[] values =(double[])JsonConvert.DeserializeObject(js, typeof(double[]));
     foreach (double dv in values)
        Console.WriteLine(dv.ToString());

//outputs
2.8144
2.8144
2.6962
2.6321
2.5693
2.5243
2.5087
2.5503999999999998
2.535
2.5506
2.532
2.491
2.3533
Regards
Sunil

Because floating point math. See http://floating-point-gui.de/

But this is straight forward parsing right?
double.Parse("2.5504") just returns 2.5504

Are you using 10.0.1? Upgrade to the latest version and check whether it is still an issue

I am using the latest <IP_ADDRESS>18
From: James Newton-King<EMAIL_ADDRESS>Sent: Friday, June 30, 2017 11:27 AM
To: JamesNK/Newtonsoft.Json<EMAIL_ADDRESS>Cc: Sunil Ramesh<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [JamesNK/Newtonsoft.Json] Double parsing (#1362)
Are you using 10.0.1? Upgrade to the latest version and check whether it is still an issue
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/JamesNK/Newtonsoft.Json/issues/1362#issuecomment-312182174, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcaP0eVBg9Nr3fvaTtpWS9OLwK_stpkhks5sJI4fgaJpZM4OKIvt.
CONFIDENTIALITY: This e-mail (including any attachments) may contain confidential, proprietary and privileged information, and unauthorized disclosure or use is prohibited. If you received this e-mail in error, please notify the sender and delete this e-mail from your system.

It works for me https://github.com/JamesNK/Newtonsoft.Json/commit/c21d2649ac748c39747c585f20572dfa76582516