Why did you remove $grid-gutter-widths and how to set grid gutter width per viewport?

Hi, I have been using twbs Bootstrap v4 alpha for quite long and we were having an efficient way to set the $grid-gutter-width per viewport:
before
$grid-gutter-width-base: 20px;

$grid-gutter-widths: (
  xs: 10px,
  sm: 10px,
  md: $grid-gutter-width-base, // 20px
  lg: $grid-gutter-width-base, // 20px
  xl: $grid-gutter-width-base, // 20px
  xxl: $grid-gutter-width-base // 20px
)

after
$grid-gutter-widths: 30px

Why did you remove $grid-gutter-widths and how to set grid gutter width per viewport?

We removed this long ago due to how we were compiling our CSS and never brought it back. Rather than do it this way, with v4.2.x we added negative margin utilities to work with padding utilities to customize your gutters.

Thanks @mdo, I know we must have told you, but that's a very good framework. Is there a form/irc/rss feed where we could subscribe/be informed of discussion leading to change in twbs/bootstrap or is it all already all here?


Does ConnectApiHelper work with the ConnectApi.EntityLinkSegmentInput subclass?

Does ConnectApiHelper work with the ConnectApi.EntityLinkSegmentInput subclass?

Potentially per https://github.com/forcedotcom/ConnectApiHelper/pull/15

@kbuckles-sfdc, yes, I've finally merged the PR that @douglascayers referenced. Entity Links (links to records) are supported in ConnectApiHelper now, and the README has an example in https://github.com/forcedotcom/ConnectApiHelper#streamlined-rich-text-inline-images-and-record-links.


Added Tailwind Toolbox links

Hi,
Hope i've done this right, it's the first time i've tried this! :)

Hey @tailwindtoolbox Thanks for your submission. To keep it simple can you just link to your main site on one category as to not set a precedence that people can submit various parts of their site to different categories.

Hi @joshmanders, I've made the changes! Have a good one!


Copy and paste newline behavior changes after certain programs are launched

Environment
Microsoft Windows [Version 10.0.18362.239]
Windows Terminal (Preview)
Version: 0.3.2171.0
WSL Ubuntu 16.04.6
tmux 2.1 or htop 2.0.1  or vim
Steps to reproduce

Launch WSL session in Windows Terminal
Hit enter a few times to generate few lines of output
Select the lines with mouse and right click to copy to clipboard:

Paste the lines into a different program, note that 4 distinct lines are pasted, this is expected behavior.

Launch vim (or other full screen application) inside the WSL window:

Close vim using esc q! enter
Highlight and copy the lines again using mouse and right click:

Paste clipboard into different program, note that output is now on one line:

Expected behavior
Launching programs inside the terminal should not impact how/when newlines are preserved.
Actual behavior
Newlines are preserved when copying multi-line output. After certain (fullscreen?) applications are launched they no longer are preserved and pasted output ends up on a single line.
Isolation notes
Vim isn't the only program this happens with. At first I noticed copy inside tmux wasn't working the way I expected but then I noticed it happens just by launching and closing programs like vim and htop. I did a quick scan over the other copy paste newline bugs and none of them described this behavior but I might have missed one; sorry if this is a duplicate but I don't think it is.

i have tested this in multiple unreal engine 4 versions and have confirmed this is a problem that needs to be fixed. i have spent hours in hammer editor to find a way to isolate the problem code and realized we need the source code for netconf to continue development on a solution.
Microsoft please help us!

This is another version of #2275 actually. There's something about how the text enters the buffer that changes how it gets copied out.

https://github.com/microsoft/terminal/issues/1073
https://github.com/microsoft/terminal/issues/1126
https://github.com/microsoft/terminal/issues/1621
https://github.com/microsoft/terminal/issues/2275
https://github.com/microsoft/terminal/issues/2278
https://github.com/microsoft/terminal/issues/2324
https://github.com/microsoft/terminal/issues/2395
https://github.com/microsoft/terminal/issues/2717
https://github.com/microsoft/terminal/issues/52


8413.3 Add install on new node option for secrets

Shippable/pm#8413
First, move the rabbitMQ password prompt and gitlab password prompt into the table. (See drawing on the wall.)
For rabbit and gitlab, if the single-node install button is checked (which it will be by default at this stage), only show the prompt for the password and an input box. The user should simply be able to input the passwords and hit "initialize". The initialize flow should send the passwords in the POST bodies to /api/msg and /api/state (as it is currently doing).
Next, add the install on new node radio button as an option for secrets. If the user clicks that button, show the following for secrets:

A prompt and input box for IP
The ssh key to copy, with instructions to copy it and add it to their node
A checkbox saying something like "I have added this key to my node"
A save button. When clicked, this should send the IP and runInit=false in the body of the POST to /api/secrets. This should be disabled if the db is not initialized.

(see drawing on the wall)

complete. closing.


Surface graphql function to plugins

It'd be nice if the api gave access to the graphql function.
Basic example
api.afterBuild(async ({ config, graphql }) => {
  const data = await generatePodcast(graphql)
  const outFile = path.join(config.outDir, 'podcast.xml')
  await fs.writeFile(outFile, data)
})

Motivation
It seems like several of the api functions could benefit from access to the actual site data, including the podcast generating example above.

Yes, it would be useful to have access to the GraphQL schema after the build. I'll add this to the todo-list :)

@hjvedvik Is there another thread for discussing this idea, or shall we do it here?
I would love to write a plugin that exposes a Graphql API, ideally via a serverless script so it could be easily (zero-config) deployed on Netlify. Just not sure where to start.


Elaborate on the real meaning of the essential property of optional claims

If set to true, does this mean AAD will fail to issue a token if the claim type cannot be found for whatever reason?  Or is it just a piece of metadata for the application operator's awareness?  Some additional details on the behavior differences of true/false for the essential property would be great.

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

ID: 1d8e93d6-413b-34aa-3359-41f5baa442d3
Version Independent ID: 0d657318-8058-a76a-c219-393ab3a4920d
Content: Learn how to provide optional claims to your Azure AD application
Content Source: articles/active-directory/develop/active-directory-optional-claims.md
Service: active-directory
GitHub Login: @CelesteDG
Microsoft Alias: celested

@DrEsteban  Thank you for your feedback. We will investigate and update further.

@CelesteDG Could you please look into this and provide the related clarification to the customer.

@shashishailaj @CelesteDG Any update on this?  Thanks!

Essential indicates that if the user does not have the given claim, and the IDP has a way of asking the user to add that value, then they will be interrupted during token issuance and asked to add that value.  For most values it is ignored (including all of AAD) but for MSA the email claim can be accrued. Note that this will force the user to enter and validate an email address, so only use this is you absolutely require users to have an email address.

#please-close


Broken links to customization

I dont know where the links were supposed to lead so I cant fix it.
BTW is there a tool to check all the links in the documentation? Would be a neat thing (Issue in .github).
https://github.com/asyncapi/modelina/blob/d72f11fda764b4eeaa0fe83f2c25279ed37b0da8/docs/generators.md?plain=1#L36
https://github.com/asyncapi/modelina/blob/d72f11fda764b4eeaa0fe83f2c25279ed37b0da8/docs/generators.md?plain=1#L37

@jonaslagoni  Is this issue still valid?
I would take this issue,


Fix content length

This is a version of PR #63 but with commits with a failing and then passing test

If a post-hook updated the request body, the Content-Length was
not being updated in some situations.
Explicitly update the Content-Length to guard against this
scenario.
Fixes #61

Looks good, thanks - merging!


Corrected README example of modifying table default entry

Codecov Report

Merging #110 (3cdefe2) into main (c414836) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #110   +/-   ##
=======================================
  Coverage   68.38%   68.38%
=======================================
  Files           8        8
  Lines        2581     2581
=======================================
  Hits         1765     1765
  Misses        816      816

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


indices sequence length is longer than the specified maximum sequence length

when i run python -m detector.train it gives this error:

i have tried to solve it with different parameters of train but doesnt make sense.

I also encountered this problem.


Scaffold out Middleware

[ ] Get the necessary types for the ethers::providers::Middleware trait.
[x] Get the necessary functions for the ethers::providers::Middleware trait.
[ ] Get the necessary imports.
[ ] Mark functions as unimplemented!() if we do not believe we need them (ever).
[ ] Mark functions as todo!() if we believe we need to implement them.

Nice this looks clean


Loading non existent user

http://localhost:8081/profile/u2  should return some error

Yes, I noticed it. I'll work on a "User not found" page.

Solved with a rickroll.


No updating of battery percentage, network-linked ip address and unwanted shadows since 0.9.15.

Since 0.9.15 no updating of battery percentage stuck at 100%. Network-linked not showing ip address only showing wan0 ip address.
Custom modules showing white shadow background when hovered over.
Downgrading to 0.9.13 fixes all issues.
Arch Linux 6.0.7-arch1-1, lenovo t470, sway 1.7.

The battery is comes from you having two batteries, single battery works.
The shadows have been discussed in different issues, including here.

As for the battery, I added a PR.

Closing in favor of #1763


Goldilocks NTT

TITLE
Description
Description of the pull request changes and motivation.
Type of change
Please delete options that are not relevant.

[ + ] Goldilocks NTT added

Codecov Report

Merging #659 (70923f6) into main (cffa505) will decrease coverage by 0.28%.
Report is 1 commits behind head on main.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #659      +/-   ##
==========================================
- Coverage   97.08%   96.80%   -0.28%
==========================================
  Files         118      119       +1
  Lines       28346    28627     +281
==========================================
+ Hits        27519    27712     +193
- Misses        827      915      +88

Files
Coverage Δ

math/src/fft/cpu/goldilocks_ntt.rs
100.00% <100.00%> (ø)

... and 8 files with indirect coverage changes
:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!


chore: Bump singer-sdk version to v0.37.0

Upgrade to the latest version of singer-sdk.
Needed especially to fix this

@edgarrmondragon Thanks for looking into this!

@ppapageorgiou Can you test the tap with the changes here?

Set pip_url: git+https://github.com/ppapageorgiou/tap-airbyte-wrapper@patch-1
Run meltano install --clean

You can later reset pip_url when this PR is merged.

This can be closed as PR https://github.com/MeltanoLabs/tap-airbyte-wrapper/pull/23#issue-2484950070 has been merged, which includes an update to the meltano SDK. @edgarrmondragon


Drop the old etcd3 client.

This means we wont be pinned to such an old grpc implementation. It does imply that we do compactions a little bit differently, but its not too bad.
At the same time, stop fetching metadata we're not using from etcd.
All of this is because it looks like #2242 might be related to etcd load...

This was done in a different PR.


Replace the in-memory storage implementation with SQLite

Checklist

[x] I agree to the terms within the OpenFGA Code of Conduct.

Describe the problem you'd like to have solved
OpenFGA now supports a SQLite adapter.
It would be good to replace the in-memory storage implementation with SQLite, using the SQLite in-memory database.
It should be faster, and there would not be the need to maintain the in-memory implementation.
Describe the ideal solution

Alternatives and current workarounds
No response
Additional context
No response

Hi, I would like to work on this issue

Hi @RaghavMangla
Thanks a lot! I've assigned it to you

Hi! Can u explain a bit more like to change the in-memory storage implementation with SQLite, based on what i can see, an implementation for using sqlite is already given in assets/migrations/sqlite,

The change would be that when OpenFGA is configured to use the in-memory database (e.g.  --datastore-engine memory), it should use instantiate SQLite storage adapter with an in-memory database, and run the migrations so the in-memory tables are created.
Makes sense?

Yes
On Sun, 6 Oct, 2024, 02:48 Andrés Aguiar, @.***> wrote:

The change would be that when OpenFGA is configured to use the in-memory
database (e.g. --datastore-engine memory), it should use instantiate
SQLite storage adapter with an in-memory database, and run the migrations
so the in-memory tables are created.
Makes sense?
—
Reply to this email directly, view it on GitHub
https://github.com/openfga/openfga/issues/1989#issuecomment-2395200111,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXGSZMMKOHUH7E3BFWLOZSDZ2BJS3AVCNFSM6AAAAABPKUZXO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJVGIYDAMJRGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi! needed a little help, I have managed to use SQLite in-memory storage for 'memory' engine as shown on console,

I have made the following changes

in cmd/root.go I have set datastoreEngineFlag to sqlite and set datasetURIFlag to file::memory:?cache=shared

in cmd/run/run.go set engine to sqlite

replaced datastore engine and datastore uri to sqlite and file::memory:?cache=shared

in utils.go added an extra if condition in beginning of function MustBootstrapDatastore
if engine == "memory" {
engine = "sqlite"
uri := "file::memory:?cache=shared"
ds, err := sqlite.New(uri, sqlcommon.NewConfig())
require.NoError(t, err)
t.Cleanup(ds.Close)
return nil, ds, uri
}

set datastore engine to sqlite in config.go

What more changes should i make, and pls also mention if any changes are irrelevant

In Grafana we switched from the in-memory database to using an on-disk database in a temp folder. That as primarily for testing since it better matched the way that our users deploy the system and was able to use WAL mode and maintain the same locking behavior. I'm not sure what the use-case is for the memory storage so not sure whether that would make more sense here.
As far as bootstrapping the database, to use in-memory it would need to happen within the same process so basically you need to run the migrations inline when establishing a new database connection rather than as a separate process like we do for postgres/mysql/sqlite (since otherwise you're running migrations in-memory then discarding that database)

would request for a review of whether I am going in right direction based on my above comment

@DanCech in-memory is mainly for running tests, or for customers that wanted to start OpenFGA with a set of pre-defined tuples from a file without running an external database. For this second use case, SQLite with an on-disk database can also work.

@RaghavMangla you would need to also run the migration somehow

@RaghavMangla @aaguiarz I believe we need to make sure everything works in standalone as well as in docker container. In mem is just in mem, but as soon as SQLite needs to write files to disk - that may not be always available, require write permissions etc.


Feature/jstassi/mk restarts on sles12

The mk_Restarts script was modified to run on SLES-12. This change was made in conjunction with updates in regrid.pl in the @GMAO_Shared component. I ran tests that were successful on both SLES-11 and SLES-12.

@gmao-jstassi thanks for working on this. Your first PR in git ;-) Please see my comments above as they may cause potential problems down the road. I ran this on SLES12 Haswell and most of it worked fine. However, I ran into a seg fault issues regridding the bkg_eta_rst (see errors below). This seems to run fin on SLES11, but not SLES12:
regrid bkg03_eta_rst
====================
move ./C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4
  => ./C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4.orig
/gpfsm/dnb78s1/projects/p18/sdrabenh/Models/GIT_PRs/PRs_sles12_rst/install-sles12/bin/dyn2dyn.x -g5 -res d -nlevs 72 -o /gpfsm/dnb78s1/projects/p18/sdrabenh/regrid/x0041/Summer-sles12/C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4 /gpfsm/dnb78s1/projects/p18/sdrabenh/regrid/x0041/Summer-sles12/C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4.orig

 ------------------------------------------------------------------
   Eta     Dynamics state files:            1

 /gpfsm/dnb78s1/projects/p18/sdrabenh/regrid/x0041/Summer-sles12/C360CS_f522_fp.
 bkg03_eta_rst.20190614_21z.nc4.orig
 GFIO_GetRealAtt: error reading attribute info
 GFIO_GetIntAtt: error reading attribute info
 m_dyn2dyn::dyn2dyn_do1_: Horizontally interpolating from         1152 x
         721  to          576 x         361
  Treating winds as on A-grid
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
dyn2dyn.x<PHONE_NUMBER>4F816D  Unknown               Unknown  Unknown
libpthread-2.22.s  00007FFFF25C7C10  Unknown               Unknown  Unknown
dyn2dyn.x<PHONE_NUMBER>46644D  m_maph_mp_ymap_           797  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>466306  m_maph_mp_map_a2a         737  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>4627DA  m_maph_mp_h_map_d         480  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>4613A2  m_maph_mp_h_map_d         239  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>45DE02  m_dyn2dyn_mp_dyn2         373  m_dyn2dyn.f90
dyn2dyn.x<PHONE_NUMBER>4134D5  MAIN__                    160  dyn2dyn.f90
dyn2dyn.x<PHONE_NUMBER>412A6E  Unknown               Unknown  Unknown
libc-2.22.so       00007FFFF18FA725  __libc_start_main     Unknown  Unknown
dyn2dyn.x<PHONE_NUMBER>412969  Unknown               Unknown  Unknown
Error with /gpfsm/dnb78s1/projects/p18/sdrabenh/Models/GIT_PRs/PRs_sles12_rst/install-sles12/bin/dyn2dyn.x; at /discover/nobackup/projects/gmao/g6dev/sdrabenh/Models/GIT_PRs/PRs_sles12_rst/install/bin/regrid.pl line 3193.```

@mathomp4 any idea what may have caused this seg fault in SLES12? I ran this exact same thing in SLES11 and there were no problems.

@mathomp4 any idea what may have caused this seg fault in SLES12? I ran this exact same thing in SLES11 and there were no problems.

@sdrabenh I think that is more in @bena-nasa or @atrayano territory. Can you send in a ticket to our system with how you were running regrid so we can try to duplicate.

Hi Scott,
I made a couple of comments on the github.com page for mk_Restarts, but I couldn't figure out how to respond to this issue on the Web page.
I just wanted to say that I have run a couple of tests on SLES-12 with my script updates, tests which include running dyn2dyn.x for bkg_eta_rst files, and I am not having this problem. The tests look good. Could this be an environment issue? I am pretty sure that I am using a different compiler than you.
Joe

From: Scott Rabenhorst<EMAIL_ADDRESS>Sent: Wednesday, April 8, 2020 9:40 AM
To: GEOS-ESM/GEOSgcm_GridComp<EMAIL_ADDRESS>Cc: Stassi, Joe (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC]<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: [EXTERNAL] Re: [GEOS-ESM/GEOSgcm_GridComp] Feature/jstassi/mk restarts on sles12 (#251)
@gmao-jstassihttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_gmao-2Djstassi&d=DwMCaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=ppkp9f9tfqy9DclZiVzusceULSbqf6SIxlKp_KdMSfE&m=GnkBfMH20YfxLdVS14IGxuC0fcS-6BdYhHx8EVdcRA4&s=LM0wyT_AlKgc7tdtwgZWY8sTSfyhwqIEQxSExp6y3Iw&e= thanks for working on this. Your first PR in git ;-) Please see my comments above as they may cause potential problems down the road. I ran this on SLES12 Haswell and most of it worked fine. However, I ran into a seg fault issues regridding the bkg_eta_rst (see errors below). This seems to run fin on SLES11, but not SLES12:
regrid bkg03_eta_rst
move ./C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4
=> ./C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4.orig
/gpfsm/dnb78s1/projects/p18/sdrabenh/Models/GIT_PRs/PRs_sles12_rst/install-sles12/bin/dyn2dyn.x -g5 -res d -nlevs 72 -o /gpfsm/dnb78s1/projects/p18/sdrabenh/regrid/x0041/Summer-sles12/C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4 /gpfsm/dnb78s1/projects/p18/sdrabenh/regrid/x0041/Summer-sles12/C360CS_f522_fp.bkg03_eta_rst.20190614_21z.nc4.orig

Eta     Dynamics state files:            1
/gpfsm/dnb78s1/projects/p18/sdrabenh/regrid/x0041/Summer-sles12/C360CS_f522_fp.
bkg03_eta_rst.20190614_21z.nc4.orig
GFIO_GetRealAtt: error reading attribute info
GFIO_GetIntAtt: error reading attribute info
m_dyn2dyn::dyn2dyn_do1_: Horizontally interpolating from         1152 x
721  to          576 x         361
Treating winds as on A-grid
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
dyn2dyn.x<PHONE_NUMBER>4F816D  Unknown               Unknown  Unknown
libpthread-2.22.s  00007FFFF25C7C10  Unknown               Unknown  Unknown
dyn2dyn.x<PHONE_NUMBER>46644D  m_maph_mp_ymap_           797  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>466306  m_maph_mp_map_a2a         737  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>4627DA  m_maph_mp_h_map_d         480  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>4613A2  m_maph_mp_h_map_d         239  m_maph.F90
dyn2dyn.x<PHONE_NUMBER>45DE02  m_dyn2dyn_mp_dyn2         373  m_dyn2dyn.f90
dyn2dyn.x<PHONE_NUMBER>4134D5  MAIN__                    160  dyn2dyn.f90
dyn2dyn.x<PHONE_NUMBER>412A6E  Unknown               Unknown  Unknown
libc-2.22.so       00007FFFF18FA725  __libc_start_main     Unknown  Unknown
dyn2dyn.x<PHONE_NUMBER>412969  Unknown               Unknown  Unknown
Error with /gpfsm/dnb78s1/projects/p18/sdrabenh/Models/GIT_PRs/PRs_sles12_rst/install-sles12/bin/dyn2dyn.x; at /discover/nobackup/projects/gmao/g6dev/sdrabenh/Models/GIT_PRs/PRs_sles12_rst/install/bin/regrid.pl line 3193.```
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_GEOS-2DESM_GEOSgcm-5FGridComp_pull_251-23issuecomment-2D610966107&d=DwMCaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=ppkp9f9tfqy9DclZiVzusceULSbqf6SIxlKp_KdMSfE&m=GnkBfMH20YfxLdVS14IGxuC0fcS-6BdYhHx8EVdcRA4&s=X6LuGAyNtxWUETE9rAfiX1ogl-6D_ohPYxyVEnbwjJ8&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AMBAJ2WNFPEZGJHXFUS3QPLRLR5DTANCNFSM4L5KGMSA&d=DwMCaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=ppkp9f9tfqy9DclZiVzusceULSbqf6SIxlKp_KdMSfE&m=GnkBfMH20YfxLdVS14IGxuC0fcS-6BdYhHx8EVdcRA4&s=q2pKmIQfuOm2u0LzO4d9q_w0KeBNeQacndjuC4VGMo0&e=.


Issue Deploying CampaignMember Trigger

I am getting the following error when deploying the Campaign Member trigger:

Can you please let me know how to fix this issue?

Have a read through this, it should help. https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/197


New project

@StevenYuysy good job with your project!
Recently I built at the same library but to React and using SVG and it was very funny and I can learn a lot!
What do you think about the approach that I used? Maybe we can work together to build a new great library using vanilla JS...
Do you have some experience with SVG? I have some problems in my project that I need to solve 😄

You project is really awesome!
There is a lot for me to learn from your project, using SVG is better than div, for SVG support more shapes and scalable.
However I have not much experience with SVG :(
I am really interested in what you talking about like making it with vanilla JS, feel free to contact me if you are ready for the project.

Hey guys, @danilowoz @StevenYuysy did anything happen to shape up here? I want to contribute to this project, as I used this library a lot. If you guys have already started the new project, I'll contribute (and use) that instead.

Hey @tksumanth1994, I'm very glad you would like to help!
I have a few issues on my projects React-content-loader and Create-react-content-loader then if you have some experience (or you would like to learn) about React, SVG or even test (like chai, enzyme...) you'll have a lot of work 😄
Feel free to open new issue or a PR, I'll able to help you

Umm. Thanks for information @danilowoz . But I was looking for a library which I could use in Vue and this project suited me well. I was wondering if there's any active library for Vue/vanillaJS which I could use and contribute to.


Moar emoji!

Not 100% sure it works the same, but it at least gets to trying to authenticate with Twitter

Implements #2


Ability to hide secrets in the allure

Now allure reports get the secrets in the open form from the headers and bodies.
Please add ability to hide secrets in the allure

Any updates?


Add orange flavor btrfs support

remove btrfs default subvolume,
save btrfs device in Btrfs structure,
rework brtfs state mountpoint detection (uses btrfs device, got rid of rootSubvolID and snapshotsSubvolID constants),
add 'active' relative symlink to active snapshot (updated in CloseTransaction() and read in getActiveSnapshot()),
add grub 'active_snap' variable (could it be replaced by dracut resolving the 'active' link ?),
add grub 'root_subpath' variable which allows to prefix kernel and initrd image with a subpath,
handle grub modules packaging under /usr/lib/elemental/bootloader
add RelativizeLink() to recursively make symbolic links relative,
ensure kernel and initrd are relative links (allow grub to process without mounting subvolume)
update orange Dockerfile

@rdesaintleger thanks for your PR !
Please add some explanation of why this change is needed (a link to an open issue is sufficient).

Sorry, my PR is bad for the moment
I found a fix for the RelativizeLink() function which allow build tests to go further (up to snapshotter). Also I didn't notice that snapper did use the btrfs default subvolume feature.
I think that I'll make a new snapshotter without snapper named 'btrfs_nosnapper' with its own regression tests. This will have the advantage of not breaking existing btrfs green flavors and being cross distro when using new snapshotter.

@rdesaintleger really nice to see this implemented! Looking forward to the new snapshotter!
Looking back we should probably have named the current "btrfs" snapshotter as "snapper" instead.. oh well!

I think that I'll make a new snapshotter without snapper named 'btrfs_nosnapper' with its own regression tests. This will have the advantage of not breaking existing btrfs green flavors and being cross distro when using new snapshotter.

At a time when I coded this snapshotter in head there were few configuration options for the btrfs snapshotter. Those were related to the required stack. Pure btrfs implementation, without snapper, implementation with snapper and third option using tukit. So my idea was having like three different levels of abstraction. So, even if the implementation could be in different files or structures I imagined all three as single snapshotter for btrfs. The thing is that snapper also support some sort of LVM snapshots which are definitely not supported by Elemental-toolkit and tukit assumes snapper. Hence in all cases we are talking about BTRFS subvolumes.
Just explaining that because most of the parts that are required to make a wrapper for btrfs tool are already implemented in the current snaphsotter hence we should figure out some ways to reuse all that.
See the following manual steps I did at a time to make a PoC before actually implementing the snapshotter for btrfs.
For install (first snaphsot):
# Enable quota management and create subvolumes
btrfs quota enable /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create<EMAIL_ADDRESS>
mkdir -p<EMAIL_ADDRESS>
btrfs subvolume snapshot /mnt/<EMAIL_ADDRESS>
# ID should be computed from a "btrfs subvolume list" command
# default set to the equivalent of the STATE partition (probably a /@/state subvolume would make more sense)
volid=$(btrfs subvolume list --sort path /mnt | head -n 1 | cut -d" " -f2)
btrfs subvolume set-default ${volid} /mnt

# Create snapshot 1 info
date=$(date +'%Y-%m-%d %H:%M:%S')
cat << EOF ><EMAIL_ADDRESS><?xml version="1.0"?>
<snapshot>
  <type>single</type>
  <num>1</num>
  <date>${date}</date>
  <description>first root filesystem</description>
</snapshot>
EOF

# Dump the built image into the first snapshot subvolume
./build/elemental pull-image --local ${osimage}<EMAIL_ADDRESS>

# Create the quota group
btrfs qgroup create 1/0 /mnt
#chroot<EMAIL_ADDRESS>snapper --no-dbus set-config QGROUP=1/0

# set first snapshot as readonly
btrfs property set<EMAIL_ADDRESS>ro true

All of the above is already coded in the current snapshotter. So most if not all pieces are already there. I'd be happy to help on getting a proper btrfs wrapper that can be used in both cases. With snapper and without. Probably it is even possible to achieve a snapper compatible setup without snapper.
For completeness the rough steps for an upgrade are:
# Get current snapshot
current=$(snapper --csvout list --columns number,active | grep yes | cut -d"," -f1)

# Create new snapshot from current
id=$(snapper create --from ${current} --read-write --print-number --description "Snapshot Update of #${current}" --userdata "update-in-progress=yes")

# Apply image to the new snapshot
elemental pull-image --local ${osimage}<EMAIL_ADDRESS>
snapper modify --userdata "update-in-progress=no" $id

# Make snapshot RO
btrfs property set /.snapshots/${id}/snapshot ro true

See here snapper is only used for the creation of a new subvolume.

Thanks for information. I'll try the following (not sure yet for the grub part)

modify grub configuration to test (in case of btrfs root) for directory @/.snapshots/${active_snap}/snapshot (if false it's a snapshotter with actual behaviour).
add a DisableDefaultSubVolume property for BtrfsConfig yaml defaulting to 'false' (false is using snapper)
Update btrfs.go to handle properly both configuration

If grub is unable to test for snapshot directory I'll search for another solution. The property name comes from the original problem which is that other distro's grub do not handle properly default subvolumes.

Now able to boot orange on btrfs.
elemental upgrade works in recovery but not in active state due to snapper configuration

Hi @davidcassany
I'm actually near the end of snapshotter modifications. I've added two booleans for configuration

disable-snapper : disable snapper and use pure btrfs backend
disable-default-volume : stick on btrfs top level volume and rely on symlink and new grub variable (disabling is incompatible with snapper).

The real needed change for orange to boot with own bootloader is the grub variable (since 'set btrfs_relative_path="y"' has no effect at all). I've managed to get snapper running with Ubuntu (However sometimes it takes time to enable snapper on first boot, making elemental upgrade fail until fully snapperd is fully bootstraped).
I've done the following changes for snapper bootstrap (it's not actually real shell code) :
# create 'bootstrap' subvolume under state directory
btrfs subvolume create -i 1/0 ${stateDir}/.bootstrap

# pull the image in the bootstrap directory
elemental pull-image --local ${osimage} ${stateDir}/.bootstrap

# prepare snapper configuration (if .bootstrap/etc/snapper/configs/root does not exists)
# chroot must be prepared with regular directories but no .snapthots
rm -rf ${stateDir}/.bootstrap/.snapshots
chroot ${stateDir}/.bootstrap snapper --no-dbus --config root create-config --fstype btrfs /
# delete the subvolume created by previous call
btrfs subvolume delete -c ${stateDir}/.bootstrap/.snapshots
# create .snapshots directory for future mounts
mkdir ${stateDir}/.bootstrap/.snapshots
# here etc/snapper/configs/root if modified to comply with snapshotter

# prepare second chroot with .snapshots bind mounted
# this call will create .snapshots/1/snapshot (and associated xml file)
chroot ${stateDir}/.bootstrap snapper --no-dbus --config root create --read-write --cleanup-algorithm number

# lastly delete bootstrap subvolume
btrfs subvolume delete -c ${stateDir}/.bootstrap

This process is compatible at least with orange and green flavor. It's heavier than the previous process but I find it more proof to distro specific file path for templates (root snapper config was not created in Ubuntu). What do you think about it ?
Have you got any advice before I work to fix test-cli make target ? I may need help to fix tests which need chrooted calls.

Ok, I've restarted from scratch using btrfs.go from main branch.
The following changes have been done outside the main feature:

rename b.rootDir to b.stateDir (stateDir is needed to maintain active snapshot symlink)
b.rootDir is now defined only if using active or passive state (otherwise it's an empty string)
added getSnapshotsDirectory() to return the snapshots directory depending on b.rootDir and b.stateDir definitions
added '-a' to btrfs subvolume list to ensure that full path is provided for subvol name
changed isInitiated() subvolumes check from IDs to names (sinces IDs are incorrect agains constants in all tests I've done)
findStateMount() now returns top level ans state btrfs directory if applicable (to check for subvolumes and active link)
findStateMount() now extract subvolume names between first '[/' and last ']' before applying regex (since '[]' can be part of subvolume name)
Added a mechanic to save top subvolume ID (which does not match entries in btrfs_test.go so a constant may not be a good choice)
added a check to setBtrfsForFirstTime() to ensure that btrfs top level directory is mounted before creating subvolumes
added runCurrentSnapper() and runSnapshotSnapper() to launch snapper with correct arguments and mounts
removed snapshots mount/unmount logic (replaced by a bind mount in run*Snapper functions)
removed currentSnapshotID which is updated but not used anywhere
removed activeSnapshotID update in snapper snapshot list to have same behavior with or without snapper
changed order of tests (close transaction failures are tested before close transaction success)
old snapshots are cleaned just before setBootLoader()

for the cross distro btrfs snapshotter:

added 'disable-snapper' to disable snapper logic and rely only on btrfs commands
added 'disable-default-subvolume' to disable btrfs default subvolume and replace current snapshot with relative link in state directory
moved snapper root config after workdir sync (otherwise snapper complains that workdir is not a subvolume)
snapper root config is now created using a chroot in the created snapshot
pure btrfs configuration will create snapper info.xml file (without user data)
findSubvolumeByPath() has been changed from a subvolume list iteration to an inspect-internal rootid (which directly returns the subvolume id)
getActiveSnapshot() has now a stateDir parameter to be able to read active symlink during initialization
activeSnapshotID is now updated in CloseTransaction() before setBootLoader()

@rdesaintleger would you mind to hold the implementation for a day or two? Sorry I have been working on it for a while and I think I managed to divide the snapper and pure btrfs snapshotter without touching former logic (aka keep using static volume IDs, current grub and no changes in unit and e2e tests). I will include today eve a draft PR of it.  Then if all looks good I wonder if we can start to tacke one by one all the other missing refactors (grub, default volume issues, etc.).
I hope this is OK for you, thanks much for your contributions

@rdesaintleger I created this PR https://github.com/rancher/elemental-toolkit/pull/2220 which essentially enables pure btrfs snapshotter but keeping almost 100% of the previous logic when using snapper. The pure btrfs implementation follows the same pattern as done by snapper, I don't have any good argument not to do so and this also potentially enables the possibility of start using snapper later in time.

Fine, thank you @davidcassany
Just to be clear before starting over. Do you want me to make a PR (with modifications committed one by one) on your new repo before dropping this one ?
Also, I've setup two booleans for two features, do you want me to dropthe active snapshot symlink feature (to avoid using btrfs incompat features) ?
Lastly : I've used 'disable-snapper' to be sure that the default behavior of the snapshotter would be to use snapper to support green flavor downgrades (As I did not find out how to use 'true' as default value). Do I restart with your definition or do I use 'disable-snapper' ?

@rdesaintleger hi sorry for the delay, had some time off these days.

Just to be clear before starting over. Do you want me to make a PR (with modifications committed one by one) on your new repo before dropping this one ?

So, my expectation is that now from the current main branch it should be possible to make few little changes to improve the cross distro capabilities. So I think one of the most prominent needed changes is around grub configuration and work around the missing btrfs_relative_path which is not granted on all distros. You had great ideas on that regard, I'd encourage you for a PR for such feature.
Regarding the disable default subvolume feature, am not sure about it, I don't see the need of it. If this is just a grub2 matter then I'd say this needs to be fixed in grub config. Is this causing issues in Ubuntu at runtime? default subvolume concept I don't think is a SUSE specific addition on top of btrfs.
Finally you noted some improvements on some methods, thanks much for that, I'd be happy to review and merge those on small PRs (probably not necessarily one per PR as long as we don't have hundreds of lines together).

Hi @davidcassany
Changed my branch to include your changes. Basically I did 2 commits. The first one have just needed modifications to enable btrfs snapshotter on orange flavor (I had also booted a debian trixie too but snapshots and state got mounted read only). The second commit fix btrfs state volumes detection (258 is the first snapshot ID which will get deleted and will trigger a bug where btrfs state volume will be seen as uninitialized).
I dropped the active symlink feature as suggested.
The first commit basically do the following:

ensure that kernel and initrd are accessible by grub using relative links
maintain an 'active_snap' variable so grub is able to reference the active snapshot directory
adds a relative path variable in grub (set to empty when nont needed)
allow snapper configuration for orange flavor

I've disabled snapper in orange flavor since it takes time to initialize on boot. It however works. The setBootloader() now takes the commited snapshotID as argument. I guess that this ID could be propagated to other calls but I did not investigate further to keep a minimal impact (could be propagated to getPassiveSnapshots() and an internal version of GetSnapshots()).
The second commit changes the btrfs backend Probe() and findStateMount(). Basically subvolumes are listed with '-a' to ensure that the whole subvolume name is available (<FS_TREE>/ is stripped out from names). A new function getStateSubvolumes() returns root and snapshots subvolumes structure by matching their names (this function is used by Probe()). Lastly the findStateMount() has been modified to extract subvolume name from findmnt command. It's done using substring index/lastIndex to avoid wrong regex matches if subvolumes are named using '[' or ']'.
Could not figure out how to launch workflow in my repo, sorry if errors are still showing up. Did manual testing on green and orange flavors. I can discard the last commit and make a separate Issue/PR if you wish.


Error while rebasing PR with conflicts

Gitea version (or commit ref): master, 832ca50
Git version: Locally tested with 2.17.0
Operating system: Arch Linux Kernel 4.16.11
Database (use [x]): Locally tested with SQLite

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes: https://try.gitea.io/apricote/rebase-conflict/pulls/1
[ ] No
[ ] Not relevant

Log gist:

[Macaron] 2018-05-29 22:29:47: Started POST /apricote/rebase-conflict/pulls/1/merge for [::1]
[git-module] /home/julian/.gitea/repositories/apricote/rebase-conflict.git: git -c filter.lfs.required= -c filter.lfs.smudge= -c filter.lfs.clean= tag -l --sort=-v:refname
[git-module] /home/julian/.gitea/repositories/apricote/rebase-conflict.git: git -c filter.lfs.required= -c filter.lfs.smudge= -c filter.lfs.clean= for-each-ref --format=%(refname) refs/heads/
[git-module] stdout:
refs/heads/feature
refs/heads/master

[git-module] /home/julian/.gitea/repositories/apricote/rebase-conflict.git: git -c filter.lfs.required= -c filter.lfs.smudge= -c filter.lfs.clean= show-ref --verify refs/heads/master
[git-module] stdout:
4db6af38e879d59d87863ddeadc00d516cf9d4e3 refs/heads/master

[Macaron] 2018-05-29 22:29:47: Completed POST /apricote/rebase-conflict/pulls/1/merge 404 Not Found in 695.886888ms

Description
I am trying to merge a pull request with the "Rebase and Merge" style. The pull request UI shows me that "[t]his pull request can be merged automatically". When I now click the button, an error page 500 is shown with the message "An error has occurred : git rebase [/home/julian/.gitea/repositories/apricote/rebase-conflict.git -> /home/julian/go/src/code.gitea.io/gitea/data/tmp/local-repo/merge-249575514.git]: error: Failed to merge in the changes." and the PR did not get merged.
I think this bug is happening because the PullRequestStatusMergeable is set when the sum of all commits is auto-mergeable, this makes sense and works for the normal merge and also squashing. But because rebasing will merge in every commit on its own, any conflict that arises will immediately stop the (automatic) rebase.
You can check out the example repository at try.gitea.io/apricote/rebase-conflict, if you fork it to your own account and try to rebase the feature onto the master branch the error should surface.
This error also happens if using the proposed "rebase and merge (--no-ff)" feature in  #4052.
Screenshots

GitHub's docs discuss the issue. They just detect the conflicts and ask the user to rebase manually on the base branch and force push.
The animated GIF on this blog post seems to display a case like the one described here, the merge with commit button is green but the rebase and merge is grayed out.

Can it be fixed sooner than 1.9.0 Milestone, please. It's quite inconvenient...

AFAIK no one is working on this issue. The assigned milestone does not reflect the actual planned release for the fix/bug.

OK, so what is the actual planned release?:)

I think we should fix that on v1.9 or before.


feat: docker-composer command as variable

allows to switch to 'docker compose'

@rugbymauri please create two commits next time for the removal of the old Makefile and the replacement of docker-compose

@rugbymauri @tuxes3 another nice side-effect: allows us to switch to podman-compose in the future.


Add UI Materials

Objective

Add Ui Materials so that UI can render more complex and animated widgets.
Fixed #5607

Solution

Based on the Implementation from Material2d from bevy_sprite I created a similarly working solution.
See example here: https://github.com/MarkusTheOrt/bevy_ui_shader_example

I intentionally marked this one as a draft since there is a lot to unpack and change/optimize.
I am not a graphics programmer, this is my first time doing something like that  and this is my first PR to bevy so I might have done some things wrong.
EDIT from 23/08/2023
Currently there is a bug where the Material UI gets drawn on top of other UI since the prepare_uinodes runs  independently from prepare_uimaterial_nodes (see here)
This also likely means that this PR is at least blocked until #9062 gets merged.
And also likely means there will be another PR that blocks this because of the UI Batching/Z-Ordering issue.

Changelog
Added

UiMaterial Trait - Same as Material2d from bevy_sprite or Material from bevy_pbr
UiMaterial Pipeline - Uses the UiPipeline as a base and the TransparentUi render phase.
There are many little additions that I had to make to get this working, but nothing Major.
Most if not all changes are part of the material.rs file in bevy_ui, there are some minor changes in the mod.rs file, which I'll likely revert as they were used for experimenting in earlier commits.
Example ui_material

Could you add a simple example showing how to use this? I can figure it out easily but I believe this feature deserve a standalone example.

I just added a simple example showcasing the feature.
I am thinking about ditching the use of UiPipeline inside the UiMaterialPipeline so that I can get rid of the default image bindings. Not every shader requires a texture, and if one is required it can be passed using the material.
Next up I do some renaming and documenting

I did now remove the usage of UiPipeline, and copied the relevant code into the UiMaterialPipeline.
I also did split up the additions, with essentially only the UiMaterial trait and its accompanying UiMaterialKey being inside the material.rs and the rest being in render/material_pipeline.rs.

I did Change some of the names like @ickshonpe suggested.
I am thinking that it would be a good addition to add the bevy_render::globals into the default shader bindings.
I believe it is a sensible default since time can be useful when doing anything animated within a shader.

The issue is that prepare_uinodes and prepare_uimaterial_nodes are working independently of each other.

I am not sure if there is anything that can be done here. Disabling all batching is sub-optimal to say the least. Maybe there can be batching for each layer in the Ui?

Batching doesn't have to be disabled, that was just a quick hack to diagnose the problem. There are a couple of approaches that could work, maybe a shared list resource that keeps track of what has been extracted at each stack index so the prepare systems know when to break up the batches. Or just one prepare system that handles batching for all the different extracted items.

Batching doesn't have to be disabled, that was just a quick hack. There are a couple of approaches that could work, maybe a shared list resource that keeps track of what has been extracted at each stack index so the prepare systems know when to break up the batches. Or just one prepare system that handles batching for all the different extracted items.

I've been thinking about this, maybe a marker component for Material Nodes that can be queried for in extract_uinodes and then used in prepare_uinodes can be used.

EDIT: I've tried doing that and it seems to be working from a batching standpoint, looking at it in renderdoc it does two draw calls, one for the black square, borders, and the vertical bar, and one for the red bar, the circle still draws on top (I guess that is what your PR (#9062 ) fixes?

Sounds like all you need for it to work is to set the z field of each UiBatch and UiMaterialBatch equal to the stack index (as f32) of the last extracted UI node belonging to each batch, except for maybe some local ordering issues for nodes with more than one extracted item.

Yes, sounds like you are almost there. All you should need to do is set the z field of each UiBatch and UiMaterialBatch equal to the stack index (as f32) of the last extracted UI node belonging to each batch. Maybe there might be some local ordering issues for nodes with more than one extracted item but that's not a big deal.

Got it working through that, thank you, I guess i'll make it clear in the initial post that this is blocked until the above mentioned PR is being merged 👍 and then do some final review myself before marking it ready ❤ thanks for all the feedback and help so far!

Okay, I did look over the code quite a bit now and I believe this is ready to merge, just waiting for some feedback and reviews now! 👍

Not forgotten about this, I'll try and do a review a bit later today after I've finished what I'm currently working on.

@superdump You were complaining that we were duplicating the material code between 2d and 3d, this would add another instance of such duplication.

Indeed. I really want to consolidate 2D and 3D materials and minimise the differences else developing any improvements requires implementing the same thing multiple times.

I think the border info should be part of the UiVertexOutput as it's the node responsibility to draw them

I think the border info should be part of the UiVertexOutput as it's the node responsibility to draw them

I don't quite understand what you mean.
Don't borders get extracted and rendered just as colored ui nodes?

No longer controversial, but waiting on review from @superdump.

I think the border info should be part of the UiVertexOutput as it's the node responsibility to draw them

I don't quite understand what you mean. Don't borders get extracted and rendered just as colored ui nodes?

Yes, if you add a BorderColor component.
With this PR, the material can be drawn over the border, but we don't know that as it's given the size of the node, border included. I would like to see the border width on each side as part of the data passed to the shader so that the material can decide how to render its borders

Okay, I have added the border sizes (in UV size if it can be called that)
so if you have a 100px square with a 10px border the values passed will be [0.1, 0.1, 0.1, 0.1] in the order of [left, right, top. bottom]

I’ll resolve these as soon as possible (in about one hour or so)

I'm less sleep-deprived now and feeling comfortable re-reviewing this. I'm happy with the quality of code, the docs are great, and this is useful abstraction. Merging for 0.12 :)


fix path to llvm-ar

Follow-up to #6, which had a mistake in the name (lld-ar does not exist; llvm-ar does). Also add the required dependency to have it available.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.


NPM doesn't have the latest version (0.1.2)

Hi!
Looks like you forgot to publish 0.1.2 to NPM... :stuck_out_tongue_winking_eye:

Closing as v0.2.1 is available on npm.


[Media] LVA SDK addition

Adding new lva edge sdk under the media directory.
This sdk is unique in that it does not contain any ARM calls so it has no client. It only has models which are used to send data to the azure-iot-hub sdk.

/azp run js - core-rest - ci

/azp run prepare-pipelines

/azp run js - videoanalyzer

To track V2 samples migration: https://msazure.visualstudio.com/One/_workitems/edit/9984624


Update references to kubernetes-incubator

The kubernetes-incubator org has been deprecated - https://github.com/kubernetes/community/issues/1922.
This repo still contains kubernetes-incubator in it's go.mod (refers to http://github.com/kubernetes-incubator/reference-docs which has moved to https://github.com/kubernetes-sigs/reference-docs) and in it's Makefile:
https://github.com/kubernetes-sigs/apiserver-builder-alpha/blob/f6b1ce897e72759eadc6821e3351ea77a4c9f9d1/Makefile#L24
These references should be updated to reflect the new org kubernetes-sigs.

@nikhita thanks for reminding! fixed it by #545


 Prerequisite for

encoding models
reducing redundancy with XDawn (#2332)

LGTM

I think I want to factor out contructing the evokeds too, cause that makes it fairly easy to actually plugin in sklearn objects here.
And I'd like to add an example for how to combine this and sklearn for a really easy encoder model validation.
Sorry for going back and forth on MRG/WIP all the time :)

Ready now.

+1 for merge

The 2nd Travis build is stuck ...

Restarted it for you, will merge if it comes back happy

Thanks @jona-sassenhagen

Thanks for reviews everyone!


Make ServiceLoader module dependencies on org.wildfly.clustering.web.…

…infinispan optional to avoid requiring infinispan subsystem
Currently just for CI test. @pferraro FYI.
When running tests of a Galleon-trimmed server using the web-server and datasources layers, SharedSessionTestCase would fail as InfinispanLegacySessionManagementProviderFactory was getting discovered and would wire in infinispan service deps, but the config did not have the infinispan subsystem.
The only module that has compile-time deps on clustering/web/infinispan is clustering/web/extension so the other deps are for service loading and should be optional.

Superceded by #12614


New parameter os_image_name

The proposed code adds a parameter os_image_name to be used instead of os_image_label.
It allows to precise the name of the source image either :

as listed in "azure vm image list", ie the hermetic [32chars id]__[human_readble_name]
or only the last part of the name [human_readble_name]
depending on what you prefer to copy paste or read.

For instance :
"os_image_name": "Ubuntu-14_04_3-LTS-amd64-server-20150805-en-us-30GB"
"os_image_name": "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_3-LTS-amd64-server-20150805-en-us-30GB"

It should solve the issue #108 as the user can more easily find the name of the OS he is looking for, and implements the #131 .

Hi @rchalumeau, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@rchalumeau, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

LGTM, Travis has some unrelated issue with the Azure SDK. If you can squash the changes into a single commit, I'll merge it

Done @paulmey, the four commits are now one

The SDK issue is supposed to be fixed somewhere later this morning, so I'll merge this now and see if anything needs fixing... :+1:


What's the preferred way to do app-wide onEnter functions?

As the title implies (but might be worded wrong), I need to potentially execute an action any time the app is loaded/initialized on any URL. If a user has an authToken stored in localStorage, I need to ping the server and get their user data for permission/avatar purposes. Where should this trigger happen?

Take a look at, its an example of how to set up shared auth.
https://github.com/ReactTraining/react-router/blob/master/examples/auth-with-shared-root/config/routes.js

I need to ping the server and get their user data for permission/avatar purposes. Where should this trigger happen?
I'd suggest this happends in your signin flow saga.

I need to potentially execute an action any time the app is loaded/initialized on any URL
Use redux-persist to sync store (or part of store with user data and session token) with localstorage, so you don't have to worry about page refresh and keep the logic of loading user data in your signin flow.

Closing due to inactivity


Spatial boundary replacement has hard-coded plaquette indices

The code
https://github.com/QCHackers/tqec/blob/6014998ed204054803a9dbe5d1f9cef70f8c5348/src/tqec/compile/specs/library/_utils.py#L186-L209
is using hard-coded plaquette indices that are only valid for the QubitTemplate template. This will be a blocking issue as soon as we will implement spatial junctions with Qubit4WayJunctionTemplate.
The best would be to be able to query a template for one of its spatial boundaries and perform a match between plaquette indices.

Re-opening, not entirely closed by #428


bad show number with zero

I have value "type_id": "302.0",
for
    "type_id": {
      "type": "keyword"
    },

    @Field(name = "type_id", type = Keyword)
    private String typeId;

but view only "302"

query
GET publ_post_entity/_search
{
  "query": {
    "bool": {
      "filter": {
        "term": {
          "uref.obj": "302"
        }
      }
    }
  }
}

in json view
"_source": {
          "_class": "ru.nkt.search.service.entity.PublPostEntity",
          "id": "cf217626-37a3-4574-9124-df5ae05e2abe",
          "type_id": "302.0",
          "uref": {
            "obj": 302,
            "uuid": "cf217626-37a3-4574-9124-df5ae05e2abe",
            "asString": "302:cf217626-37a3-4574-9124-df5ae05e2abe",
            "type": "uref"
          },

Hi @mishin , got it , I will update the number display format issue in next version: 1.0.5, Thanks your feedback.

Hi @mishin  please try the latest version: v1.10.5, and also you can download from Jetbrains market v1.10.5
Thanks your feedback, If you meet any issue please let me know.


upgrade to v2 transactions

Closes #16
Before:
$ rai exec pv-test -e pv-cancel-test -c '2+2'
Executing query (pv-test/pv-cancel-test) readonly=false .. Ok (0.6s)
# output (Int64)
4

After: (TODO: fix pretty printing; blocked on https://github.com/RelationalAI/rai-sdk-go/issues/15)
$ rai exec pv-test -e pv-cancel-test -c '2+2'
Executing query (pv-test/pv-cancel-test) readonly=false .. Ok (1.4s)
{
  "Transaction": {
    "id": "971e2fd6-4975-77ce-fd16-b44a1eff7553",
    "state": "COMPLETED",
    "account_name": "relationalai-team-rd-ux",
    "created_by": "5I7Bj7FlIRt5sYa2xPkdcFYgP8C31IjH@clients",
    "created_on":<PHONE_NUMBER>614,
    "database_name": "pv-test",
    "user_agent": "raictl/0.0.1",
    "query": "2+2"
  },
  "Results": [
    {
      "RelationID": "v1",
      "Table": [
        4
      ]
    }
  ],
  "Metadata": [
    {
      "relationId": "/:output/Int64",
      "types": [
        ":output",
        "Int64"
      ]
    }
  ],
  "Problems": []
}

Maybe we should just print out the results, to be more like it was before? Perhaps folks who have been using it more like @mbravenboer have opinions

btw, @NHDaly, it looks like the CLI dumps the response object to stdout as JSON: https://github.com/RelationalAI/rai-cli/blob/068c47fc3c511838828ea28c437c68d203ff2813/rai/cmds.go#L149-L153
I think this is explains what we were seeing in https://github.com/RelationalAI/raicode/issues/9128: it's the Go JSON encoder which decides to marshal byte arrays to JSON as base64 strings: https://pkg.go.dev/encoding/json#Marshal:~:text=Array and slice values encode as JSON arrays%2C except that []byte encodes as a base64-encoded string%2C

🤯 great find, @vilterp!! Can you copy/link that comment over on the other issue? Excellent find. 👍 👍 makes sense! :)

@vilterp if you look at exec -h, there's already a flag for the output format:
rai exec -h
Execute a transaction on the given database

Usage:
  rai exec database [flags]

Flags:
  -c, --code string     rel source code
  -e, --engine string   default engine
  -f, --file string     rel source file
  -h, --help            help for exec
      --readonly        transaction is read-only

Global Flags:
      --config string    config file (default "~/.rai/config")
      --format string    format results, 'json' or 'pretty' (default "pretty")
      --host string      host name
      --port string      port number
      --profile string   config profile (default "default")
  -q, --quiet            silence status output

+1 to defaulting to the pretty-printing, like we currently do. Maybe we can also print the transaction details before printing the results? Maybe just a subset of the transaction details?

Hm yeah… I'm not sure why it's printing as JSON instead of pretty; I didn't explicitly change that. Maybe it was looking for a specific format in the output that it's no longer getting, and it's defaulting to JSON. Will have to read that code path a bit more.

I guess the logic to pretty-print the results of a v2 transaction probably isn't written yet.
This is similar to the https://github.com/RelationalAI/rai-sdk-julia/issues/38 PR that @NRHelmi put together for the julia SDK: when you switch to the new structure of the data, we have to rewrite the rendering code, since you're getting back a different structure.

Yep. Maybe I can mimic what you guys did there

@cpetitpas I won't merge this until we fix pretty printing. The breakage you filed in https://github.com/RelationalAI/rai-cli/issues/20#issuecomment-1190768803 was unrelated to this PR and has been fixed now, as explained there.

I am removing the reviewers until this has support for pretty-printing again

Thanks Helmi! Let me build locally and give it a try…

Looks good!
$ build/rai exec pv-test -c '2+2' -e 'dg-test'
Executing query (pv-test/dg-test) readonly=false .. Ok (0.5s)
/:output/Int64
4

With JSON format:
build/rai exec pv-test -c '2+2' -e 'dg-test' --format json
Executing query (pv-test/dg-test) readonly=false .. Ok (0.3s)
{
  "GotCompleteResult": true,
  "Transaction": {
    "id": "873bf34c-66bf-dd6b-ec34-a027df1a4be7",
    "state": "COMPLETED"
  },
  "Results": [
    {
      "RelationID": "/:output/Int64",
      "Table": [
        [
          4
        ]
      ]
    }
  ],
  "Metadata": {
    "relations": [
      {
        "relation_id": {
          "arguments": [
            {
              "tag": 3,
              "constant_type": {
                "rel_type": {
                  "tag": 1,
                  "primitive_type": 17
                },
                "value": {
                  "arguments": [
                    {
                      "tag": 17,
                      "Value": {
                        "StringVal": "b3V0cHV0"
                      }
                    }
                  ]
                }
              }
            },
            {
              "tag": 1,
              "primitive_type": 2
            }
          ]
        },
        "file_name": "0.arrow"
      }
    ]
  },
  "Problems": []
}

I see it in the txn log: https://console.relationalai.com/relationalai-team-rd-ux/transactions/873bf34c-66bf-dd6b-ec34-a027df1a4be7

@hersker13 I know you were saying you use the CLI with JQ; will this change break your workflow? I think maybe you'd been using a build that only printed JSON, because of this little snafu: https://github.com/RelationalAI/rai-cli/issues/20#issuecomment-1190768803 Hopefully having the option will work for you.
Otherwise, I can't approve my own PR now that you've taken it over Helmi, but I think this is good to go.

Cool. Pretty satisfied that this works from my testing above; gonna merge. Thanks for taking it the rest of the way @NRHelmi!

Nice! After pull, ./tidy, ./make all seems fine using RAI build https://hydra.dev.relational.ai/eval/177859 (8/16/2022).
Before pulling and rebuilding:
def r = (1,missing)
def output = l : #(r[l])

....produced:
json: cannot unmarshal object into Go struct field RelKey.output.rel_key.values of type string

After:
chris@PetitpasServer:~/Documents/RAI$ rai exec cp-testing0816 -e cp-0816 -f tests/specializeMissing.rel
Executing query (cp-testing0816/cp-0816) readonly=false .. Ok (1.8s)
/:output/Int64/Missing(missing)
1

--format pretty and --format json also seem fine.
Thanks @vilterp / @NHDaly / @NRHelmi !


Test

Updates to website on 2023-08-01

Thanks for the notification. I closed the pull request.
On Tue, Aug 8, 2023 at 7:39 AM DavidLee528 @.***> wrote:

@.**** requested changes on this pull request.
Dear @craigtoth https://github.com/craigtoth , those commits seems
contain the author's personal information and should not merge into this
repository. Commit in your own fork in enough for updating your homepage,
no need to open any pull request unless you have any modification of
general stuffs for the repository you fork from.
Please close this pull request.
Any problems, please contact.
—
Reply to this email directly, view it on GitHub
https://github.com/academicpages/academicpages.github.io/pull/1472#pullrequestreview-1567102521,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANKVQWFBV4BOLTZ74JE5DRDXUIQP7ANCNFSM6AAAAAA3AA4EH4
.
You are receiving this because you were mentioned.Message ID:
@.***
com>


[Bug] HMR does not work, components lose styles

What version of vite are you using?
3.0.4
System info and storybook versions
  System:
    OS: macOS 12.4
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Binaries:
    Node: 18.7.0 - ~/.config/nodenv/versions/18.7.0/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 8.15.0 - ~/.config/nodenv/versions/18.7.0/bin/npm
  Browsers:
    Chrome: 103.0.5060.134
    Firefox: 103.0
    Safari: 15.5
  npmPackages:
    @storybook/addon-actions: ^6.5.9 => 6.5.9
    @storybook/addon-essentials: ^6.5.9 => 6.5.9
    @storybook/addon-interactions: ^6.5.9 => 6.5.9
    @storybook/addon-links: ^6.5.9 => 6.5.9
    @storybook/addon-postcss: ^3.0.0-alpha.1 => 3.0.0-alpha.1
    @storybook/builder-vite: ^0.2.2 => 0.2.2
    @storybook/builder-webpack4: ^6.5.9 => 6.5.9
    @storybook/manager-webpack4: ^6.5.9 => 6.5.9
    @storybook/react: ^6.5.9 => 6.5.9
    @storybook/testing-library: ^0.0.13 => 0.0.13

Describe the Bug
Using @storybook/builder-vite in the most basic setup, HMR seems to not work in the components.
When I edit src/button/index.tsx, I see a message in the browser console:
[vite] hot updated: /src/button/index.tsx

but nothing actually changes.
When I edit src/button/styles.module.css, I see the same message, and the component loses all it's styling.
Am I missing something in my config here? Any help would be appreciated!
Link to Minimal Reproducible Example
https://github.com/romeovs/storybook-vite-demo
Participation

[X] I am willing to submit a pull request for this issue.

I am facing the same issue. Any updates on this?

We are pushing hard on storybook 7 which should solve this and many other issues. But I'll try to take a look at this and see if I can figure out what's going on.

I finally took some time to look into this, @romeovs, and found the issue.
You are binding directly to the component, rather than to a Template story component.
You need to use something like this:
const Template: ComponentStory<typeof Button> = (args) => <Button {...args} />

export const Default: Story<ButtonProps> = Template.bind({})
Default.args = {
  children: "Click Me!",
}

Instead, you just had:
export const Default: Story<ButtonProps> = Button.bind({})
Default.args = {
  children: "Click Me!",
}

There are a few other issues with the repo as well, such as using<EMAIL_ADDRESS>(should be version 2.x) and not adding it to your addons in main.js.  But the problem I mention above is the reason for HMR not working.


[8pt] synthesize_test_case possible Alaska Error (<IP_ADDRESS>)

During running of <IP_ADDRESS>, an possible error was found on screen only.

Running GMS alpha test cases with 9 workers:  68%|███████████████████████▏          | 182/267 [1:42:32<58:14, 41.12s/it]/usr/local/lib/python3.10/dist-packages/pyogrio/raw.py:287: UserWarning: More than one layer found in 'wbd.gpkg': 'WBD_National_South_Alaska' (default), 'WBDHU8'. Specify layer parameter to avoid this warning.
with open_arrow(
Running GMS alpha test cases with 9 workers: 100%|██████████████████████████████████| 267/267 [2:37:42<00:00, 35.44s/it]
Creating master metrics CSV...

the 19020302 are showing up in the output metrics.csv file, so this may/may not be an issue.
NOTE:   When you debug this, please do not allow for any overwriting of the previous_fim/hand_4_5_8_0 files.

This is due to the fact that there are two layers in wbd.gpkg for Alaska HUCs. This is resolved in #1178.


Question: what's the on screen key displayer you use for your README's gif?

Thanks.

Hi @unphased ,
It's Keycastr.
Best regards,
David


Community configuration settings

Original content from old docs recreated, rejigged and reformatted here. With extra bits and other shiny stuff.
Things to bear in mind:

There are gaps in the documentation which I've attempted to fill, but haven't found everything (e.g., /com-config-cluster)
The logic I believe is sound but I'm unable to verify on a FeatureBase Docker image because things like featurebase backup don't work. Your mileage may vary

Content comes from /molecula/documentation:

/community/_posts/2022-04-01-backups.md
/community/security/_posts
/community/community-database/_posts

The site has been checked for broken links (the only ones there are ext links and stuff that's sitting in another PR)
The site also builds. Which is nice.
Good luck if you choose to take this mission...

I can't take this mission because I don't know it, but I'm gonna be a bad guy and ask this be broken up. It's hard getting reviews atm the moment, so the more you can break these up and keep them into small logical groupings, the easier it will be to get them reviewed

I can't take this mission because I don't know it, but I'm gonna be a bad guy and ask this be broken up. It's hard getting reviews atm the moment, so the more you can break these up and keep them into small logical groupings, the easier it will be to get them reviewed

It's a fair cop. Will close this PR and go again with smaller ones :D


docs(#795): add example apps for each provider

🔗 Linked issue
closes  #795
❓ Type of change

[X] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Adds a collection of example apps to replace https://github.com/sidebase/nuxt-auth-example/. These new examples will be easier to maintain, as they live in the main monorepo. Each template should be deployable via vercel and stackblitz to make creating reproductions easier.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have added tests (if possible).
[ ] I have updated the documentation accordingly.

Waiting on #818


I couldn't make the url bar smaller without messing things up

I want to make the url bar smaller and when I tried to set the 500 here to 400: --uc-urlbar-width: clamp(200px, 40vw, 500px);, the 2 arrow button with extensions disappears. And when I clicked on it, it reappeared but was above a tab and the search results/suggestions area was not the same width as the urlbar-width.
How can I make my urlbar width smaller but still maintain the amazing style of cascade?

I just saw this but I'm a bit confused... https://github.com/andreasgrafen/cascade/issues/11#issuecomment-976481499

There is some weird stuff going on under the hood. The elements making up the URL-Bar have some flex values that, as fas as I can tell, I can't overwrite easily. The Addon-Icons themselves are part of the URL-Bar while the button for the overflow menu is a sibling. The whole construct is a little tricky. Thus there seems to be a minimum width the whole navigation bar has to have.. That's why the value is set to 500.

I personally highly recommend to move the Addon-Icons to the bookmark bar. They are easily accessible there, but not in the way. If you have some important Addons you can also place them right to the tab list. c:
Without the overflow menu on the navigation bar you can then easily change the with to something to your liking. While this is a bit hacky in terms of achieving what you're looking for, it works without any issues.

How do I move the overflow menu into the bookmarks bar?
I also don't see a lot of the icons that you do:

When you rightclick on the Tab bar you can go into the customisation mode. You also want to enable the Bookmark bar for that by pressing CTRL + Shift + B on Windows and Linux or CMD + Shift + B on Mac. Then you can move pretty much everything you want to.


Use getDefaultSyncModeIfNotSet during bonsai-limit-trie-log-enabled validation

PR description
Private networks in certain configurations can yield sync-mode=null and were skipping the validation.
e.g. if you use a custom genesis-file but don't specify data-storage-format=FOREST or sync-mode=
The impact is since 24.6.0, bonsai-limit-trie-log-enabled has defaulted to true for these networks and possibly pruned some data.
This is the original PR that enabled the feature by default and introduced the validation https://github.com/hyperledger/besu/pull/7181
The way syncMode is handled means it can be null in certain cases, which I missed in #7181
Also moved the validation later in the startup code to ensure customs defaults had been properly set.
Thanks for sending a pull request! Have you done the following?

[x] Checked out our contribution guidelines?
[x] Considered documentation and added the doc-change-required label to this PR if updates are required.
[x] Considered the changelog and included an update if required.
[x] For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

[x] unit tests: ./gradlew build
[ ] acceptance tests: ./gradlew acceptanceTest
[ ] integration tests: ./gradlew integrationTest
[ ] reference tests: ./gradlew ethereum:referenceTests:referenceTests

Closed in favour of https://github.com/hyperledger/besu/pull/7357


Integer digits in format statement incorrect for images > 1m

The first digit in the format statement gives the number of integer digits for the coordinates. For example %FS36... means that 3 integer digits are needed, and there are 6 decimal digits.  This allows to express coordinates up to 1000 mm, or 1 mm.
In the generated files this first digit is always 3.  It is therefore incorrect when coordinates are > 1m.
The only workaround seems to be to manually correct this digit.
However, very few, if any,  gerber readers take this digit into account, so this issue will probably not cause any problems.
For images <1m there is no issue.

Solved in <IP_ADDRESS>


fix: template string comparison optimization issue

There is a bug in the way template string comparisons are optimized.
To my understanding, webpack tries to check whether two compared template strings either start or end to different literals, such that
`a{x}` === `b{x}`

can be optimized out as a const false.
However,
`${a}` === `${b}suffix`

Will be evaluated incorrectly as a constant false because of the following code
const lenPrefix = Math.min(leftPrefix.length, rightPrefix.length);
const lenSuffix = Math.min(leftSuffix.length, rightSuffix.length);
if (
  leftPrefix.slice(0, lenPrefix) !== rightPrefix.slice(0, lenPrefix) ||
  leftSuffix.slice(-lenSuffix) !== rightSuffix.slice(-lenSuffix)
) {

Given that leftSuffix is "" and rightSuffix is "suffix"
lenSuffix will be 0
The slice operations for the suffixes will then get -0 as a parameter, which will not just take the last 0 characters of the string but instead it will be treated as slice(0), comparing the whole strings.
Summary

copilot:summary
Details

copilot:walkthrough

As an example
function test() {
  const a = "suffix";
  const b = "";

  if (`${a}` === `${b}suffix` && true) {
    return true;
  }

  return false;
}

Will turn into
function test() {
  const a = "suffix";
  const b = "";

  if (`${a}` === `${b}suffix` && 0) {}

  return false;
}

Alright, I've added some test cases!


Update prettier-plugin-solidity version

This repo is using 1.0.0-beta.2 right now. We can update to 1.0.0-beta.11 which supports formatting custom error.

Thanks @dkenw !


Extras out of sync with github repo

Maybe we should make some sort of CI for extras that automatically syncs this repo's extras version with the extras repo?


AsNoTracking reduces ElementType of IQueryable to the base class

Storing a DbSet<DerivedClass> in an IQueryable<BaseClass> typed property and later calling AsNoTracking() on the stored queryable, the resulting query has an ElementType of BaseClass.
Background:
I have several applications, which store data about companies.
Each user belongs to exactly one company.
These users should only see the entities which belongs to the same company.
This is solved with one master entity (the company) and several company data entities ("DetailEntity" in the example) and a claim, which contains the company-id.
If a user is an administrator, this user has no claim with a company-id and therefor should only see entities, which don't belong to companies (e.g. the company-entity itself).
The administrator should only create/edit/delete companies, any other data is handled by the users of the companies.
I have library containing some general logic and base classes for these entities etc.
It also provides some extensions for filtering the entities.
These are used for dynamic forms generated at runtime for creating/editing data inside the company.
The application manages a list of the entities, where the lib should generate dynamic forms.
As a guard for errors in configuration by the developer (besides the unit-tests of course), we have a filter, which checks if the accessed entity has an company-Id and the user, which accesses this entity, has the claim with an company-id (or if both are missing).
If they don't match, an exception is thrown, so nobody should access data, which he shouldn't see (with a runtime-generated form).
The example reflects the structure of the lib and an application.
What am I doing wrong?
Steps to reproduce
Just do dotnet restore and dotnet run.
project.json
{
  "version": "1.0.0-*",
  "buildOptions": {
    "debugType": "portable",
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.EntityFrameworkCore": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0"
  },
  "frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.1.0"
        }
      },
      "imports": "dnxcore50"
    }
  }
}

Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Microsoft.EntityFrameworkCore;
using Lib;

namespace Lib
{
  public abstract class BaseEntity
  {
    public long Id { get; set; }
  }

  public abstract class BaseCompanyEntity : BaseEntity
  {
    public string CompanyName { get; set; }
  }

  public abstract class BaseDetailEntity<TCompanyEntity> : BaseEntity
    where TCompanyEntity : BaseCompanyEntity
  {
    public long CompanyId { get; set; }
    public TCompanyEntity Company { get; set; }
  }

  public abstract class BaseCompanyDbContext<TCompanyEntity> : DbContext
    where TCompanyEntity : BaseCompanyEntity
  {
    public DbSet<TCompanyEntity> DbsCompany { get; set; }

    public BaseCompanyDbContext()
    {
    }
  }

  public static class QueryableExtensions
  {
    public static IQueryable<BaseEntity> WhereCompany<TCompanyEntity>(this IQueryable<BaseEntity> queryable, long? companyId)
      where TCompanyEntity : BaseCompanyEntity
    {
      IQueryable<BaseDetailEntity<TCompanyEntity>> queryableDetail = null;
      if (queryable.ElementType.GetTypeInfo().IsSubclassOf(typeof(BaseDetailEntity<TCompanyEntity>)))
        queryableDetail = (IQueryable<BaseDetailEntity<TCompanyEntity>>)queryable;

      // if no companyId is given, the queryable must not of type BaseDetailEntity
      if (!companyId.HasValue && (queryableDetail == null))
        return queryable;

      // if a companyId is given, the queryable must be of type BaseDetailEntity
      if (companyId.HasValue && (queryableDetail != null))
        return queryableDetail.Where(q => q.CompanyId == companyId.Value);

      throw new Exception("access denied");
    }
  }

  public class EntityInfo
  {
    public Type EntityType { get; set; }
    public IQueryable<BaseEntity> DbSet { get; set; }

    public static EntityInfo FromQueryable(IQueryable<BaseEntity> queryable)
    {
      return new EntityInfo
      {
        EntityType = queryable.ElementType,
        DbSet = queryable
      };
    }
  }

  public interface IEntityRepository
  {
    IEnumerable<EntityInfo> Entities();
  }
}

namespace App
{
  public class CompanyEntity : Lib.BaseCompanyEntity
  {
  }

  public class DetailEntity : Lib.BaseDetailEntity<CompanyEntity>
  {
  }

  public class AppDbContext : Lib.BaseCompanyDbContext<CompanyEntity>
  {
    public DbSet<DetailEntity> DbsDetail { get; set; }

    public AppDbContext()
    {
    }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
      base.OnConfiguring(optionsBuilder);
      optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=CompanyDetailDatabase;Trusted_Connection=True;MultipleActiveResultSets=true");
    }
  }

  public class EntityRepository : Lib.IEntityRepository
  {
    private AppDbContext _dbContext;

    public EntityRepository(AppDbContext dbContext)
    {
      _dbContext = dbContext;
    }

    public IEnumerable<Lib.EntityInfo> Entities()
    {
      yield return Lib.EntityInfo.FromQueryable(_dbContext.DbsCompany);
      yield return Lib.EntityInfo.FromQueryable(_dbContext.DbsDetail);
    }
  }

  public class Program
  {
    public static void Main(string[] args)
    {
      using (var dbContext = new AppDbContext())
      {
        dbContext.Database.EnsureDeleted();
        dbContext.Database.EnsureCreated();

        var entityRepo = new EntityRepository(dbContext);

        // actually the companyId comes from the ClaimsPrincipal provided by HttpContext.User
        // app-administrators doesn't have a claim with a companyId
        // (they are only allowed to access entites not derived from BaseDetailEntity)
        // app-users do have a claim with a companyId
        // (they are only allowed to access entites derived from BaseDetailEntity)
        //long? companyId = null;
        //Claim companyClaim = HttpContext.User.Claims.FirstOrDefault(c => c.Type == "CompanyId");
        //if (companyClaim != null)
        //  companyId = long.Parse(companyClaim.Value);

        // Mock: first user is app-administrator
        long? companyId = null;

        // at this point, only CompanyEntity is known at compile time
        // so we can't use generic methods with the actual entitytype
        foreach (var ei in entityRepo.Entities())
        {
          Console.WriteLine(string.Format("EntityType: {0}", ei.EntityType.Name));

          var q = ei.DbSet;
          Console.WriteLine(string.Format("ElementType of DbSet: {0}", q.ElementType.Name));

          q = q.WhereCompany<CompanyEntity>(companyId);
          Console.WriteLine(string.Format("ElementType after WhereCompany: {0}", q.ElementType.Name));

          q = ei.DbSet.AsNoTracking();
          Console.WriteLine(string.Format("ElementType of DbSet.AsNoTracking: {0}", q.ElementType.Name));

          q = q.WhereCompany<CompanyEntity>(companyId); // throws on DetailEntity in second loop
          Console.WriteLine(string.Format("ElementType after WhereCompany: {0}", q.ElementType.Name));

          // second entity is DetailEntity, so provide a companyId for the next loop
          // Mock: second user is app-user
          companyId = 1;
        }
      }
    }
  }
}

Further technical details
EF Core version: 1.1.0
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10 64 Bit
IDE: dotnet

if (typeof(BaseDetailEntity<TCompanyEntity>).IsAssignableFrom(queryable.ElementType))

in WhereCompany doesn't work either.

@flensrocker - There is nothing wrong with AsNoTracking if you use any linq operator you will get the same result. If you replace AsNoTracking with Skip(1) above, you still get exception.
Here is the documentation of Skip -> https://msdn.microsoft.com/en-us/library/bb358985(v=vs.110).aspx
All linq operators are defined as template method like Skip<TSource> therefore compiler infer the type based on the type of source enumerator.
As long as you have DbSet you will have actual type of DbSet but once you apply any linq operator (or extension defined by EF like AsNoTracking) the type of the expression tree is changed to Enumerable<TSource> since the variable is defined as IQueryable<BaseEntity> TSource takes value BaseEntity.
In first iteration, during WhereCompany you are returning queryable itself so the type will be same as before applying where.
In second iteration, for first pass, you are casting type of queryable in your function before applying where so the type after where clause is the casted type. In the absence of that casting, Where would also return BaseEntity only.
There is nothing on EF side to be done here.

Thank you, I think, I understand now.
I now have a solution with an interface with a non-generic function, which returns an IQueryable<BaseEntity>, which is backed with two generic implementations for the different entity-types (BaseCompanyEntity and BaseDetailEntity).


Stream Deck + support

Will this be updated to support the Stream Deck+? Specifically I was looking for a way to control my Sonos volume with the dials. Thanks

Same here, I would love the possibility for Stream Deck+ Dials support. Thank you for the plugin!

Same here!

+1 for this - especially being able to control volume using a knob, and then mute / unmute the speaker using a press on the knob

+1 for this!! Volume control (with mute) using a knob would be wonderful

I took a look at this code, and I think I have been able to get everything updated to support adjusting the volume and muting the Sonos using a knob on the Stream Deck+. I have created a separate branch and pull request with the updated code, and I need a little assistance with testing out these changes.
If you are interested in helping to test out these changes, please leave a comment here.

I finally upgraded to the Stream Deck + and ready to test. Let me know how I can help

Happy to test. Please let me know if and when you resume development.

I took a look at this code, and I think I have been able to get everything updated to support adjusting the volume and muting the Sonos using a knob on the Stream Deck+. I have created a separate branch and pull request with the updated code, and I need a little assistance with testing out these changes.
If you are interested in helping to test out these changes, please leave a comment here.

I realize its been a minute, but I would still be interested in this and happy to test or help in some way if I can.


Configuration file YAML support

Part of Task 2 in #14

[ ] Writer Configuration object back to YAML
[x] Document configuration file structure: Started in https://github.com/radiasoft/rsopt/blob/master/docs/configuration.rst

This is not really needed now that python script setup has been deprecated


Address issues with installing node locally in home directory.

Path copying during install uses PREFIX, which if changed breaks node install.  Remapped everything to use N_PREFIX.  I assume this is the original reason for N_PREFIX versus PREFIX.
Fixes issue visionmedia/n#20
Tested:
n latest (install)
n install 0.5.1
n use 0.5.1
n latest (activate)
n 0.4.10

Yep. This is an issue for me too. Is this going to get merged?

if you dont mind updating the docs i'll merge it asap

grr merge is failing, i'll look into this in a bit

Hmm maybe because the original pull is so old and my auto white space
deletion. Anything I can do to help?
On Oct 26, 2011 6:59 PM, "TJ Holowaychuk" <
<EMAIL_ADDRESS>wrote:

grr merge is failing, i'll look into this in a bit
--
Reply to this email directly or view it on GitHub:
https://github.com/visionmedia/n/pull/28#issuecomment-2537716

Resolved conflict in bin/n, see how that looks

Oh this has been merged, don't comment on closed issues please ><


text references to "element" should reference "property"

There should be no interface references to "element" or "elements"...all should be to "property" or "properties" since JSON-LD has properties, not elements. Same for RDF, properties, not elements.

Covered with PR #70


Theming for status bar icons and status bar extensions

https://github.com/Microsoft/vscode/issues/23294
Tested in version 1.11.0-insider and statusBarForeground was changed to red here but it didn't apply to all text in the status bar.

Two issues:

extensions can decide on the foreground color of their status bar items, overriding whatever the theme does
the SVG icons used in the status bar do not inherit the foreground color

SVG icons can just use "currentColor" in their markup to inherit the FG color.

@kumarharsh not sure that would work for us, we use CSS background: url(path/to/svg) to show these SVG icons anywhere.

I went with the webkit-mask approach.


Small typo in parameter_tuning_ex_02.ipynb

In exercise M3.01, there's a small type in the introduction text (2nd paragraph):
Here we use a small subset of the Adult Census dataset to make to code fast to execute. [...]

to be replaced by (or anything you feel more appropriate):
Here we use a small subset of the Adult Census dataset to make the code faster to execute. [...]

Thanks a lot for your comment, this is now fixed!
Some small comments:

not sure if you are following the ongoing MOOC session, but as a general rule of thumb, using the MOOC Discourse forum is preferrable. This way we use the Discourse forum for the MOOC feed-back and keep the github for our (more internal) organisation
if you are not following the ongoing MOOC session and you are interested, you can register here. The course is free and you will get the full MOOC experience: videos, quizzes answers, Discourse forum for discussion/feed-back, and a JupyterHub so you don't have to install anything to run the notebooks

Thanks for your quick reply!
I'm actually participating to the MOOC (which is really great!). As the github repo was public, I preferred this way of letting you know about issues. But I will use the forum next time, even if I'm not a great fan of the tool.
Sorry for the inconvenience,

No worries and thanks a lot for the comment, this is just easier to handle user feed-back all in the same place (Discourse forum)!

But I will use the forum next time, even if I'm not a great fan of the tool.

I was new to Discourse before the MOOC and I actually quite like it but yeah it is yet another tool that you have to get used to and that can be frustrating ...
Just in case you have not discovered it yet: you can access the Discourse forum outside of the FUN-MOOC platform at this url: https://mooc-forums.inria.fr/moocsl/ (if you are logged in in FUN it should log you in automatically into Discourse)


Add trace logging for header passthrough authenticator

Will help us track down what else is still using it
cc @pschoenfelder @baconmania

🚢