BWA map error

When run
nextflow run SciLifeLab/Sarek/main.nf --sample dnaseq_run/multiple.tsv \
--step mapping --genome GRCh38 --genome_base /db/dnaseq/GRCh38 \
--tag latest -profile docker

obtain error:
  [W::sam_read1] Parse error at line 11210991
  samtools sort: truncated file. Aborting

however, change dir to error message  suggested dir:
Work dir:
  /dnaseq_run/work/03/5ca165d989087ab1cb5aaa61076a7f

then run:
sh .command.sh

i.e.
#!/bin/bash -euo pipefail
bwa mem -R "@RG\tID:PCL-016_N_1\tPU:PCL-016_N_1\tSM:PCL-016_N\tLB:PCL-016_N\tPL:illumina"  -t 20 -M     Homo_sapiens_assembly38.fasta SRR1713550_R1.fastq.gz SRR1713550_R2.fastq.gz |     samtools sort --threads 2 -m 2G - > PCL-016_N_1.bam

everything is OK,
PS. input raw data size:

xx_R1.fastq.gz: 1.4G
xx_R2.fastq.gz: 1.5G

any suggestion?
System (please complete the following information):

Hardware: Desktop
Executor:  local
OS: CentOS Linux
Version: 7

Nextflow (please complete the following information):

Version: 19.04.1 build 5072

Container engine (please complete the following information):

Engine:  Docker
version: version 18.09.5, build e8ff056

Hi @fw1121,
thanks a lot for your interest and for reporting this issue.
We're currently porting sarek to nf-core: https://github.com/nf-core/sarek/tree/dev
I do remember running into a similar error, once or twice, but I never got it since I'm working on this nf-core port where I included the "-K 100000000" parameter for BWA to fix the number of reads processed by bwa mem, as chunk size can affect BWA results:
https://github.com/nf-core/sarek/blob/c9088ffed8377bb55db95609c265f6d3e2ef1f1b/main.nf#L455-L459
Can you try that maybe?
Can you show your tsv file as well?
All the best,
Maxime

Hi @MaxUlysse ,
I have upload my demo tsv file, and all data include in this was obtained from NCBI, you can have a try,
Best wishes,
multiple.tsv.zip
Wei

Hi @MaxUlysse ,
As you suggestion, change the command to
    """
        bwa mem -K 100000000 -R \"${readGroup}\" ${extra} -t ${task.cpus} -M \
            ${genomeFile} ${inputFile1} ${inputFile2} | \
        samtools sort --threads ${task.cpus} -m 2G - > ${idRun}.bam
    """

still not working,
Best wishes,
Wei

Closing due to moving to nf-core/sarek.
If you still have the issue @fw1121  can you please open a new one on the nf-core repo?
All the best,
Maxime


Problems with scripts on MacOS

I tested the local setup with docker-compose as described in the scripts folder on a Mac and found the following issues:

register-did.sh fails writing the .env file due to wrong usage of variable names in the script ($ARCHITECTURE vs. $machine)
The README might mention that for the start-with-tunnels.sh to correctly run, ngrok must be available in the global path (in contrast to the examples on the ngrok web site that is linked), and the jq command must be available (not installed by default on all systems).

I already prepared fixes for those issues and will create a pull request.

Resolved by #296


QUIC: Remove hardcoded quiche set_initial_max_streams and use config values instead.

Need to figure out how to test this.

We might be able to use h3spec, but it's not updated for long time and I'm not sure if we can rely on it.
It'd be really nice to have tests for this but I'm fine with landing this without tests.

We might be able to use h3spec, but it's not updated for long time and I'm not sure if we can rely on it.
It'd be really nice to have tests for this but I'm fine with landing this without tests.

We can probably land this and create a  new issue to work on the tests.


Redis Server Docker Swarm Deployment

We will follow a convention of using '-' as separator between two
words in secrets, files, node labels, service names etc. Also have a look at last two commits. @namanmanish .


Migrate iOS app to Swift and add Parse library

Also added a segue that sends you to another screen when you click on the map bubble.


Container monitoring using Prometheus, cAdvisor and Grafana.

Status

[ ] Ready

Description
Describe your changes here to communicate to the maintainers why we should accept this pull request.
If it fixes a bug or resolves a feature request, be sure to include a link to that issue.
Container monitoring using Prometheus, cAdvisor and Grafana.
Types of changes
What types of changes does your code introduce to FEDn?

[ ] New feature

Checklist
If you're unsure about any of the items below, don't hesitate to ask. We're here to help!
This is simply a reminder of what we are going to look for before merging your code.
Not sure

[x] This pull request is against develop branch (not applicable for hotfixes)
[ ] I have included a link to the issue on GitHub or JIRA (if any)
[ ] I have included migration files (if there are changes to the model classes)
[ ] I have read the CONTRIBUTING doc
[ ] I have included tests to complement my changes
[ ] I have updated the related documentation (if necessary)
[ ] I have added a reviewer for this pull request
[ ] I have added myself as an author for this pull request

Further comments
Anything else you think we should know before merging your code!

Now I have created a clear branch for the Fedn monitoring, name "fedn-monitor". We can merge that one and remove this pull request.
/Salman.

No need to handle this pull request.


[Bug] JS Editor : Only on refresh the deleted JS function disappears

Steps to reproduce:

Add a JS function
Now navigate to Entity explorer
Click on Action Item next to the JS editor
Now. select delete option and observe

Observation:
It is observed that on deleting the JS function from the entity explorer the JS function does not get deleted until the page is refreshed
Expectation:
It should be a dynamic behaviour where on user deleting an JS function from the entity explore must not be displayed on the explorer

Closing the issue as this is not reproducible


Add azure login and push image to registry

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


.NET Build action to perform all tasks to avoid duplication

At present the Upload to NuGet action duplicates the steps to build the projects before uploading them. It would be much better to have all the restore, build, and pack tasks in a single reusable workflow, along with the NuGet push, and condition each step based on input parameters.
The 'Create artifacts folder' step can also be conditional on whether an artifact folder is provided.
As the 'Pull Request Merged' action already uses '.NET Build' it would make sense to use that for 'Upload to NuGet' as well.

The 'Create artifacts folder' step should have the same conditioning as the '.NET Pack' and 'Upload artifacts' steps.


Add Fixed Effects Meta-Analysis with Hedges’ g

Closes None.

Changes proposed in this pull request:
Fixed Effects Meta-Analysis with Hedges’ g

Here, we use Hedge's g as the point estimate and the variance of bias-corrected Cohen's d as the variance estimate in a weighted least-squares regression model.

Summary by Sourcery
This pull request adds a new feature for performing Fixed Effects Meta-Analysis using Hedges' g, refactors some array initializations for clarity, updates documentation to include the new feature, and adds corresponding test cases.

New Features:

Introduced Fixed Effects Meta-Analysis using Hedges' g in the NiMARE library, providing a weighted least-squares estimate with bias-corrected Cohen's d variance.

Enhancements:

Refactored the initialization of multiple numpy arrays in the _fit method to use list comprehensions for cleaner code.

Documentation:

Added documentation for the new FixedEffectsHedges class, including parameters, notes, and warnings.
Updated the example script to demonstrate the usage of Fixed Effects Meta-Analysis with Hedges' g.

Tests:

Added new test cases for the FixedEffectsHedges estimator to ensure proper functionality.

@nicholst: If you have time, we have a couple items we could use an extra pair of eyes to affirm the equations were implemented correctly:

T-statistic to Cohen's d

https://github.com/neurostuff/NiMARE/pull/894/files#diff-c4b7e710d859ad7044f5ace1b14be8c78884c8bd7e43eb34a53561cd90756022R865-R881

the transformation from Cohen's d to Hedge's g

https://github.com/neurostuff/NiMARE/pull/894/files#diff-c4b7e710d859ad7044f5ace1b14be8c78884c8bd7e43eb34a53561cd90756022R884-R907

Using the Hedge's g estimate and variance maps as input into the weighted least squares estimator.

https://github.com/neurostuff/NiMARE/pull/894/files#diff-9f375829adc9282d13ce7317d6a413f6466e9f04a59349edf705cb26b74636c4R1629-R1635


Statemapping not working with react-instantsearch-nextjs 0.1.5

🐛 Current behavior
I get an error saying that statemapping.stateToRoute is not a function when loading a page with react-instantsearch-nextjs. This didn't happen with the version I had previously to updating.
How can I fix this?
<InstantSearchNext
      indexName="products"
      searchClient={searchClient}
      routing={{
        stateMapping: {
          stateToRoute(uiState) {
            const indexUiState = uiState["products"];
            return {
              colors:
                indexUiState.refinementList &&
                indexUiState.refinementList["color_name"] &&
                indexUiState.refinementList["color_name"].join("-"),
              sizes:
                indexUiState.refinementList &&
                indexUiState.refinementList["sizes"] &&
                indexUiState.refinementList["sizes"].join("-"),
              price: indexUiState.numericMenu?.prices,
              sort: indexUiState.sortBy,
              q: indexUiState.query,
            };
          },
          routeToState(routeState) {
            return {
              ["products"]: {
                refinementList: {
                  color_name: routeState.colors && routeState.colors.split("-"),
                  sizes: routeState.sizes && routeState.sizes.split("-"),

                },
                sortBy: routeState.sort,
                query: routeState.q,
                numericMenu: {
                  prices: routeState.price,
                },
              },
            };
          },
        },
      }}
>

🔍 Steps to reproduce
Add statemapping code above to an instance of react-instantsearch-nextjs.
Live reproduction
codesandbox.io
💭 Expected behavior
Statemapping to work as in previous versions where I can create a custom url from the current uiState.
Package version
react-instantsearch-nextjs 0.1.5
Operating system
No response
Browser
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Which version did you have previously? the only change between 0.1.4 and 0.1.5 is marking it compatible with next 14. Do you have a reproducible example of this issue?

It seems to be giving me this error:
node_modules\instantsearch.js\es\connectors\refinement-list\connectRefinementList.js (286:41) @ eval
 ⨯ TypeError: Cannot read properties of undefined (reading 'length')

Referencing this component:
function XRefinementList({
  attribute,
}: {
  attribute: string;
}) {
  const { items, refine } = useRefinementList({
    attribute: attribute,
    sortBy: ["count:desc", "name:asc"],
  });
  return (

      {items.map((item) => (

          <button
            type="button"
            onClick={() => {
              refine(item.value);
            }}
          >
            {item.label}

              {item.count}

          </button>

      ))}

  );
}

with these routing settings
  routing={{
        stateMapping: {
          stateToRoute(uiState) {
            const indexUiState = uiState["products"];
            return {
              colors:
                indexUiState.refinementList &&
                indexUiState.refinementList["color_name"] &&
                indexUiState.refinementList["color_name"].join("-"),
              sizes:
                indexUiState.refinementList &&
                indexUiState.refinementList["sizes"] &&
                indexUiState.refinementList["sizes"].join("-"),
              seasons:
                indexUiState.refinementList &&
                indexUiState.refinementList["seasons"] &&
                indexUiState.refinementList["seasons"].join("-"),
              brands:
                indexUiState.refinementList &&
                indexUiState.refinementList["brand_name"] &&
                indexUiState.refinementList["brand_name"].join("-"),
              occasions:
                indexUiState.refinementList &&
                indexUiState.refinementList["occasions"] &&
                indexUiState.refinementList["occasions"].join("-"),
              price:
                indexUiState.numericMenu && indexUiState.numericMenu.prices
                  ? indexUiState.numericMenu.prices
                  : undefined,
              sort: indexUiState.sortBy,
              q: indexUiState.query,
            };
          },
          routeToState(routeState) {
            return {
              products: {
                refinementList: {
                  color_name: routeState.colors && routeState.colors.split("-"),
                  sizes: routeState.sizes && routeState.sizes.split("-"),
                  brand_name: routeState.brands && routeState.brands.split("-"),
                  occasions:
                    routeState.occasions && routeState.occasions.split("-"),
                  seasons: routeState.seasons && routeState.seasons.split("-"),
                },
                sortBy: routeState.sort,
                query: routeState.q,
                numericMenu: {
                  prices: routeState.price,
                },
              },
            };
          },
        },
      }}

Changing routing to True makes everything work fine again but with long and complex Url parameters. What could be causing this issue and is there a fix I can try? I've already tried adding a static attribute and removing any props but that didn't solve it.

This error happens because of:
https://github.com/algolia/instantsearch/blob/77919a92ede2dac7420c16f7743567e550e7cdac/packages/instantsearch.js/src/connectors/refinement-list/connectRefinementList.ts#L569-L575
This code was introduced in the latest version of InstantSearch.js, so if you revert to the previous (4.60.0 instead of 4.61.0) it should at least not error.
It seems like you're not always returning arrays from the values of refinementList, maybe the falsy value somehow is wrong? Do you mind debugging and finding what the value of indexUiState is before that function?
I don't see what the wrong value would be based just on looking at the code, but maybe could find it if you make a reproducible example.

It looks like "react-instantsearch" version 7.4.0 is causing these errors.
Everything is working fine now with this setup:
"react-instantsearch-nextjs": Latest version
"instantsearch.js": Latest version
"react-instantsearch": version 7.3.0 (downgraded from 7.4.0)
I've added a console.log() to get the uiState before stateMapping. RouteToState logged a value according to the parameters in the URL but stateToRoute didn't log anything with "react-instantsearch" version 7.4.0.

Thanks for your report, this is now fixed in #5956 and being released in https://github.com/algolia/instantsearch/pull/5957


:scissors: refactor: rename Open Mined to OpenMined

as announced by @4mber @ 2017-08-09. Replaced all occurrences of the separated name

I assume no one wants to argue with the lady..so I'll just merge this 👯♂

lol wrong button :( seems like I can't merge


[Not urgent] Support for natively unsupported file systems

The default explorer dosen't support some file systems like HFS, HFS+, APFS,  EXT/2/3/4, MFS etc (although the only ones actively used are HFS+, APFS and EXT4).
It would probably be quite hard to implement, especially the apple ones as idk if the source is available, but there are programs out there like paragon's apfs windows (https://www.paragon-software.com/home/apfs-windows/), diskinternals linux reader (https://www.diskinternals.com/linux-reader/) etc.
There are definitely other things with higher priority than this but when the time comes this would be quite nice to have built in imo.
:)

@duke7553

Thank you for your suggestion.
We currently have nothing to add on this specific request. I'm going to leave it open while I evaluate the  feasibility and technical work required.

This would be brilliant for interoperability between operating-systems, because simultaneous utilisers of Linux and macOS and Windows would finally be able to interact with their data slightly more consistently.
It would additionally demonstrate the superiority of http://github.com/files-community/Files enough that I am confident that journalists would mention it.

@3rikk, have you considered utilisation of VirtualBox? VirtualBox is able to bridge certain operating-systems (although unfortunately not TempleOS) so duplication and transferral of data should not be entirely infeasible without and/or before implementation of this functionality.


How to Package a Model File Directly into an Android APK or Obb

I want to ask how to package a model into an Android package. I see that currently, the model is being read from the directory FAndroidMisc::GamePersistentDownloadDir(). Of course, it's possible to transfer the model file using adb push, but how can I directly package it into an Android package?

When I was testing the models were exceeding the 4GB limit (https://developer.android.com/guide/app-bundle), so for my test cases I did push the models via adb. You can also create a download request on first run, this isn't ideal, but largely what android development leans towards in my experience. If your total package size is less than 4GB, you can probably just add it as part of Additional Non-Asset Directories see e.g. https://forums.unrealengine.com/t/how-to-include-some-files-as-part-of-an-android-packaged-build/507275/3


Fixed fullscreen & side-by-side

Related to @austintoddj comment in #81

Thanks @fergthh! You're the man!

@fergthh Do you think you'd be able to make the right side nav menu pop up in front of the full screen, just to be able to see the menu when in full screen editing mode? Here is the little menu that is behind the full screen:

Done @austintoddj :+1:

@fergthh One last z index one for ya. The help button on the new editor pops up a modal guide, which currently sits behind the navbar. Maybe you'd be able to tweak this one as well?

Yes, when I return to my home, I'll take a look ;)

@fergthh Not to keep piling it on ;) but just got a bug report that ALL modals on the site are behind the navbar, such as on the uploads page. If your solution could include these as well that'd be awesome!


Corrected a parameter error

The parameter is different from the slot definition to its call.

todos is one of the props of the TodoList component and it is correct. Thanks.


darwin.dtrace: Fix failing build

Description of changes
Fix failing build of darwin.dtrace by:

adding the second CoreSymbolication package to dtrace's dependencies; and
adding an alias for the second CoreSymbolication package to avoid having to explicitly name or rename it when calling the dtrace package in the existing contexts.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage  (but see note below)
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Note: Local running of nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD" did not find any package changes, and local running of nix-shell -p nixpkgs-review --run "nixpkgs-review rev -p darwin.dtrace HEAD" errored out with a message that the package darwin.dtrace was not rebuilt by the PR.  However, building via nix build <path/to/nixpkgs/checkout>#darwin.dtrace showed otherwise, failing to build on master but building and passing manual testing on this PR's branch.

Doesn't evaluate on aarch64-darwin.


Write a TypeScript program to find perimeter of a rectangle

Description
Write a TypeScript program to find perimeter of a rectangle
Perimeter of rectangle = 2 × (Length + Width)
Length : 2
Width  : 3

Perimeter : 10

How to contribute

Save the solution in FindPerimeterOfARectangle.ts file
Add FindPerimeterOfARectangle.ts file in find-perimeter-of-a-rectangle folder

!assign


Fix the issue that percentage text didn't display on Progress.Circle

@oblador could you merge this? Have the same issue with percentage text not showing up. Tried this and it works.

Problem with this PR is that it uses a private property that doesn't work when using native driver for example. The examples people have posted in the past were using the component incorrectly, do you have a simple example to reproduce it I'd be happy to fix it :-)

Ah maybe I did it wrong then.
<Progress.Circle
      progress={50/100}
      size={120}
      color='white'
      showsText={true}
      textStyle={{ fontSize: 36 }}
      borderWidth={0}
      thickness={10}
      unfilledColor={'rgba(255, 255, 255, 0.2)'}
/>

Should it have been 0.5 instead and not an expression?

The example here works. But I have the same issue as #67 Is there something wrong with how this is used?
I did just notice that the example works perfectly fine outside of a FlatList component! But if it is in an item passed in via renderItem it fails to update the text progress and it looks as though it isn't updating the animation at all like #97.
I have a small example, the first Progress.Circle utilises your example code (and runs fine) then there is a FlatList with two Progress circles which do not show an updated text and the animation feels very jerky. I can investigate further later today but I thought it might help.
<Progress.Circle
    textStyle={{ fontSize: 10 }}
    showsText={true}
    progress={this.state.progress}
    size={40}
    color='rgba(0, 122, 255, 1)'
    thickness={2}/>

<FlatList
data={[{text: "test", progress: 0.5}, {text: "test", progress: 0.8}]}
renderItem={({item}) =>
<View>
    <Progress.Circle
        textStyle={{ fontSize: 10 }}
        showsText={true}
        progress={item.progress}
        size={40}
        color='rgba(0, 122, 255, 1)'
        thickness={2}/>
</View>}
/>

So how can we fix the private property problem? I really want somebody merge this pr.

A temporary solution that I'm using is using a Timeout in a useEffect with a time of "1000", it's not the most suitable but for simpler uses it works well.


use less syntax for _key

Resolves Issue: #652
Refactor _key.less to use LESS syntax

Please run npm run compile again

Great thank you!
@all-contributors please add @JoelLau for code


Support libxkbcommon 0.4.3

Debian 8.10 still uses libxkbcommon 0.4.3. Accessing an XKBCOMMON_HANDLE results in a panic because the symbols concerning compose tables and compose states (from libxkbcommon 0.5) are missing:
https://github.com/francesca64/xkbcommon-dl/blob/9d35ac837821dcdc4f937242f83bae7460a99146/src/lib.rs#L261-L276
It would be nice if this library could handle different versions at runtime. There is a similar issue for x11-rs (https://github.com/Daggerbot/x11-rs/issues/35). They chose to add different structs for different versions, but it would also be possible to detect the version in a build script and to enable features accordingly.

Thanks for catching this!
This is unfortunate news though, since I'm not sure how to compensate for this missing functionality in winit's keyboard handling.

Thanks for merging!
The winit branch doesn't panic anymore and I'll do some research on the dead key situation without xkbcommon (A lot of searching brought me here https://stackoverflow.com/a/18288346 for a start).


RBAC not Working

Problem: Role Based Access Control is not enabling users to view Dashboards correctly.
Feature flag enabled: RBAC
Browser: Firefox
Superset Version 1.4
Background: I have assigned a user a role AlphaDG (essentially Gamma) and have assigned this role to a dashboard.
Expected outcome: Even though the user has not been assigned access to the underlying dataset(s), this user should be able to see the dashboard.
Actual outcome: The user is not able to see the dashboard (whether published or not)

Perhaps I have not included a necessary permissions flag?
That being said, I have tested user roles who are give all permissions (except datasource access obviously, as this is why I am using RBAC.....)

DASHBOARD_RBAC is the feature flag you enabled right.

I had a similar issue:
User 1 - has access to a dataset via role AlphaCopy (all datasource access is removed)
User 2 - has access to same dataset via role GammaCopy
Dashboard 1 and Dashboard 2 - defined on dataset
Now feature flag is enabled and access is set as follows:
Dashboard 1 - No specific user set, so all users with access to dataset should have access
Dashboard 2 - Only Role AlphaCopy has access to it
Outcome expected: User 1 will have access to Dashboard 1 and Dashboard 2, User 2 will have access to only Dashboard 1
Actual Result: User 1 and User 2 didn't have access to any dashboards
I then gave specific access to Dashboard 1 to role AlphaCopy and GammaCopy.  Same result
How exactly is the FEATURE FASHBOARD_RBAC supposed to work?

Ping @amitmiran137 , have you run into this? We're hoping to push out 1.5.1 in 1-2 weeks, so if this feature is currently broken it would be nice to get a fix for this in.

Are you using the DASHBOARD_RBAC ff?
Ehy not use the new UI for editing a dashboard
We use it as one of the core features we use and it does work
Please answer those questions sk we can proceed

I just tested this again with 1.5.0 and it works. Maybe it was an older version issue?

I guess so @villebro   as of now the feature flag works after the upgrade to 1.5.0 that I did.

Alright, this has become a bit unstructured. I was just picking up on parts of https://github.com/apache/superset/issues/18634#issuecomment-1073508833 but actually my problem is described in #17227
So you might as well close this issue and continue discussion in the other one ;)
Sorry for the mess

I have issue with Superset v1.5.0 , I'm unable to Assign Roles for users in Dashboard Properties(Option is not showing). I have enabled DASHBOARD_RBAC=True in config.py Can anyone Help m  e

Did you set the feature flag or just a variable?

As mentioned elsewhere it's working good for me.  The only catch is I had to give access to users on each dashboard. Default access didn't work.
Did you also run superset init? If not please try that.

could be a duplicate ticket to https://github.com/apache/superset/issues/19988 (happens also on V2.0.0)

The error is in
superset/security/manager.py
in the has_rbac_access function
 def has_rbac_access() -> bool:
            return (not is_feature_enabled("DASHBOARD_RBAC")) or any(
                dashboard_role.id
                in [user_role.id for user_role in self.get_user_roles()]
                for dashboard_role in dashboard.roles
            )

Delete the "not" and everything works as expected. Sorry, first post here, have to read up on how to officially post such things.

The error is in
superset/security/manager.py
in the has_rbac_access function
 def has_rbac_access() -> bool:
            return (not is_feature_enabled("DASHBOARD_RBAC")) or any(
                dashboard_role.id
                in [user_role.id for user_role in self.get_user_roles()]
                for dashboard_role in dashboard.roles
            )

Delete the "not" and everything works as expected. Sorry, first post here, have to read up on how to officially post such things.

Sorry @benjamin-mueller, that doesn't make sense. Your solution would completely bypass any role management introduced with the feature flag and grant all access, only because the FF is enabled.

The role management is done somewhere else, as mentioned in the parent function
def raise_for_dashboard_access(self, dashboard: "Dashboard") -> None:
        """
        Raise an exception if the user cannot access the dashboard.
        This does not check for the required role/permission pairs,
        it only concerns itself with entity relationships.
        :param dashboard: Dashboard the user wants access to
        :raises DashboardAccessDeniedError: If the user cannot access the resource
        """

https://github.com/apache/superset/blob/2d16100dbcc1d12d4c077b109f80ade53785077e/superset/security/manager.py#L1916
We tested it on our systems with roles assigned and it worked as expected, sorry.

FYI I believe I've hit this issue, and I'm working on a fix for it

I can confirm that DASHBOARD_RBAC works on 1.5.1. We want to upgrade to 2.0.1 but fear that it will impact our production users if this is broken in 2.0.0. A fix will be really appreciated.

Agreed that there is a gap in user access, we're on 2.0.0, with DASHBOARD_RBAC enabled. Our ideal use case is

All users who login get a custom role, something like dashboard_viewer
We use dashboard RBAC to grant access to the full dashboard (view dashboard, see underlying datasets, and see filter datasets)
We apply RLS rule that limits user based on templated {{ current_username }}

This way all users can login, see the dashboard, but only see rows they are associated with.
The issue now is we are getting the You don't have access to this dashboard - seems like the only workaround is the snippet Benjamin shared, it would not be scalable to add access for the 100+ users through dashboard ownership, sounds like this may have a fix on the way.
The other issue is datasets associated with native filters, when working around the above issue by adding my test user as an owner so it can hit the dashboard I'm getting permission errors on all native filters that utilize datasets NOT used by the dashboard. I believe the root of this is that hitting the dashboard/ID/datasets endpoint only returns chart datasets and not filters.

Hey guys,
I also had the same issue in both versions 1.5.1 and 2.0.0.
BUT after inspecting the code (specifically func raise_for_dashboard_access in branch 2.0 and line 1268) I figured out that  you need your dashboards to be Published, but my dashboards were Draft
...
            can_access = (
                is_user_admin()
                or is_owner(dashboard, g.user)
                or (dashboard.published  and has_rbac_access()).   # <<HERE<<: dashboard.published
                or (not dashboard.published and not dashboard.roles)
            )
 ...

If I set the dashboard status to Published everything works like a charm in both v1.5.1 and v2.0.0
I don't know if this solves your issues, but I hope it helps :)

I have issue with Superset v1.5.0 , I'm unable to Assign Roles for users in Dashboard Properties(Option is not showing). I have enabled DASHBOARD_RBAC=True in config.py Can anyone Help m  e

I`ve same issue here

what i`ve done is
adding this on config.py
#to Enabling DASHBOARD_RBAC (Role-Based Access Control) in Apache Superset - 2023-01-14
ENABLE_DASHBOARD_RBAC = True

then re inialize superset with
superset init
so i open dashboard and choose edit. show the image above.
how can i handle this?

Which version should I use ? Feature flags still not working

@lazuardi21
correct way to enable dashboard rbac is to add following to superset_config.py
FEATURE_FLAGS = {
"DASHBOARD_RBAC": True
}

@mdeshmu thank u a lot, it worked

Hi @mdeshmu thank u a lot, it worked.
I hope for this issue can be closed since it worked on my local.
Thank you!!

@villebro can we close this issue?

Please take a look at #23586

Hey guys,
I also had the same issue in both versions 1.5.1 and 2.0.0.
BUT after inspecting the code (specifically func raise_for_dashboard_access in branch 2.0 and line 1268) I figured out that you need your dashboards to be Published, but my dashboards were Draft
...
            can_access = (
                is_user_admin()
                or is_owner(dashboard, g.user)
                or (dashboard.published  and has_rbac_access()).   # <<HERE<<: dashboard.published
                or (not dashboard.published and not dashboard.roles)
            )
 ...

If I set the dashboard status to Published everything works like a charm in both v1.5.1 and v2.0.0
I don't know if this solves your issues, but I hope it helps :)

it works for me and my superset verison is 2.1.0. it's interesting the dashboard rbac works on development like run it on PyCharm even though the status is draft, but on live you need to change it to Published.

Hey guys,
I also had the same issue in both versions 1.5.1 and 2.0.0.
BUT after inspecting the code (specifically func raise_for_dashboard_access in branch 2.0 and line 1268) I figured out that you need your dashboards to be Published, but my dashboards were Draft
...
            can_access = (
                is_user_admin()
                or is_owner(dashboard, g.user)
                or (dashboard.published  and has_rbac_access()).   # <<HERE<<: dashboard.published
                or (not dashboard.published and not dashboard.roles)
            )
 ...

If I set the dashboard status to Published everything works like a charm in both v1.5.1 and v2.0.0
I don't know if this solves your issues, but I hope it helps :)

it works for me and my superset verison is 2.1.0. it's interesting the dashboard rbac works on development like run it on PyCharm even though the status is draft, but on live you need to change it to Published.

May I ask how did you resolve this RBAC issue? After publishing my dashboard, I still don't see the role-based access drop-down menu, mine just looks similar to this using v2.1.0
Did you change anything in .py files other than adding FEATURE_FLAGS = {"DASHBOARD_RBAC": True} to superset_config.py?

+++

Version 3.1.0
Docker Swarm installation
Enable feature

so

FEATURE_FLAGS = {"DASHBOARD_RBAC": True} in /app/docker/pythonpath_dev/superset_config.py

and so
#to Enabling DASHBOARD_RBAC (Role-Based Access Control) in Apache Superset - 2024-03-13
ENABLE_DASHBOARD_RBAC = True

superset_config.py
```
import logging
import os
from celery.schedules import crontab
from flask_caching.backends.filesystemcache import FileSystemCache
logger = logging.getLogger()
DATABASE_DIALECT = os.getenv("DATABASE_DIALECT")
DATABASE_USER = os.getenv("DATABASE_USER")
DATABASE_PASSWORD = os.getenv("DATABASE_PASSWORD")
DATABASE_HOST = os.getenv("DATABASE_HOST")
DATABASE_PORT = os.getenv("DATABASE_PORT")
DATABASE_DB = os.getenv("DATABASE_DB")
EXAMPLES_USER = os.getenv("EXAMPLES_USER")
EXAMPLES_PASSWORD = os.getenv("EXAMPLES_PASSWORD")
EXAMPLES_HOST = os.getenv("EXAMPLES_HOST")
EXAMPLES_PORT = os.getenv("EXAMPLES_PORT")
EXAMPLES_DB = os.getenv("EXAMPLES_DB")
The SQLAlchemy connection string.
SQLALCHEMY_DATABASE_URI = (
f"{DATABASE_DIALECT}://"
f"{DATABASE_USER}:{DATABASE_PASSWORD}@"
f"{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_DB}"
)
SQLALCHEMY_EXAMPLES_URI = (
f"{DATABASE_DIALECT}://"
f"{EXAMPLES_USER}:{EXAMPLES_PASSWORD}@"
f"{EXAMPLES_HOST}:{EXAMPLES_PORT}/{EXAMPLES_DB}"
)
REDIS_HOST = os.getenv("REDIS_HOST", "redis")
REDIS_PORT = os.getenv("REDIS_PORT", "6379")
REDIS_CELERY_DB = os.getenv("REDIS_CELERY_DB", "0")
REDIS_RESULTS_DB = os.getenv("REDIS_RESULTS_DB", "1")
RESULTS_BACKEND = FileSystemCache("/app/superset_home/sqllab")
CACHE_CONFIG = {
"CACHE_TYPE": "RedisCache",
"CACHE_DEFAULT_TIMEOUT": 300,
"CACHE_KEY_PREFIX": "superset_",
"CACHE_REDIS_HOST": REDIS_HOST,
"CACHE_REDIS_PORT": REDIS_PORT,
"CACHE_REDIS_DB": REDIS_RESULTS_DB,
}
DATA_CACHE_CONFIG = CACHE_CONFIG
class CeleryConfig:
broker_url = f"redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_CELERY_DB}"
imports = ("superset.sql_lab",)
result_backend = f"redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_RESULTS_DB}"
worker_prefetch_multiplier = 1
task_acks_late = False
beat_schedule = {
"reports.scheduler": {
"task": "reports.scheduler",
"schedule": crontab(minute="", hour=""),
},
"reports.prune_log": {
"task": "reports.prune_log",
"schedule": crontab(minute=10, hour=0),
},
}
CELERY_CONFIG = CeleryConfig
FEATURE_FLAGS = {
"ALERT_REPORTS": True,
"DASHBOARD_RBAC": True
}
ALERT_REPORTS_NOTIFICATION_DRY_RUN = True
WEBDRIVER_BASEURL = "http://superset:8088/"
The base URL for the email report hyperlinks.
WEBDRIVER_BASEURL_USER_FRIENDLY = WEBDRIVER_BASEURL
SQLLAB_CTAS_NO_LIMIT = True
#to Enabling DASHBOARD_RBAC (Role-Based Access Control) in Apache Superset - 2024-03-13
ENABLE_DASHBOARD_RBAC = True

Optionally import superset_config_docker.py (which will have been included on
the PYTHONPATH) in order to allow for local settings to be overridden

try:
import superset_config_docker
from superset_config_docker import *  # noqa
logger.info(
    f"Loaded your Docker configuration at " f"[{superset_config_docker.__file__}]"
)

except ImportError:
logger.info("Using default Docker config...")

superset init log

root@f16611d5216d:/app# superset init
Loaded your LOCAL configuration at [/app/docker/pythonpath_dev/superset_config.py]
logging was configured successfully
2024-03-14 09:14:49,198:INFO:superset.utils.logging_configurator:logging was configured successfully
2024-03-14 09:14:49,205:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/usr/local/lib/python3.9/site-packages/flask_limiter/extension.py:293: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
warnings.warn(
Syncing role definition
2024-03-14 09:14:53,741:INFO:superset.security.manager:Syncing role definition
Syncing Admin perms
2024-03-14 09:14:53,786:INFO:superset.security.manager:Syncing Admin perms
Syncing Alpha perms
2024-03-14 09:14:53,809:INFO:superset.security.manager:Syncing Alpha perms
Syncing Gamma perms
2024-03-14 09:14:54,340:INFO:superset.security.manager:Syncing Gamma perms
Syncing sql_lab perms
2024-03-14 09:14:54,870:INFO:superset.security.manager:Syncing sql_lab perms
Fetching a set of all perms to lookup which ones are missing
2024-03-14 09:14:55,371:INFO:superset.security.manager:Fetching a set of all perms to lookup which ones are missing
Creating missing datasource permissions.
2024-03-14 09:14:55,388:INFO:superset.security.manager:Creating missing datasource permissions.
Creating missing database permissions.
2024-03-14 09:14:55,418:INFO:superset.security.manager:Creating missing database permissions.
Cleaning faulty perms
2024-03-14 09:14:55,433:INFO:superset.security.manager:Cleaning faulty perms

</details>

What am I doing wrong?

Agreed that there is a gap in user access, we're on 2.0.0, with DASHBOARD_RBAC enabled. Our ideal use case is

All users who login get a custom role, something like dashboard_viewer
We use dashboard RBAC to grant access to the full dashboard (view dashboard, see underlying datasets, and see filter datasets)
We apply RLS rule that limits user based on templated {{ current_username }}

This way all users can login, see the dashboard, but only see rows they are associated with.
The issue now is we are getting the You don't have access to this dashboard - seems like the only workaround is the snippet Benjamin shared, it would not be scalable to add access for the 100+ users through dashboard ownership, sounds like this may have a fix on the way.
The other issue is datasets associated with native filters, when working around the above issue by adding my test user as an owner so it can hit the dashboard I'm getting permission errors on all native filters that utilize datasets NOT used by the dashboard. I believe the root of this is that hitting the dashboard/ID/datasets endpoint only returns chart datasets and not filters.

@wulfuric
Was there a fix for missing filter datasets (datasets only serving for a filter but not for any chart in the dashboard) permissions when utilizing dashboard RBAC?
Our current workaround is to create a dummy chart from the filter dataset and hide it somewhere in the dashboard but that does not feel like a proper solution. :-/


CLI: Add support for canceling invites by ID

Add support for canceling invites by ID. Used for seitan invites. Add --show-invite-id to list-members which will list all members and invites and annotate only seitan invites with their invite ID.
$ kbu team remove-member -h
NAME:
   keybase team remove-member - Remove a user from a team.

USAGE:
   keybase team remove-member [command options] <team name> --user=<username>

DESCRIPTION:
   "keybase team remove-member" lets you remove members and cancel invites

EXAMPLES:
    Remove a user from the team:
        keybase team remove-member acme --user roadrunner
    Cancel an email invite:
        keybase team remove-member acme --email<EMAIL_ADDRESS>    Cancel a secret token invite (like sms):
        keybase team list-members acme --show-invite-id # to get the invite ID
        keybase team remove-member acme --invite-id 9cfd13f927bcd1f6832fefa084bb2127

OPTIONS:
   -u, --user   username
   --email      cancel a pending invite by email address
   --invite-id  cancel a pending invite by ID
   -f, --force  don't ask for confirmation

$ kbu team list-members cn3team3 --show-invite-id
cn3team3  owner    cn4
cn3team3  owner    cn3
cn3team3  admin    t_alice
cn3team3  admin*   123             (* invited via secret token by cn3, awaiting acceptance) (Invite ID: 785459cdf858018b8c9366f3cebd6c27)
cn3team3  reader*  mcjagger (123)  (* invited via secret token by cn3, awaiting acceptance) (Invite ID: bd9746e7d783116799fa874f6f634d27)
cn3team3  admin*   123             (* invited via secret token by cn3, awaiting acceptance) (Invite ID: 0aa4e9771cb0ad92e35c8837afdf7c27)
cn3team3  admin*   mcjagger        (* invited via secret token by cn3, awaiting acceptance) (Invite ID: abf63b5f17ad3878f9b2d51160939e27)
cn3team3  reader*  mcjagger (123)  (* invited via secret token by cn3, awaiting acceptance) (Invite ID: d953bea00c05ad2af38379b4a77e2827)
cn3team3  writer*  mcjagger (123)  (* invited via secret token by cn3, awaiting acceptance) (Invite ID: b26c60d4151e422558de1ddf012b6c27)
cn3team3  admin*<EMAIL_ADDRESS>(* invited via email by cn3, awaiting acceptance)
cn3team3  admin*   mcjagger (123)  (* invited via secret token by cn3, awaiting acceptance) (Invite ID: ff7efceb47babb3d54e27361e6c84d27)

$ kbu team remove-member cn3team3 --invite-id abf63b5f17ad3878f9b2d51160939e27
Are you sure? [y/N] y
Success! Invitation canceled for team cn3team3.

$ kbu team remove-member cn3team3 --invite-id abf63b5f17ad3878f9b2d51160939e27
Are you sure? [y/N] y
▶ ERROR not all invite IDs could be canceled (code 2645)

$ kbu team remove-member cn3team3 --invite-id xxx
Error parsing command line arguments: Invite IDs are 32 characters and end in '27' (encoding/hex: odd length hex string). Use `keybase team list-members cn3team3 --show-invite-id` to find one.
...

$ kbu team remove-member cn3team3 --invite-id abf63b5f17ad3878f9b2d51160939e27 --email<EMAIL_ADDRESS>Error parsing command line arguments: Specify one of 'user', 'email', 'invite-id'
...

Maybe cc @malgorithms - this is unfortunately not the best UX but I can't see any other way

ok got it. it's only needed for the seitan invites, right? you can still remove everyone else (pukless users, email invites, etc.) without the invite id

That's right.

Pukless: Remove as if they were really in the team.
Email: Remove by email.
Seitan: Remove by invite ID.


Respiration data figure

Data magnitude and time range.

First pass at an Rs figure. @atkinsjeff @bpbond  were you thinking of showing the distribution of the data like below or actual cycles & variability?

Nice! My vote be to try visualizing the data over time, I guess. If we went with this might want to geom_jitter the actual points?

Okay hm, I originally tried to do date averages by rep but the dataset is missing a lot of dates, see below
> forte_rs %>%
      mutate(Day = date(Timestamp)) %>%
      group_by(Day, Replicate) %>%
      summarise(Date = mean(Day, na.rm = TRUE), n = n())

# A tibble: 19 x 4
# Groups:   Day [13]
   Day        Replicate Date           n
   <date>     <chr>     <date>     <int>
 1 2019-05-14 C         2019-05-14    80
 2 2019-05-14 D         2019-05-14    78
 3 2019-05-15 A         2019-05-15    78
 4 2019-05-15 B         2019-05-15    62
 5 2019-05-21 D         2019-05-21    78
 6 2019-05-22 C         2019-05-22    80
 7 2019-05-23 B         2019-05-23    78
 8 2019-05-24 A         2019-05-24    80
 9 2019-05-30 D         2019-05-30    78
10 2019-06-05 A         2019-06-05    80
11 2019-06-06 C         2019-06-06    80
12 2019-06-06 D         2019-06-06    78
13 2019-06-07 B         2019-06-07    80
14 2019-06-11 D         2019-06-11    78
15 2019-06-18 D         2019-06-18    81
16 NA         A         NA           366
17 NA         B         NA           378
18 NA         C         NA           364
19 NA         D         NA           514

I'm sure--I remember seeing KM's graphs. Maybe do by month? 🤷♂

Still missing 1400 + datapoints with that, though hm. I'll talk to Kayla

There is an error in the import. Some have date+time in the original and
some only have date. This is a raw data issue. Thoughts on how to address?
I can retain both columns maybe both Timestamp and date
--jeff
On Fri, Mar 27, 2020 at 4:15 PM Stephanie Pennington <
<EMAIL_ADDRESS>wrote:

Still missing 1400 + datapoints with that, though hm. I'll talk to Kayla
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FoRTExperiment/fortedata/issues/30#issuecomment-605295627,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7XVVLRGM6TEJ7Q2AUZFDTRJUCMLANCNFSM4LURAITA
.

--
Jeff Atkins, PhD
Post-Doctoral Fellow
Department of Biology
Virginia Commonwealth University
atkinsjeff.github.io
he/his/him

Oh good, at least the raw data wasn't lost. I would either parse into Timestamp and Date or use separate() to split into Date and something like Meas_Time.. whichever would be most useful for analysis

I noticed last night that some of the data sets ...when they are meant to
be reordered, that isn't getting assigned. Just called, so the datasets
aren't coming back as they are meant to be formatted
And in the case of Soil R, it's losing the Date column.
Jeff
Jeff Atkins, Ph.D
Department of Biology
Virginia Commonwealth University
On Sat, Mar 28, 2020, 09:58 Stephanie Pennington<EMAIL_ADDRESS>wrote:

Oh good, at least the raw data wasn't lost. I would either parse into
Timestamp and Date or use separate() to split into Date and something
like Meas_Time.. whichever would be most useful for analysis
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FoRTExperiment/fortedata/issues/30#issuecomment-605450812,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7XVVI3SN4CDC7SCTUTY4TRJX67RANCNFSM4LURAITA
.

Where are the raw data located? I can take a look at it if you want

They are in the ext folder....
Check my forked repo too, I just pushed adjustments up. You can see the
internal structure of fd_soil_respirarion
Maybe seperate works better? The raw data are funky.
Thanks and your plot looks awesome btw
Jeff
Jeff Atkins, Ph.D
Department of Biology
Virginia Commonwealth University
On Sat, Mar 28, 2020, 10:18 Stephanie Pennington<EMAIL_ADDRESS>wrote:

Where are the raw data located? I can take a look at it if you want
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FoRTExperiment/fortedata/issues/30#issuecomment-605453314,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7XVVIR5ONEQXGSO2VD4D3RJYBLFANCNFSM4LURAITA
.

Can I suggest changing the color scheme to viridis just to keep the
fidelity of that color scheme representing disturbance severity?
On Fri, Mar 27, 2020 at 3:43 PM Stephanie Pennington <
<EMAIL_ADDRESS>wrote:

First pass at an Rs figure. @atkinsjeff https://github.com/atkinsjeff
@bpbond https://github.com/bpbond were you thinking of showing the
distribution of the data like below or actual cycles & variability?
[image: Screen Shot 2020-03-27 at 3 40 13 PM]
https://user-images.githubusercontent.com/20341158/77793937-67825000-7041-11ea-924a-f014da377690.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FoRTExperiment/fortedata/issues/30#issuecomment-605283956,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7XVVIOV6XKQLBVCKSU5HDRJT6VNANCNFSM4LURAITA
.

--
Jeff Atkins, PhD
Post-Doctoral Fellow
Department of Biology
Virginia Commonwealth University
atkinsjeff.github.io
he/his/him

Take 2 using viridis and adding geom_jitter(). I cut off the yellow in viridis because it was difficult to see the violin (if you think this lime green is still hard to see I'll shift the range again)

Re: Ben's suggestion...

try visualizing the data over time

I think since Fig 4 will already have data availability by month for each dataset, it would be best to just show the distribution of the data here, but obviously open to discussion

I dig it. Great job!
Jeff Atkins, Ph.D
Department of Biology
Virginia Commonwealth University
On Fri, Apr 3, 2020, 12:21 Stephanie Pennington<EMAIL_ADDRESS>wrote:

Take 2 using viridis and adding geom_jitter(). I cut off the yellow in
viridis because it was difficult to see the violin (if you think this lime
green is still hard to see I'll shift the range again)
[image: image]
https://user-images.githubusercontent.com/20341158/78381377-479fde80-75a3-11ea-878f-b4f74f526395.png
Re: Ben's suggestion...
try visualizing the data over time
I think since Fig 4 will already have data availability by month for each
dataset, it would be best to just show the distribution of the data here,
but obviously open to discussion
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/FoRTExperiment/fortedata/issues/30#issuecomment-608533424,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7XVVK5N2XIKLPCFSR2SKTRKYEGVANCNFSM4LURAITA
.

Done


ENH: @DbJson fields are auto serialized and deserialized to specified classes.

We're using Ebean 4.6.3 in Play 2.4.x
I have a model that is similar to this:
@Entity
public class PersonGroup extends Model {
    @DbJsonB
     public Map<String, Person> persons;
}

For some reason Ebean doesn't serialize the Person objects, but instead stores a string with their memory location.
{"0": "models.Person@3ff"}

This problem is definitely seems to be happening on the write, because if I manually insert the properly formatted JSON representation of a Person into the database, it successfully deserializes the object into a Person when reading.
Can someone provide some insights into why this isn't working?

There are a lot of specific ScalarTypes this can map to (Mapping to Database VARCHAR, CLOB, BLOB, Postgres JSON or Postgres JSONB). However, most of those go through the ScalarTypeJsonMap.bind() ... and that method converts the Map into JSON string content.
So run with a debugger and put a break point there ...
HOWEVER, your Map has Person as a value type and assuming that is a @Entity that is not expected at all.  That is, with @DbJson/@DbJsonB you are expected to put arbitrary JSON and not relationships to other entity beans or bean types but instead JSON compatible types (boolean, long, double, String, and Map's or Lists of json compatible types).
This means it ends up going into EJsonWriter.writeJson() line 83 and doing object.toString() on the person instance.

The question becomes, why is the model not:
@OneToMany(mappedBy="group")
public List persons;
rather than:
@DbJsonB
public Map<String, Person> persons;

Sorry my Person/Person group example wasn't the best choice. In our use case Person is not another database entity, it's just a plain old java class.

Right, so that makes sense but is not supported.
That is, by implication you are expecting Jackson ObjectMapper (or similar) to be used to marshal and unmarshal the Person bean to/from JSON and that is not supported.  You need to use Object (and not Person).

Hmm okay, so how would I actually do this? How should I be storing a Person in order make sure I get it back as a Person? Is this not supported at all?

Using a Person bean - no it is not supported as previously stated.
How are you expected to do it?  As per the javadoc of @DbJsonB - use Object and not Person so in this case Object would be an actual Map instance.  That is, you lose type safety here.
You can refer to the tests using @DbJson and @DbJsonB  ... TestJsonMapBasic is probably the one to look at.
We can convert this ticket into an enhancement request but no it is not supported as you are attempting to use it. To state that in a different way, what you are expecting requires Jackson ObjectMapper which is an optional dependency and not Jackson core. What you are expecting is probably to mix structured and unstructured using Jackson ObjectMapper and no that is currently not supported.

I'll try to figure out a workaround, but in the meantime here's a much more complete description of how I was expecting the @DbJson decorator to work.
Models:
@Entity
public class Report {
    @DbJsonB
    Map<String, ReportSections> sections;

    public Report() {
        sections = new HashMap<>();
    }
}

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME,
		include = JsonTypeInfo.As.PROPERTY,
		property = "type")
@JsonSubTypes({
		@JsonSubTypes.Type(value = TitleSection.class, name="TitleSection"),
		@JsonSubTypes.Type(value = AuthorListSection.class, name="AuthorListSection"),
})
public abstract class ReportSection {
    public String getType();
}

public class TitleSection extends ReportSection {
    String title;

    public String getType() {
        return "TitleSection";
    }

    @Override
    public boolean equals(Object o) {
        if(this == o)
            return true;

        if(o == null || getClass() != o.getClass())
            return false;

        final TitleSection that = (TitleSection)o;
        return Objects.equals(title, that.title);
    }
}

public class AuthorListSection extends ReportSection {
    List<String> authorNames;
    public String getType() { return "AuthorListSection"; }

}

// Maybe some more subclasses...I want to use DbJson so I don't have
// to make a new table for every Section subtype, but I still want the
// type-safety of using objects.

Controller Method:
public class ReportsApi extends Controller {
    public Results getReport(Long id) {
        Report report = new Model.Finder<Long, Report>().byId(id);
        ok(Json.toJson(report));
    }

     public Results update(Long id) {
       /**
        * Example Json Format
        * { reportSections: { "0": {"type": "TitleSection", "title": "Working title" }}
        */
        JsonNode json = request().body().asJson();

        Report report = new Model.Finder<Long, Report>().byId(id);
        ObjectMapper mapper = new ObjectMapper();
        mapper.readerForUpdating(report).readValue(json);

        report.update()
        ok(Json.toJson(report));
    }
}

Test:
@Test
public saveAndRetrieve() throws Exception {
    Report report = new Report();
    ReportSection section = new TitleSection("Working Title");
    report.sections.put("0", section);
    report.save();

    Report retrievedReport = new Model.Finder<Report>().byId(repot.id);
    ReportSection retrievedSection = retrievedReport.get("0");

    assertEquals(section, retrievedSection);
}

Essentially I was hoping to not have to deal with JsonNodes and just be able to work with any type of Object but it was saved by being serialized to JSON.

Just changed "Feature Request" to "ENH" to be consistent with other enhancement request titles.

For example:

  // map to JSON, if not Postgres because we put length = 700
  // ...this will map to VARCHAR(700) rather than CLB

  @DbJson(length = 700)
  Set<PlainBean> beanSet;

  // JSONB (fallback to CLOB for H2 etc)

  @DbJsonB
  List<PlainBean> beanList;

  // Map where the value type is not Object so will use Jackson ObjectMapper

  @DbJson(length = 700)
  Map<String,PlainBean> beanMap = new LinkedHashMap<String, PlainBean>();

  // Not a basic List/Set/Map of String/Long/Object so use ObjectMapper

  @DbJson(length = 500)
  PlainBean plainBean;


RFC: RMLTC0010a-JSON & RMLTC0010b-JSON & RMLTC0010c-JSON

RFC for:

RMLTC0010a-JSON
RMLTC0010b-JSON
RMLTC0010c-JSON

In JSONPath the syntax for using a key containing spaces is "['foo bar']". This test implies that a mapping author should use "foo bar" instead, which changes the syntax rules of the JSONPath language. When you consider that references and templates can contain more complex expressions than just simple key references, this will also become problematic. IMO the mapping language should have no influence on the query expression language, especially not one that creates a divergence from the standard form of queries in that query expression language.
Proposed:

Change the mappings of these test cases to use expressions that are valid in standard JSONPath

Hi,
Thanks for your suggestion!
However, JSONPath is still a proposal and not standardized.
Several JSONPath implementations exist, handling some parts of the JSONPath
proposal differently in comparison to other implementations.
For example:

jsonpath-ng can handle both cases
com.jayway.jsonpath can handle both cases (used in the RMLMapper
and RMLStreamer)

This can be illustrated by the Jayway JsonPath Evaluator:

<EMAIL_ADDRESS><= $['expensive'])]
<EMAIL_ADDRESS><= $["expensive"])]

So we don't think this is related to the RML test cases, but to the JSONPath
library used by the processor.

Hi @DylanVanAssche,
Agreed that JSONPath is not standardized, which leads to a bunch of compatibility problems.
However, I'm confused. The examples you give are not indicative of the problem I tried to highlight. The problem has to do with the syntax for path segments containing spaces.
If you fill in the example with input:
{
  "countries": [{
    "Country Code": 1,
    "Name":"Bolivia, Plurinational State of",
    "ISO 3166": "BO"
  }, {
    "Country Code": 2,
    "Name":"Ireland",
    "ISO 3166": "IE"
  }, {
    "Country Code": 3,
    "Name":"Saint Martin (French part)",
    "ISO 3166": "MF"
  }]
}

and path
countries[*].Country Code

You get errors for all but Goessner. I can't find any source pointing to this being valid syntax, so it seems to be an optimization.
I use Jayway as well for CARML, and it gives an error Use bracket notion ['my prop'] if your property contains blank characters.
I don't see any options in Jayway to work around this.
Because you indicated that RMLMapper uses the jayway implementation I got curious how it can work there. I found https://github.com/RMLio/rmlmapper-java/blob/d574f063630fafbaffd5546136500e7558afd0f0/src/main/java/be/ugent/rml/records/JSONRecord.java#L39
which wraps the reference with the bracket notation.
Now, I can see doing this for convenience for users, but this is changing the way the expression language (or the underlying implementation) works IMO.
If this is expected engine behavior, it should be documented somewhere.
But I would be against making this expected behavior, because it requires an engine to change the expression language. That is a bad idea IMHO.
So I propose to reopen this issue.


Reopening PR #2130 after some small changes to spelling and logging

What kind of a pull request is this?

QA / Code Review

Code Checklist

[ x ] The code follows dotkom code style
[ x ] The code passes the defined tests
[ ] I have added tests for the code I added
[ ] I have provided documentation for the code I added
[ x ] The code is ready to be merged

(Possible) Breaking Changes

[ x ] The changes are backwards compatible

[ ] I have updated the build configuration
[ ] These changes requires changes to configuration in production

[ ] I have applied the required changes in production
[ ] I cannot apply the required changes in production before this is deployed.

Description of changes
Changes to spelling and logging in accordance to comments in PR #2130
Screenshot(s) if appropriate

Do not know why all of these other commits got in here... I have just changed stuff in posters/dashboard/utils...


Added=>Algorithms => Check_Prime => Segmented_Sieve=> Segmented_Sieve.cpp

I have implemented the segmented sieve  code for C++ language
Assigned Issue Number ?
#1058
Language Opted ?
C++
Number of files added or updated ?
1
Name of these files ?
Algorithms => Check_Prime => Segmented_Sieve=> Segmented_Sieve.cpp
Checklist

[X] I've read the contribution guidelines.
[X] I've referred the correct issue number.
[X] I've fill up this entire template correctly.

I will push it again into the given directory


Handle both 32-bit and 64-bit floats for tangents and weights in RenderingServer

This is a subset of #21922, split into its own PR because it should be quick/easy for @reduz to review separately.
The code previously only supported Float32 arrays although it used real_t. In my testing with double-compiled Godot, I've found that the ideal situation is for this code to support both 32-bit and 64-bit floats, which does require some code duplication.

Thanks!


Consolidate navbar display logic

Our current solution for determining whether to display the nav bar is spread across several places:

layouts:

application.html.erb
without_navbar.html.erb
_navbar.html.erb
_without_navbar.html.erb

controllers:

Each individual controller where we want to toggle the navbar

specs:

Request specs for each controller

Inspired by @gamecat2d's question about how best to test the changes in #966, @h-m-m and i discussed ways to consolidate our solution in a single place for future maintainability and also be tested in one place.
One potential solution is to:

consolidate the two layouts into a single one that applies across the whole site
have it call a helper method that is given the current_controller and:

checks whether it is one where we want to toggle the navbar
whether to display the navbar

the testing would then all be consolidated to a unit test of the helper method

Sorry for my english.
I'm new in Ruby (and Rails too) but in the docs i found the current_page? method.
What do you think about having in memory (or in database to configure it with the back office) the list of controllers/actions where the navbar need to be hidden and reduce it to a boolean value to display or not the menu in the layout ?
Something like (it's not working just an idea) :
<% if !hidden_actions.inject(false) { |acc, actions| acc || current_page?(actions)} %>
the navbar
<% end %>

Or a hash to be quicker with the controller as a key to know in O(1) the case where the current controller is not concerned because hidden_actions[current_controller].nil?
Best regards and stay safe !

Hi, @gamecat2d!
I'm not sure what will work here, since I haven't tried it myself. In addition to current_page? you have some other options available. I think params[:controller] and params[:action] might work, and there might be controller_name and action_name methods.
Also, I think @exbinary's suggestion in this issue is to have all the logic and conditionals in a method that's outside of the view. We haven't been testing views directly in this project. Rails makes testing logic in the views difficult.
For some additional context, when @exbinary and I were talking about this earlier today we were thinking that we'll probably get future requests to change which pages have the nav bar and which pages don't.
Since we probably will get those future requests, I'd prefer a solution where, if I want to make those changes, I only have to change one or two lines of code and also change one test. And since Rails makes testing views difficult, it would be nice if the code I have to change is not in the view
Thanks again for volunteering to look into this. Please let me know if you have any further questions

What do you think about having in memory (or in database to configure it with the back office) the list of controllers/actions where the navbar need to be hidden and reduce it to a boolean value to display or not the menu in the layout ?

Oh, I forgot to answer your question about having in memory. I think that's is fine. I'd even be okay with starting with an array that we manually save in the code somewhere. We can always then move it to a database later once the basic feature is in place

Completed with @gamecat2d's work merged in!


Tarpaulin Docker Image Fails to Parse New rusttoolchain Syntax

Hi!
With the recent release of rustup v1.23.0, the Tarpaulin Docker image no longer works with the new, TOML-base format of the rust-toolchain file.
To reproduce:

Pick a project that work with Tarpaulin.
Write TOML into rust-toolchain file, as per the rustup release linked above.

e.g.:
$ cat rust-toolchain
[toolchain]
channel = "1.48"
components = ["rustfmt", "clippy"]

Run the Tarpaulin docker image in this directory:

docker run --security-opt seccomp=unconfined -v "${PWD}:/volume" xd009642/tarpaulin

Observe the error:

Status: Downloaded newer image for xd009642/tarpaulin:latest
error: invalid channel name '[toolchain]' in '/volume/rust-toolchain'
error: caused by: invalid toolchain name: '[toolchain]'

I haven't tested if this bug exists outside of the Docker container as well, because I run OSX.
Thank you for your work on this project! :-)

I'll try to have a look at this tomorrow, it's probably just the docker images need rebuilding as they use the rust latest image so are very dependent on when updates get pushed out

Thank you!

Sorry about the silence on this, I forgot to comment that the docker images have been refreshed with a newer Rust base image. Just testing it locally and with docker on the minimal example and both work fine :+1:

Thank you! :)


Where is the Column Encryption Key stored?

This document never tells you where the column encryption key is stored.

Can this be written a bit more lucidly.  ( It seems this was written to be me more agreeable to the committee who wrote than the person who is reading it)
"It only stores encrypted values of column encryption keys and the information about the location of column master keys, which are stored in external trusted key stores, such as Azure Key Vault, Windows Certificate Store on a client machine, or a hardware security module"

What about defining CEK (Column Encryption Key) and CMK (column master key) in one place and using the acronyms thorugh the document.  It would be much easier to read a less verbose document when CEK and CMK are too similar when expanded.

This section:

For each parameter that needs to be encrypted, the driver obtains the information about the encryption algorithm and the encrypted value of the column encryption key for the column, the parameter targets, as well as the location of its corresponding column master key.
Next, the driver contacts the key store, containing the column master key, in order to decrypt the encrypted column encryption key value and then, it uses the plaintext column encryption key to encrypt the parameter. The resultant plaintext column encryption key is cached to reduce the number of round trips to the key store on subsequent uses of the same column encryption key. The driver substitutes the plaintext values of the parameters targeting encrypted columns with their encrypted values, and it sends the query to the server for processing.

After reading 3 or 4 times, I am not sure I understand what it is trying to say.   I am sure can be written a bit more lucidly.   Perhaps a diagram might help to illustrated this idea better.
Is the client trying to send a query with a unencrypted string or with a encrypted string?
Sorry folks I have to honest here?  I was in a SQL class. 10 IT pro's  in my class was trying to decipher what a committee of 19 highly paid tech writers at Microsoft were trying to say.  Somebody mentioned that it is easier to read Federal Statues.  Or the bible in Aramaic, than read some of the Microsoft Docs.  Thank goodness its only a few.
But lets be honest You folks are probably the best paid tech writers in the world(100K/yr) and this is the product you put out! We finally had to go to the link below to make sense of it.  I am not sure if it is all correct either. Even then we wish it had a bit more information.  That you were trying to put out. But didn't come across well.
https://codingsight.com/understanding-sql-server-always-encrypted/
I certainly pray for the day when Microsoft tech writers collect info as a team but one person in a singular voice writes the article from top to bottom.  Even in this article you can see that some people have done an excellent job in writing to make sense.  And then other sections you can see the tech writer was just relaying something that was told to them but they themselves didn't understand.
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 21605a56-8aa8-9dbf-6743-999f204e6775
Version Independent ID: 35bbb590-6aec-4c63-9dac-cff287745d06
Content: Always Encrypted - SQL Server
Content Source: docs/relational-databases/security/encryption/always-encrypted-database-engine.md
Product: sql
Technology: security
GitHub Login: @jaszymas
Microsoft Alias: jaszymas

@D-Moonesinghe -- thank you for your considered feedback.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@jaszymas -- please look into this issue.

I looked at all these places, They didn't have the answer.  I expected
Microsoft to be the final word on this.  Not someone's answer we don't know
if we can trust if it is correct or not.
On Mon, Oct 12, 2020 at 4:50 PM William Anton Rohm<EMAIL_ADDRESS>wrote:

@D-Moonesinghe https://github.com/D-Moonesinghe -- thank you for your
considered feedback. Please consider these resources:

SQL Server on Microsoft Q&A
https://docs.microsoft.com/en-us/answers/products/sql-server
DBA Stack Exchange
https://dba.stackexchange.com/questions/tagged/sql-server
Stack Overflow
https://stackoverflow.com/questions/tagged/sql-server

@jaszymas https://github.com/jaszymas -- please look into this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/sql-docs/issues/5553#issuecomment-707339257,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOOSSNSMENFQ44SP2MS4ARDSKNT2XANCNFSM4SI66OAQ
.

--
Deepal Moonesinghe
(408) 568 1669
<EMAIL_ADDRESS>

Hi @D-Moonesinghe - Thanks for the feedback! I'm putting in a task internally to review this article, and will take your input into consideration when we make changes. We appreciate that you took the time explain where you think we can do better, and help clarify. If you have any concerns, please let us know. Thanks!

Tracking internally, so will close this issue for now. https://mseng.visualstudio.com/TechnicalContent/_workitems/edit/1814178


KAFKA-13716 Added the DeleteRecordsCommandTest to test the CLI front end of the D…

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

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

Thanks for the quick responses. To your first answer, I'm happy to do that and will take a look at the TopciCommandTest for guidance.
To your second answer. Integration tests for this should probably be in a different Jira since the methods in the MockAdminClient are effectively not implemented (if you try to do anything other than delete from the first offset, it throws an UnsupportedOperationException). So I'd like to keep the scope of this PR to unit tests. If you think that makes sense, I'll go ahead and open up an issue for it to make sure we track that outstanding item.

So I'd like to keep the scope of this PR to unit tests. If you think that makes sense, I'll go ahead and open up an issue for it to make sure we track that outstanding item.

Yes, make sense. Please open up another JIRA issue for it. Thank you.

@showuon I've gone ahead and added more tests as suggested. Happy to receive feedback on them! In addition, I opened the following jira as we agreed to to track integration tests: KAFKA-13931

Hey @showuon , just looking to see if you have any input on the last commit I made to this PR.


Removing content from a page

It feels very difficult to remove content from a page quickly and some elements I can't manage to remove at all.

Text cells support removing with backspace when they're empty. Other cells unfortunately currently don't have an easy way to be removed in edit mode. However, you can switch to layout mode and drag the cells onto the trash icon. That removes them.

I suggest allowing other cells to be removed with backspace in edit mode also.
Additionally I suggest that the delete key would also delete empty text cells and other cells.

Yes, that makes sense! It's currently disabled for some cells due to input fields in the bottom toolbar which messed with backspaces etc. I think it's important to support fluent editing experiences, and shortcuts for removing things are definitely a part of this!


Publish UI Kit to NPM

Needs to be installed as a package to make development easier.

This looks like it was done


SO-6148  Exclude irrelevant axiom types from validation (9x)

7.x version here: https://github.com/b2ihealthcare/snow-owl/pull/1343

@AAAlinaaa please resolve the conflict.


Clinic Costs now By Week

I rule and have completed some work on Case Manager that's ready for review!
First hash at the Clinics having per-week costs
This pull request makes the following changes:

The model now has fields for cost from week 5 through week 30
The view has a basic display of all 26 costs
The edit now has a very dirty set of fields for entering these

Bumps #960

Codecov Report

Merging #961 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #961      +/-   ##
==========================================
+ Coverage   97.56%   97.61%   +0.05%
==========================================
  Files          40       40
  Lines         861      882      +21
==========================================
+ Hits          840      861      +21
  Misses         21       21

Impacted Files
Coverage Δ

app/models/clinic.rb
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Notes been destoryed / replaced

I believe "History Panel" is very useful, therefore, I installed it.
It looks nice and just as I expected, very useful for jumping around notes.
However, I just notice that some files are either completed destroyed or partial contains of a note deleted.
I am not sure how and when this happened. I have play around with setting after installation. Then, I noticed the above issue. (FYI: I am not sure this issue happened before or after I played with setting.)
I took some screen shots of notes along with the setting of this "History Panel".  Hope these screen shots will help to resolve the note destroy issue.
Thanks for writing this plugin and waiting for the fix. Thanks again.
HistoryPlugin_Issues_230430.zip

Hi!
Thanks for reporting about this. Sorry to hear about it. It's the first time that I run into this issue.
Since the plugin only writes to a single note - the history log / note - in all your Joplin database (here, here, and here, specifically) and never to any other note, I hope that we can trace what happened there.
Investigation
If you go to the History Panel settings, and click on Advanced Settings you will see something similar to this:

The history note ID should contain a single string that is the Joplin ID of that single note that the plugin writes to. You can check if the ID of that note is the same as the note that was corrupted by the plugin. You can do that directly, by comparing the string in the settings to the string that appears in the note info / properties. Or perhaps more easily, you can click the title of the panel (HISTORY), and if it opens the note that was corrupted, this means that this note is currently defined as your history note.
Solution
If this is indeed the case, the solution is to reconfigure the history note. The recommended way to do so is to go to the note that you wish to have your logs stored in, and then select from the Tools menu Tools-->History-->Set history note. You only need to use this command once in order to configure the plugin, there is no need to repeat the process.
I hope this will solve your problem. I'd be happy to get your updates.

The original files were overwritten already.
but, I have tried to reproduce the issue these few days.
Luckily, the issue was partially reproduced (only adding text to one file but not replacing a file as last time).
Attached please find screenshots of IDs. Hope these pictures  will help to pin point the issue.

I guess I found the cause of the issue.
Please see the attached screenshot below.
Suggestion: For people just starting using this plugin, a warning msg will be nice. Or, hide this "set history note" somewhere not so easy to access since for most cases, this "history note" needed to be set once only.

Thanks @td-edu for the detailed report.
As I suspected this was due to setting the history note.
And thanks for the suggestion, I think that you're right and that a warning may be helpful. I'll add one.


[TS] Add typings support for sample accepting combinable source argument

Add support for the following callable sample signatures with combinable source:

sample(storeObj, clock)

sample(storeList, clock)

sample(storeObj, clock, fn)

sample(storeList, clock, fn)

sample({ source: storeObj, clock })

sample({ source: storeList, clock })

sample({ source: storeObj, clock, target })

sample({ source: storeList, clock, target })

sample({ source: storeObj, clock, fn })

sample({ source: storeList, clock, fn })

sample({ source: storeObj, clock, fn, target })

sample({ source: storeList, clock, fn, target })

Amazing! Big thanks  👍 👍


SSH support

This PR improves SSH support in general and lays the groundwork for push support discussed in https://github.com/dagger/dagger/issues/7202
I wanted to get an early feedback about:

passing around the Git struct for shared state a container creation
known hosts (prone to MITM attacks)

There is a better, but GitHub specific solution for known hosts: https://serverfault.com/a/1098531

Thanks for the PR!

I wanted to get an early feedback about:

passing around the Git struct for shared state a container creation

Works for me. My only gripe with constructor arguments, is that you can't discover them from the CLI: dagger call --help won't show them. Also when you omit a required constructor argument in a pipeline, the error doesn't make it clear which function in the pipeline the argument is missing. I think both are known issues.

known hosts (prone to MITM attacks)

In addition to this, we should implement TOFU by default, so that things work out of the box without being forced to pass host keys. If we persist the known hosts file in a cache volume, it's reasonably persisted, and therefore a reasonably safe implementation of TOFU.

My only gripe with constructor arguments, is that you can't discover them from the CLI: dagger call --help won't show them.

Are you sure?
❯ nix run github:dagger/nix#dagger -- call --help

...

In addition to this, we should implement TOFU by default, so that things work out of the box without being forced to pass host keys.

I don't really know how to implement that with Git, other than passing StrictHostKeyChecking=accept-new to the SSH command. Is that what you mean?
Also, in this case, I'd probably drop known hosts from the first iteration entirely. We can always add it later if necessary (or add other options for users to make host key checking strict). WDYT?

I think this PR is ready, I'll work on push support in a followup PR.


Add stratum server

PR description
Add a stratum server implementation that can be wired to submit jobs and receive solutions.

@nfmelendez feel like reviewing this one?


Audit and make documentation for command GETDEL consistent

The documentation of the command [GETDEL](https://dicedb.io/commands/getdel/) present in the docs could have become stale. We need your help to ensure that the documentation is complete, correct, and consistent.  Completing this issue will give you much-needed exposure to how the command is implemented and the different parameters it accepts. Hence, this is a great way to build a good understanding of the project and its functionality. While still making a significant contribution. Here's what you need to do:

Go through the documentation of the command and run all the examples, making sure they all work as expected
If the same command is present in Redis, then the expected output of the DiceDB command is the same as the Redis output
If the command is not in Redis, then as per your judgment, raise an issue with this template or fix the documentation and raise a pull request.
The documentation should contain the following sections in the following order

short and concise introduction paragraph about the command covering what it does
Syntax
Parameters: List all the parameters the command accepts, and ignore the section if there are no parameters
Return values: List all possible return values and under what condition
Behaviour: Describe the behavior of the command, what it does, how it does it, some internal specifics if any
Errors: List all possible errors the command can throw and under what condition
Examples: List all possible examples of the command and the expected output. Assume CLI implementation

Note: The title of the sections should be the exact strings mentioned above, like "Examples", "Return values", etc.
Note: The description of the command in Frontmatter of the command.md file is the first paragraph (introduction) of the command.
Go through the DiceDB/dice repository and explore the command implementation

to understand all possible return values
to understand all possible error values and conditions
to understand different parameters the command accepts

Please use the documentation of the SET command as the reference point and structure the
documentation of this command in a very similar way, including the following points

if you see any "Conclusion" section, remove it
the headers (h1, h2, h3) should be appropriately used
the CLI prompt should be <IP_ADDRESS>:7379> and not anything else
Use markdown tables for parameters and return values (ref SET command documentation)
wrap any command or paramter in backticks (`) to highlight them
the section header should be capitalize as used in the SET command documentation

If you find any inconsistencies, please fix the documentation and raise the PR.
The core idea of this exercise is to ensure that the documentation is consistent, correct, and complete.
Make sure you comment on the other issues you created (if any) as a comment on this issue and also any PR (if any) that you created.
Thank you for picking this up and contributing to the DiceDB. It means a ton.

@arpitbbhayani @JyotinderSingh. I would like to document this command. Please assign this issue to me

@surya0180 assigned, thanks for contributing.

Hi @lucifercr07. I have updated the docs for GETDEL. Please review them and merge accordingly.


Make the postcode checker heading line break in the right place

What
The results of the postcode checker have the heading 'This area is in [full tier name]'.
We want to make a line break so the full tier name is always on one line so people can easily understand it. So the options will display as:
This area is in
Tier 1: Medium alert
This area is in
Tier 2: High alert
This area is in
Tier 3: Very High alert
Why
So people can easily identify their tier
https://trello.com/c/LCDIMFk5/967-make-the-postcode-checker-heading-line-break-in-the-right-place

@DilwoarH Can you add some screenshots? For example, what does the page look like if there are future restrictions?


Jinling Institute of Technology

http://www.jit.edu.cn/

Add Jinling Institute of Technology

@topzyh Pull request merged. Thank you!


TypeError: init() got an unexpected keyword argument 'pad_dims'

when I run the command './tools/dist_train_detector.sh configs/ava/ava_fast_rcnn_nl_r50_c4_1x_kinetics_pretrain_crop.py 4' for the spatial-temporal action detection model, an error appears:
Traceback (most recent call last):
  File "./tools/train_detector.py", line 90, in <module>
    main()
  File "./tools/train_detector.py", line 86, in main
    logger=logger)
  File "/yanghui_root/mmaction/mmaction/apis/train.py", line 57, in train_network
    _dist_train(model, dataset, cfg, validate=validate)
  File "/yanghui_root/mmaction/mmaction/apis/train.py", line 102, in _dist_train
    runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
  File "/root/anaconda3/lib/python3.7/site-packages/mmcv-0.2.8-py3.7.egg/mmcv/runner/runner.py", line 356, in run
    epoch_runner(data_loaders[i], **kwargs)
  File "/root/anaconda3/lib/python3.7/site-packages/mmcv-0.2.8-py3.7.egg/mmcv/runner/runner.py", line 258, in train
    for i, data_batch in enumerate(data_loader):
  File "/root/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 583, in __next__
    return self._process_next_batch(batch)
  File "/root/anaconda3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 609, in _process_next_batch
    raise batch.exc_type(batch.exc_msg)
TypeError: Traceback (most recent call last):
  File "/root/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 108, in _worker_loop
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/root/anaconda3/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 108, in <listcomp>
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/yanghui_root/mmaction/mmaction/datasets/ava_dataset.py", line 348, in __getitem__
    data = self.prepare_train_imgs(idx)
  File "/yanghui_root/mmaction/mmaction/datasets/ava_dataset.py", line 434, in prepare_train_imgs
    img_group_0=DC(to_tensor(img_group), stack=True, pad_dims=2),
TypeError: __init__() got an unexpected keyword argument 'pad_dims'

My mmcv version is mmcv-0.2.8.

@huiyang865
Could you please install mmcv by cloning the master branch and install it from scratch? MMAction requires several new features (such as more flexible DataContainer and new pre-trained models) of mmcv, which haven't been included in the latest release.

Thanks for your reply. It's OK with the mmcv installed from scratch.


Follow imported PropType objects

It's common to use the same property type across many components so I would like to import my type definition. Would it be possible to support this?
Here is an example. First, create a common file like propTypes.js with:
import { PropTypes } from 'react';
export const i18nType = PropTypes.shape({});

Next, add it to a component's property types:
import React from 'react';

import { i18nType } from './propTypes';

export default class Thing extends React.Component {
  static propTypes = {
    i18n: i18nType.isRequired,
  }

  render() {
    return (

        {this.props.i18n.gettext('Some Text')}

    );
  }
}

As is, this should trigger an error like:
error  'i18n.gettext' is missing in props validation              react/prop-types

but it does not. It doesn't trigger an error at all, probably because it's not following the import.
The comments on https://github.com/yannickcr/eslint-plugin-react/issues/476 mention that this is too hard for a linter but that case was about following an object spread. This case is simpler because it's just a single import.

Linters typically do static analysis - following imports to other files is generally far beyond the scope of a linter. It doesn't matter how many imports - looking beyond the literal source code in that file is what's challenging.

It would be challenging in CommonJS but ES6 imports were designed specifically to support static analysis.
There are a couple eslint examples for how to follow imports. Here is one.

Yes, but ES modules don't exist yet, because the loader spec is not finished - everything transpiles to require one way or another.
Note how I said "typically" and "generally" - eslint-plugin-import is the only popular one I know of that does, and it only does it for one or two of its rules. I'm claiming that it's out of scope.

Linting across files is very complex and tricky, and there's a reason that eslint-plugin-import, and type systems like typescript/flow, are the only things that do it. We won't be able to add that here.


Remove HC contracts and code

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (aca86fb) 63.48% compared to head (762e445) 23.50%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@                     Coverage Diff                      @@
##           merge-upstream-20231219      #94       +/-   ##
============================================================
- Coverage                    63.48%   23.50%   -39.99%
============================================================
  Files                           16       40       +24
  Lines                         1427     2072      +645
  Branches                         0      362      +362
============================================================
- Hits                           906      487      -419
- Misses                         475     1510     +1035
- Partials                        46       75       +29

Flag
Coverage Δ

cannon-go-tests
?

chain-mon-tests
27.14% <ø> (?)

common-ts-tests
26.74% <ø> (?)

contracts-ts-tests
12.25% <ø> (?)

core-utils-tests
44.03% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 56 files with indirect coverage changes


Update redis-rs to 0.21

@rish-onesignal, could you please merge this?

@lilymara-onesignal @jwilm is there anyone here? Or is this repository completely dead?

Hi @luminosoda, I don't know how we missed this PR but it looks good, I'll go ahead and merge/release now.


Timeline for the deprecation of the "old" Invoice Posting Engine

Hi' Microsoft,
Can you offer a timeline for the deprecation of the "old" invoice posting engine i.e. the one referred to as "Invoice Posting (Default)" on the Sales & Receivables Setup. Is was marked for removal in version 20.
https://learn.microsoft.com/en-us/dynamics365-release-plan/2021wave2/smb/dynamics365-business-central/extend-general-ledger-posting-aggregations-invoice-post-buffer-refactoring

Thank you, Alexander, much appriciated!
On a similar note, can you offer a timeline for the Microsoft Invoicing Module i.e. "O365 Sales Invoice Mgmt" etc.?


Appstudio update test-component-pac-kgyq

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-kgyq-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
3 minutes
clone-repository

✅ Succeeded
36 seconds
build-container

✅ Succeeded
10 seconds
sbom-json-check

✅ Succeeded
19 seconds
deprecated-base-image-check

✅ Succeeded
10 seconds
clair-scan

✅ Succeeded
49 seconds
clamav-scan

✅ Succeeded
22 seconds
inspect-image

✅ Succeeded
7 seconds
optional-label-check

✅ Succeeded
6 seconds
label-check

✅ Succeeded
6 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary


Why use offload_param in CPU？

I think the model fragment loading can be completed under the 6.7B parameter, why use parameterized offload to the cpu?
        "offload_param": {
            "device": "cpu",
            "pin_memory": true
        },

We want to train with a larger batchsize


Command to start WSA from cmd/powershell?

Is your feature request related to a problem? Please describe
WSA will hang if i start it from a 3rd party app it requires WSA to be running to open normally and not hang.
Describe the solution you'd like
Would like to start WSA from the command line before starting the third party apk.
Describe alternatives you've considered
Running the Amazon Store starts WSA normally then i can run the third party app with no issues.
Please specify the version of Windows Subsystem for Android
22010.40000.7.0

WsaClient /launch wsa://system

Exactly what i was looking for Thanks.

Please file a feedback hub report under category (Apps > Windows Subsystem for Android) including recreating the problem with recording enabled as a third party app launch should not cause Windows Subsystem for Android to hang.

Please file a feedback hub report under category (Apps > Windows Subsystem for Android) including recreating the problem with recording enabled as a third party app launch should not cause Windows Subsystem for Android to hang.

Updating to 2211.40000.11.0 Solved the issue WSA no longer hangs. Works flawlessly.
It even fixed the flickering issue from the previous version. My screen no longer flickers when running an app in WSA.
Consider the issue solved.
Should i close this issue or leave it to a mod to close?

Happy to hear the latest version fixed your issue.

anyway to close the opened app from command line

WsaClient /launch wsa://system

@infinitepower18, can the wsa://system parameter be any deep link?

@Turtlepaw did you ever find out? Apologies for the old thread necro.

@Turtlepaw did you ever find out? Apologies for the old thread necro.

Yes, you can directly launch apps by running this in PowerShell:
$env:LOCALAPPDATA\Microsoft\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\WsaClient.exe /launch wsa://com.google.android.apps.youtube.music

You can replace com.google.android.apps.youtube.music with any package name you want to launch. The exact directory where WsaClient.exe may differ too.


Fixing incompatibility issue with LAMMPS-2Aug2023

Fixes #101 and #102

@JasonGibsonUfl  Answer to both of your questions is that the lammps core code reads the input file.
As soon as it encounters a 'pair_coeff' line it reads the first two arguments to pair_coeff and sorts them if they are numeric values. These sorted vales are then passed to UF3 Lammps. We have no control on it.
Another solution to this issue is imposing  restriction on the user to always provide UF3 Lammps pot files in ascending order.
For example, instead of -
pair_coeff   2 1 1 A_B_B where A is 2 and B is 1 in the structure
provide-
pair_coeff   1 2 2 A_B_B and change A to 1 and B to 2.
We will have to explicitly mention in our README that only the above triplets (ie ascending order) are valid.
Regarding, pair_coeff * * 1 2 2 A_B_B the current implementation in the pull request should work for this format though I have not tested it.
But then again * character means something special for Lammps users and this particular format might be equally unintuitive as the other.

@henk789 You are correct. I completely forgot about the other interaction.


Option to disable rendering of iframe

In many cases , we do not have a reason to render iframe. A lot of bandwidth is lost in the process. Can we have an option to disable rendering of these iframes and save bandwidth

@Vineeth-Mohan I have the same issue. Please let me know if you have any solution.


use JSHint directive to avoid puzzling use of void operator

A couple of people have asked why we use void here. Let's avoid void to avoid confusion.

See https://github.com/ramda/ramda/pull/749#issuecomment-71146470