Create securityPrograms.md in the tools folder.

I expected to open up tools and find lots of guides. Guess not. I figured I'd kick it off :)

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Hi @Sgt-Sauris, thank you for the PR! However, I have to close it because the file you created was not named correctly. It should be index.md instead.
Please open a new PR with the mentioned change.
I'm so sorry for the inconvenience.


Bug-Fix: Fixes Production

Fix #65
Solves the problem of deployment not found for the production

Done already!!


Removal of ID fH7LL0l7J9 that was deprecated on November 18th

https://docs.aws.amazon.com/awssupport/latest/user/aws-trusted-advisor-change-log.html

Thanks for the contribution!


Can't delete Server

Use the add method in the upper right corner to add a server. There is no method to delete a server or uninstall the server.

I found it

stop report will also can remove server

how to delete the Windows server
need help:(

how to delete the Windows server
need help:(

On the server, select add in the upper right corner, then select auto in the pop-up drop-down menu and select delete. A command will appear, and you can delete the server by executing it.

how to delete the Windows server
need help:(

On the server, select add in the upper right corner, then select auto in the pop-up drop-down menu and select delete. A command will appear, and you can delete the server by executing it.

what you said did not work on windows devices. When I did not open the client on the windows device, it disappeared from tianji after a while.
I made the above sentence using translation. can you comment if it makes sense or not?


macroexpansion could be easier

The current recommendation to invoke the macro using method syntax works, and is maybe adequate for debugging purposes, when you already know the thing you have is a macro (or can easily check). It's also nice that this doesn't require any additional helper functions, like macroexpand, macroexpand-1 or macroexpand-all.
However, that's not good enough for metaprogramming purposes. Advanced macros may need to (perhaps conditionally) pre-expand forms in their body, and there's no easy way to tell if any given form is a macro. You'd have to repeat the same checks the compiler is using:

If qualified, is it an attr of a _macro_ namespace?

What if we replace the QzMaybe_?

Else, does the current _macro_ namespace consider that an attr?

Then get the macro function, invoke it, and return the result, or don't and return the original form, depending on the answer. Also this should be done in the compiler's macroexpansion context so NS is set properly, just in case the macro function is using that. That last one is already in the right context if you're expanding a macro inside another macro, but maybe not if you're debugging with method syntax.
As one of the design goals of Hissp, compiled Hissp/Lissp code is not supposed to have any run-time dependency on the hissp package, which means the package can't provide any bundled functions for use with Lissp code, only macros. However, helper functions that are only meant to be used at compile time in a macro technically don't break this rule, because they don't appear in the compiled expansion, and as long as the body is never used at run time, Python doesn't care that lookups wouldn't resolve. The bundled macros already do this with helpers in the reader module, like is_hissp_string().
The macroexpand family could be done the same way in the compiler module. There's little run-time use for these, except, perhaps, when debugging at the REPL (if you have a REPL, you have the hissp package too), so it wouldn't violate the design rule. The checks would have to be factored out of the Compiler class to avoid duplicating logic, but I think that's doable.
I'm not seeing very good alternatives. Maybe a helper macro could expand to an inline function definition, or it could be added to the prelude. Maybe macro recognition could be simplified. Other Lisp-1s would put the macros in the same global namespace as the functions, and just mark them somehow. Python function objects can take attrs and annotations, so this would be easy. Having a separate _macro_ namespace for them has certain tradeoffs that I didn't fully understand at the time I designed it that way. I've added workarounds, but it's certainly not the only way it could be done. Changing that now would deeply alter the character of Hissp. It's not something I'd take lightly, but perhaps there is a middle ground? This will take some careful thought.

I think I've got this implemented. I pushed up the branch so far, but it's not tested yet. Writing at least one of #179 or #259 should be sufficient to test and document it. This is the last major feature currently holding up the 0.5 release. I'd still like to read over the documentation and try to improve test coverage before releasing though.

#266 made some significant improvements to the macroexpand family. They no longer require an env argument for interactive use. (They'll walk up the stack and get the caller's globals.) Their recursive calls now pass the env argument explicitly.


[Update Snap] ZetaLink

Checklist
All items in the list below needs to be satisfied.

[ ] Is the summary of the change documented in this ticket?
[ ] Has a MetaMask Snaps team member reviewed whether the changes need to be vetted?
[ ] If there are changes that need to be vetted, attach a description and the relevant fixes/remediations to this issue.
[ ] The corresponding pull request in this repo has been merged.

Summary of changes

Better technical structure
Enhanced user experience
Enhanced Error handling

Diff:

On hold


asyncData doesn't work when load from static

For some reason this doesn't work
asyncData ({ params }) {
    return axios.get('data.json')
      .then((res) => {
        return { title: res.data.title }
      })
  }

How to load data from static folder?
I have JSON files there, where I want to manage content.

You'll have to either provide the full url:
axios.get('http://localhost:3000/data.json')

Or load it in the mounted hook:
mounted () {
  axios.get('/data.json')
    .then(({ data }) => {
      return { title: data.title }
    })
}

@cretueusebiu if I load it in mounted then it doesn't server render content! Is there any way to solve it? I want both - ssr and ability to modify content in builded app.

Use the full URL as in the first example.

@cretueusebiu and conditionally replace url when build? I mean there will be one url in Dev and another in Prod, right?

Of course, you would use an env variable for the url. And maybe extract the code to a file where you have the api calls.

If I use
asyncData ({ params }) {
    return axios.get('http://localhost:3000/data.json')
      .then((res) => {
        console.log(res)
        return { data: res.data }
      })
  }

Then I can't do npm run generate because Error: connect ECONNREFUSED <IP_ADDRESS>:3000

It shouldn't be separate server. I wan't this JSON file inside Nuxt app.

If you don't want to load it just import it as you do with js files:
import data from 'path/to/data'

I tried that first. Then I can't edit file content. If I edit JSON file it doesn't have any effect to app.

And this is strange behavior. Because Nuxt is copying JSON file into dist for some reason. Why it's doing that, if it doesn't consume it?

I guess it's because JSON file is from static folder. But then this is not a solution for me, because requiring the JSON is merging it's data with app. I want it to be separate

I guess you either figured this out by now, or did something else; but I would try putting the file you want in your assets folder, rather than static, and import from there via webpack. I believe the contents of assets are tracked for changes...

I tried that first. Then I can't edit file content. If I edit JSON file it doesn't have any effect to app.

You can add custom watch paths to your nuxt config:
build: {
  watch: ['path/to/data']
}

A change to these files will trigger a rebuild and restart the server.
Note that Nuxt path prefixes (@, ~, etc.) in watch paths won't work: https://github.com/nuxt/nuxt.js/issues/2983

Same problem here. But no need for editing json files.
Just the requirement to load json files during nuxt generate with asyncData.
return axios.get('http://localhost:3000/data.json') does not work, as we know,
but what else could I use...?

I had this working by simply using require to require the JSON file. Webpack takes care of it. If you need route params to know what file to require, you can do it inside the asyncData callback.

I make simple workaround for this issue.
After run npm run generate, i start simple server on folder /static, and write new path to $axios settings
on nuxtconfig.js
    ['@nuxtjs/axios', {       baseURL: 'http://localhost:8000'     }]
on nuxt run generate script call to localhost:8000 and successfully get data from /static folder
P.S.: May be important at what address you run the temporary server.
When i run php -S localhost:8000 - the script gave the same error as before.
But when i run php -S <IP_ADDRESS>:8000 script run successfully.


Cheap Spectrometer version

Any suggestion if it is possible to use some cheaper version of  Diffraction Spectroscope? Here are few samples
https://www.amazon.com/Handheld-Durable-Small-Diffraction-Spectroscope/dp/B00MNEAMF4
https://www.amazon.com/Gain-Express-Diffraction-Spectroscope-Identification/dp/B017VM4Q86
The only obvious issue - there are no details regarding diffraction grating of lines/mm.
Aliexpress price for them are around $25 - https://www.aliexpress.com/item/32625200308.html
Instead of RPI + camera it should be possible to use $5 USB webcam and attach it directly to PC https://www.aliexpress.com/item/1005001465072245.html
Another $5 USD for the lens with zoom https://www.aliexpress.com/item/4000617323132.html
I am looking for some cheap spectrometer version and initially found webcam + dvd piece + wood box version https://www.youtube.com/watch?v=MgogwcXUIoc&t=131s
I really like PySpectrometer since it looks great. Now I am trying to make a really cheap version but with reasonable quality.

Hi @kirbah , publiclab has lots of resources on cheaper builds https://publiclab.org/wiki/spectrometry, extract a diffraction grating from a cut up dvd. Not sure of the resolution.
Cheers,
Brian


IDVA6-1466 refactoring

Link to Jira:
https://companieshouse.atlassian.net/browse/IDVA6-1466
Changes:

Unit tests refactored and new added
Unused import removed
Code reformatted

CI: No security warnings found


Make an end to end reproducer for zero column batch issues

Is your feature request related to a problem or challenge?
Based on the review https://github.com/apache/arrow-datafusion/pull/5709#pullrequestreview-1355510439 it is ideal to make an end to end reproducer for zero column batch issues (either with SQL or with the DataFrame API)  It would be nice to ensure there aren't other issues with creating zero column batches.
We have found two execs so far that return an Err ArrowError(InvalidArgumentError("must either specify a row count or at least one column")) with no column https://github.com/apache/arrow-datafusion/issues/4911 https://github.com/apache/arrow-datafusion/issues/5701
I suspect there are other exec may have the same issue.
Describe the solution you'd like
Need to find a good method to project empty-column relation (with non-empty row),
Describe alternatives you've considered
No response
Additional context
No response

I think excluding columns is a valid way to get zero column batches with non-empty row count: https://github.com/apache/arrow-datafusion/issues/6510#issuecomment-1782524357
https://github.com/apache/arrow-datafusion/pull/7945 added a test to sqllogictests which could be considered end to end, however it is very simple involving only a projection.
Is there a list of things to test for zero-column batches? I see limit and projection are the only ones mentioned in the original issue text.

One classic list of things to test is Filter, Projection, Grouping, Join, and Window, and Limit. I am not sure how far we should go with this
BTW is one potential "end to end" test for  zero column batches and LIMIT (maybe someone could just put this into  slt file, following the model of @Jefffrey  in https://github.com/apache/arrow-datafusion/pull/7945)
Adding some simple variations with GROUP BY and JOIN could also help
❯ create table t as values (1, 2), (3, 4);
0 rows in set. Query took 0.002 seconds.

❯ select * except (column1, column2) from t ;
++
++
++
2 rows in set. Query took 0.001 seconds.

❯ select * except (column1, column2) from t limit 1;
++
++
++
1 row in set. Query took 0.000 seconds.

I think this is a good first issue for someone with some familiarity with SQL and who wants to learn about how the sqllogictests work -- see https://github.com/apache/arrow-datafusion/tree/main/datafusion/sqllogictest#readme


Cannot set quality of JPEG encoder.

I use the encoder tests. If I try to change quality of JPEG for example to 90. I get failed tests. In the tests setting quality as 50 and it works. Probably the default value of quality is 50.

Can you share the command line you use to run these tests with different quality values?

I'm really sorry. It's my problem. I solved it. Thank you for the answer.


Updated README.MD

Related Issue
Issue #168
Description
Updation Done-
1. Added Contibution Wall
2. Added Animated Emojis
3. Added Back to Top button at end of Readme to go to back top
Type of PR

[ ] Bug fix
[ ] Feature enhancement
[✅ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)

Checklist:

[✅ ] I have performed a self-review of my code
[ ✅] I have read and followed the Contribution Guidelines.
[✅ ] I have tested the changes thoroughly before submitting this pull request.
[✅ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[✅ ] I have commented my code, particularly in hard-to-understand areas.

@sanjay-kv Can You please Look into it

@Harshitmishra001 thanks for this could you do this in  https://github.com/Recode-Hive/machine-learning-repos as well

Sure I will Add it to that also 😄


Update nic78.md

What's changed, or what was fixed?

Remove importScripts' double closing parentheses

[ ] This has been reviewed and approved by (NAME)

[ ] I have run npm test locally and all tests pass.

[ ] I have added the appropriate type-something label.

[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

:tada: This has been pushed live to https://developers.google.com/web/


feat: Add nextjs helpers and docs

Helps #2051
Motivation

NextJS is popular
Solution

Lots of investigation lead to Document to control SSR, and App to control client-side.
Added an example to provide a stackblitz reference as well as validate (unit tests don't really work in these cases).

Codecov Report

Merging #2288 (9be2a7b) into master (e1623f9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2288   +/-   ##
=======================================
  Coverage   98.31%   98.31%
=======================================
  Files         125      125
  Lines        1955     1955
  Branches      293      293
=======================================
  Hits         1922     1922
  Misses         16       16
  Partials       17       17

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@rtorrente this should make nextjs integration a piece of cake!

@ntucker Amazing ! It looks very promising with a very easy integration of SSR !!
I will try to take a closer look soon


[Feature]: Autosize Textarea

Describe the feature
reference from element-plus package https://github.com/element-plus/element-plus/blob/4a3318f7b1f472ea6ee35cc653e2d5b401ce7ce4/packages/components/input/src/input.vue#L342C8-L342C8
Additional information

[ ] I intend to submit a PR for this feature.
[ ] I have already implemented and/or tested this feature.

Thanks for the suggestion @peter-emad99 .
However, radix-vue focus on building Primitive. As textarea is already a native element, we don't plan on adding this.
If you are looking for "Autosize Textarea" feature, you can checkout useTextareaAutosize


[WIP] Add scheduled finalisation time to InvalidExit and UnchallengedExit events

:clipboard: Closes #1481
Overview
This adds scheduled finalisation time to standard exit structs persisted in the DB - allowing this to be reported in invalid_exit and unchallenged_exit events.
"details": {
          "amount":<PHONE_NUMBER>0000000000,
          "currency": "0x0000000000000000000000000000000000000000",
          "eth_height": 325,
          "name": "invalid_exit",
          "owner": "0xc29320f6a614edd1ffc8c7f8a7c8dd703761a68a",
          "root_chain_txhash": "0xee0d9e06dedf792d25c3d168fe1073c42039b49ddeffd76fc57e31201df8887b",
          "scheduled_finalization_time":<PHONE_NUMBER>,
          "utxo_pos":<PHONE_NUMBER>
        },
        "event": "invalid_exit"
      }

Changes

Add logic in the ExitProcessor (handle_call({:new_exits, exits}) to calculate scheduled finalisation time after making the requisite contract calls
Make requisite changes in ExitInfo (including adding a helper to calculate SFT)

Testing

Updated relevant tests to have a dummy scheduled_finalisation_time and updated tests in exit_info_test.exs

TO DO

Update Swagger specs in this PR once https://github.com/omisego/elixir-omg/pull/1485 and https://github.com/omisego/elixir-omg/pull/1492 are merged.
Update base branch to master once https://github.com/omisego/elixir-omg/pull/1485 is merged

Coverage remained the same at ?% when pulling 86fb9a4919f4a71294ed37a99258cf0cc43f5fda on 1481-add-SFT into ed9b1fc119156a2a469313ac3178bca730c86000 on 1471-byzantine-reporting-enhancements.

Hey @InoMurko. Thanks for the early feedback. I've added child_block_interval and min_exit_period in the ExitProcessor state and refactored accordingly.
What remains in this PR is to add a timestamp to the persisted block struct in order to complement @souradeep-das's PR that switches sla_margin from blocks to seconds.
(Having an exit timestamp will facilitate the segmentation of invalid vs. unchallenged exits, see here)

a6f6b18 timestamp to exit struct LGTM


E2E sample demonstrating interaction metrics/logging gathering and processing, messaging, ML and CI/CD

close since no customer ask for this one


Setup Drizzle

I've decided not to use Drizzle on this project because of the our stack won't fit well this that. That that this project will use: ethers.js + typescript + react hooks/context instead of redux.


"crete" typo

f. Expand Create and update settings and select the Enable quick create forms check box. This option ensures, you can use the quick create form to crete a record.
This should read as create.

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

ID: 11bacb37-4743-1d0e-d13e-1d9b656c661f
Version Independent ID: 7b4d6192-4282-c5c1-01a2-a3ba065ed6e6
Content: Create a custom entity - Power Apps
Content Source: powerapps-docs/maker/common-data-service/data-platform-create-entity.md
Service: powerapps
GitHub Login: @Mattp123
Microsoft Alias: matp

@ElizabethWolfe - thank you for helping to improve the documentation. The typo has been fixed and will be published live by the end of the day (PST). Closing issue.


during the last two weeks your demo (inside your website) does not let me resize images

I can see the arrows but nothing happens if I drag it... The image gets highlighted
Using Chrome: Latest Version
MacBook Air 13in screen
Hope you can fix this soon!!!
Stay safe

I need to update demo, but the resizimg plugin should work :)
The demo is still in 2.19, we are in 2.21 and the 2.21 contains a fix on this :)

Thanks @Alex-D ... I'll take a look at it! I'm very excited about your project


fix(deps): update dependencies

Signed-off-by: Timo Glastra<EMAIL_ADDRESS>BREAKING CHANGE: update AFJ and other dependencies to latest version

Codecov Report

Merging #78 (75fd00a) into main (46c2bda) will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #78      +/-   ##
==========================================
+ Coverage   85.74%   85.77%   +0.03%
==========================================
  Files          27       27
  Lines         463      464       +1
  Branches       78       65      -13
==========================================
+ Hits          397      398       +1
  Misses         66       66

Impacted Files
Coverage Δ

packages/rest/src/server.ts
88.00% <0.00%> (+0.50%)
: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 46c2bda...75fd00a. Read the comment docs.


Camunda on subfolder

Hello.
In the values.yaml file if I write ingress section like this it works
ingress:
  enabled: false
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  hosts:
    - host: camunda-bpm-platform.local
      paths:
        - /

But if I change path to, for example, /bpm it isn't working.
ingress:
  enabled: false
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  hosts:
    - host: camunda-bpm-platform.local
      paths:
        - /bpm

Hi @hodjaev this is not related to the Camunda Platform, it's related to Ingress rewrite.
Try this (this is untested, just from top of my mind, also depends on your ingress version):
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: demo-camunda-bpm-platform
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$1$2
spec:
  rules:
  - host: cambpm.kubernetes.example
    http:
      paths:
      - backend:
          serviceName: demo-camunda-bpm-platform
          servicePort: 8080
        path: /bpm(/|$)(.*)

@aabouzaid, thank you


Feature/redux 2

Overview
Typescriptification of phenyl-redux
I compromised migration some codes by @ts-ignore.

@Naturalclar I finished migration, please review 🙏


update docker image, build it in ci, make the args point to the new v…

in #691 I switched us to use setuptools rather than hatchling, because for some reason pip can't build levanter as a source dependency when I use hatch (grumble grumble), but that broke the docker builds.
This PR fixes docker and, while I'm at it, builds it in CI (I think... gotta wait on merge) and automatically pushes new versions as appropriate. I think this is a good idea?
Fixes #692

try now
On Wed, Aug 14, 2024 at 8:57 PM Ivan Zhou @.***> wrote:

@.**** commented on this pull request.
In docker/tpu/Dockerfile.incremental
https://github.com/stanford-crfm/levanter/pull/693#discussion_r1717845964
:

@@ -1,4 +1,4 @@
-ARG IMAGE=ghcr.io/rjpower/levanter
+ARG IMAGE=ghcr.io/stanford-crfm/levanter-base

I run into this when launching jobs in the shared instance. Is there any
particular step that we need to run to get authorization with
ghcr.io/stanford-crfm/levanter-base?
ERROR: failed to solve: ghcr.io/stanford-crfm/levanter-base:latest: failed to resolve source metadata for ghcr.io/stanford-crfm/levanter-base:latest: failed to authorize: failed to fetch anonymous token: unexpected status from GET request to https://ghcr.io/token?scope=repository%3Astanford-crfm%2Flevanter-base%3Apull&service=ghcr.io: 401 Unauthorized
—
Reply to this email directly, view it on GitHub
https://github.com/stanford-crfm/levanter/pull/693#pullrequestreview-2239588661,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAACLIKI4Z4S3QUQ3SG3CXTZRQRKZAVCNFSM6AAAAABMPT5F62VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMZZGU4DQNRWGE
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

It works now. Thanks! Did you modify the access control on the backend?
On August 14, 2024, GitHub @.***> wrote:

try now

 On Wed, Aug 14, 2024 at 8:57 PM Ivan Zhou @.> wrote:

 > @.* commented on this pull request.
 > ------------------------------
 >
 > In docker/tpu/Dockerfile.incremental
 > <https://github.com/stanford-
crfm/levanter/pull/693#discussion_r1717845964>
 > :
 >
 > > @@ -1,4 +1,4 @@
 > -ARG IMAGE=ghcr.io/rjpower/levanter
 > +ARG IMAGE=ghcr.io/stanford-crfm/levanter-base
 >
 > I run into this when launching jobs in the shared instance. Is
there any
 > particular step that we need to run to get authorization with
 > ghcr.io/stanford-crfm/levanter-base?
 >
 > ERROR: failed to solve: ghcr.io/stanford-crfm/levanter-base:latest:
failed to resolve source metadata for ghcr.io/stanford-crfm/levanter-
base:latest: failed to authorize: failed to fetch anonymous token:
unexpected status from GET request to
https://ghcr.io/token?scope=repository%3Astanford-crfm%2Flevanter-
base%3Apull&service=ghcr.io: 401 Unauthorized
 >
 > —
 > Reply to this email directly, view it on GitHub
 > <https://github.com/stanford-
crfm/levanter/pull/693#pullrequestreview-2239588661>,
 > or unsubscribe
 > <https://github.com/notifications/unsubscribe-
auth/AAACLIKI4Z4S3QUQ3SG3CXTZRQRKZAVCNFSM6AAAAABMPT5F62VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMZZGU4DQNRWGE>
> .
 > You are receiving this because you modified the open/close
state.Message
 > ID: @.>
 >

—
Reply to this email directly, view it on GitHub
<https://github.com/stanford-crfm/levanter/pull/693#issuecomment-
2290575705>, or unsubscribe
<https://github.com/notifications/unsubscribe-
auth/AB5Y7XFQPHWWSALOXM66AHLZRQV3FAVCNFSM6AAAAABMPT5F62VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJQGU3TKNZQGU>.
You are receiving this because your review was requested.Message ID:
@.>

yeah, turns out the docker packages are default private
On Wed, Aug 14, 2024 at 10:22 PM Ivan Zhou @.***> wrote:

It works now. Thanks! Did you modify the access control on the backend?
On August 14, 2024, GitHub @.***> wrote:

try now
On Wed, Aug 14, 2024 at 8:57 PM Ivan Zhou @.***> wrote:

@.**** commented on this pull request.
In docker/tpu/Dockerfile.incremental
<https://github.com/stanford-
crfm/levanter/pull/693#discussion_r1717845964>
:

@@ -1,4 +1,4 @@
-ARG IMAGE=ghcr.io/rjpower/levanter
+ARG IMAGE=ghcr.io/stanford-crfm/levanter-base

I run into this when launching jobs in the shared instance. Is
there any
particular step that we need to run to get authorization with
ghcr.io/stanford-crfm/levanter-base?
ERROR: failed to solve: ghcr.io/stanford-crfm/levanter-base:latest:
failed to resolve source metadata for ghcr.io/stanford-crfm/levanter-
base:latest: failed to authorize: failed to fetch anonymous token:
unexpected status from GET request to
https://ghcr.io/token?scope=repository%3Astanford-crfm%2Flevanter-
base%3Apull&service=ghcr.io: 401 Unauthorized
—
Reply to this email directly, view it on GitHub
<https://github.com/stanford-
crfm/levanter/pull/693#pullrequestreview-2239588661>,
or unsubscribe
<https://github.com/notifications/unsubscribe-

auth/AAACLIKI4Z4S3QUQ3SG3CXTZRQRKZAVCNFSM6AAAAABMPT5F62VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMZZGU4DQNRWGE>

.
You are receiving this because you modified the open/close
state.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
<https://github.com/stanford-crfm/levanter/pull/693#issuecomment-
2290575705>, or unsubscribe
<https://github.com/notifications/unsubscribe-

auth/AB5Y7XFQPHWWSALOXM66AHLZRQV3FAVCNFSM6AAAAABMPT5F62VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJQGU3TKNZQGU>.

You are receiving this because your review was requested.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/stanford-crfm/levanter/pull/693#issuecomment-2290653370,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAACLIPIXGICR3MEVHMBLVLZRQ3HZAVCNFSM6AAAAABMPT5F62VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJQGY2TGMZXGA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Dots navigation component

Feature
Dot navigation component need to operate slideshows or to scroll to different page sections
This component used in ConstructSim project
Examples

Can I make PRs to ITwinUI and iTwinUI-react to move this component?

Hey @alexfrompiter, thanks for reaching out.  @gretanausedaite and I are actively working on a branch that implements something very similar.  Screenshots of what we currently have below:

Would something like this work for you?

Hey @FlyersPh9, I have implemented dots component based on this video:
https://user-images.githubusercontent.com/5772950/141108237-2504e185-b58b-4205-9624-2599743be912.mp4
If you are interested, I can share the code.

@alexfrompiter sure, I'll take a look at your code.

@alexfrompiter This was released in<EMAIL_ADDRESS>and will likely be available in next minor version of @itwin/itwinui-react (i.e. 1.30.0) in a few days.

Hey @alexfrompiter
Carousel and Dots components are available in<EMAIL_ADDRESS>Check usage in here
https://itwin.github.io/iTwinUI-react/?path=/story/core-carousel--basic


Merkle masks per maskable instance, not per Maskable module

The functor to create a Maskable ledger contained a list of mask children. Instead, the children should be associated with created instances.
A way to do that would be to associate the children in the type t for the Maskable -- but that type t comes from the Base ledger and can't be redefined. Instead, the functor contains an assoc list where the maskable instances are the key, and lists of masks are the values.
It would have been simpler to use a hash table than an assoc list, but that requires hash and compare for databases in the Base module. Deriving those didn't seem to work for the database in the test stubs.
Checklist:

[ X ] Tests were added for the new behavior : more accurately, updated to use the new signature for unregister_mask_exn
[ ] All tests pass (CI will check this if you didn't)
[ ] Does this close issues? No.

Changes: Merkle ledgers have a Uuid.t, accessible with get_uuid. Maskable ledger have a list of registered masks, stored in a Uuid.Table.
Also: removed the stack database from various locations. The hash table for the key-value database is now uses a Table for a module (Bigstring_frozen), rather than a polymorphic hash table.


[BUG] File renaming with templater doesn't handle getValue results well

Describe the bug
I'm trying to rename a new note based on modal content but the script throws an error and doesn't insert the template. The console reports a "Template parsing error"—it is a templater error, but based on wording in the documentation for getValue, I would have expected it to work. The documentation on the ResultValue page says about getValue that "By default, the value is rendered as a string…. You don't need to call or do anything special to render the value as a string, just use it as if it was a string.." I'm not totally familiar with Obsidian scripting, but looking at the console, it looks like it is an object that is parsed or rendered as a string in most cases. But here, that isn't the case and the interaction causes problems.
To Reproduce
Steps to reproduce the bug:

Make a templater template that calls the modal form and includes the await tp.file.rename() function after creation. For example,

<%*
const modalForm = app.plugins.plugins.modalforms.api;
const result = await modalForm.openForm('example-form');
-%>
<% await tp.file.rename( result.getValue('name') ) %>

Fill out the form, including the name item, and submit.

Expected behavior

Based on the documentation, I expected the getValue to pass a string to the tp.file.rename command. This is maybe where my understanding isn't correct for how Obsidian handles the getValue objects. If that's the case, it might be helpful to update the documentation for getValue somehow.
Additional context
I found two workarounds to rename the files. First, using the asString function that is mentioned on the main page, but not the ResultsValues page as so:
<% await tp.file.rename(result.asString('{{name}}') ) %>
Second, to coerce the title to be a string:
<% await tp.file.rename( "" + result.getValue('name') ) %>

Happy to see you figured out a workaround. getValue doesn't return a string, it returns an object that can be used in most places a string can, but not all. This is a little javascript trick for convenience,  but it can be confusing if you are not aware of that. The get method will return just the value. As a side note,  thanks to some of the latest updates you can write your workaround shorter like "" + result.name

Thanks for the response. Totally understand that the object being returned is the expected behavior. There are a few different ways to get the string that aren't all that complicated, just have to be aware of it. The property-style access will be a nice update in the new version.

If you have any suggestions about how to make it clearer or easier I will
be happy to discuss them.
El mar, 2 ene 2024, 19:41, Andrew Jackson @.***>
escribió:

Thanks for the response. Totally understand that the object being returned
is the expected behavior. There are a few different ways to get the string
that aren't all that complicated, just have to be aware of it. The
property-style access will be a nice update in the new version.
—
Reply to this email directly, view it on GitHub
https://github.com/danielo515/obsidian-modal-form/issues/187#issuecomment-1874403814,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWKGISEP5A5ZWXRLA4TYMRIDZAVCNFSM6AAAAABBG4JWRSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZUGQYDGOBRGQ
.
You are receiving this because you were assigned.Message ID:
@.***>


Made basic features work over TRAMP

I've been working on making intero work over TRAMP, and this is a possible first chunk of work in that direction. Editing over TRAMP is a regular use case for me, and I discovered intero a few days ago - it looks good! Partial resolution of #303 . Local intero works as before (to the best of my knowledge). Over TRAMP, intero with these changes will

Install intero in the stack environment (if needed)
Run an intero background process
Load files into an intero REPL (including loading the "prompt change script")
Perform goto-definition
Do type at point

company and flycheck integrations don't appear to work at the moment (next things on my list), and everything else goes as untested (and largely unmodified). I thought it best to get feedback on the work so far, for improvements/reworks or for suggestions of a better approach. I've changed calls to create background processes with TRAMP compatibile ones, and then worked through some features to get them to work as expected.
Some details
I pulled out intero-call-process as a TRAMP-safe call-process. Replaced all instances of call-process with this. At the moment it is just another name for process-file, but it might be expanded on later to e.g. provide nix compatibility (or not, but it allows users to override it).
The main complications arises from the fact that emacs needs a TRAMPified path for files, but the intero background process needs a local path. Functions using file paths often need modifying to clarify which kind of file path is needed in each context. I opted to make the TRAMPified path the default for the temporary file buffer-variables, and to provide functions to localise or extend paths by the host they are on, and modify each file path in each context. I couldn't see a nicer way to manage this.
Initially the buffer-file-name provided this information, but the REPL for instance doesn't have a backing file, so I created a new buffer-local variable for the host of the buffers. The REPL buffer has this explicitly set from the buffer it is launched from. Technically this variable is neither "intero global" nor buffer-local - its "project global" - I find making it buffer-local dissatisfactory but I couldn't see a better way - thoughts welcome.
Commit notes:
Made type-at-point, goto definition, and repl work over TRAMP.
intero is installed, and process launched on remote machine. Other features untested at present.
Squash of the following:
Factored out call-process as separate function. Trampified process launcher.
call-process replaced by intero-call-process, which at the moment is just a wrapper for process-file (essentially a tramp aware version of call-process). start-process was replaced by start-process-file which is also tramp aware.
Made intero-make-temp-file work with tramp
intero-make-temp-file now makes temporary files on remote machines if the current buffer contains a file from a remote machine. Functions which use the temporary file don't yet cope with the remote path.
Wrote a localization function for paths
Wrote a function to localize a path to a remote machine (or return the path if not remote). This can be used to by intero to load files on a remote box, but keep the remote part in the temp filename path.
Adjust users of temporary file to relativise for host
The hostname of the temporary file is removed when it used on the remote box, and the host is added when a remote file is referenced from the local machine.
Factored out adding remote to paths
Factored out a small pattern of getting the current buffer's host and pasting in on the front of a path if it is remote, in such a way that emacs will know to feed it to TRAMP.
Got the REPL to work over TRAMP
The REPL buffer needs to know about the host for the project, but it doesn't have a file backing it, so it can't deduce the host from that. I introduced a new buffer-local variable for the host of a buffer, and rewrote the buffer host discovery functions to set this. The REPL buffer has it's buffer-local variable explicitly set, by copying the value from the buffer from which it was created.
The REPL buffer needs this information so it can cd to the correct remote path, and create temporary files in the correct place.
Small tidy
Remove a redundant function. Small simplifications + fixes.
Fixing REPL details
intero-repl-mode cleared buffer local variables, so set the buffer-host variable after intero-repl-mode is called. Wrapped the path sent to cd instead.

A quick review over the code, it looks quite reasonable. I'll go through it in detail tomorrow and give feedback on anything that might be concerning.

A quick review over the code, it looks quite reasonable. I'll go through it in detail tomorrow and give feedback on anything that might be concerning.

I'm going to do a re-indent of the whole file, as you introduced some mis-indentations. Just remember to pull from master before you continue working, to avoid you having boring merge conflicts later.

@rlupton20 I pushed three commits, make sure to pull those before you proceed!

flycheck seems to work for me. Testing on a remote machine! It's not fast over SSH, but it works. Yay! 🎉

Thanks, I'll pull all your changes before continuing. Sorry about the indentation, I should really fix that; my emacs is a little out of whack at times, and I've never properly investigated why.
My flycheck doesn't seem to do anything (yet it works locally). I'll investigate it, since one of the nice things about intero is the out-of-the-box functioning goodness. Glad its working in some cases though!


Add VMTK crash dataset for testing

VMTK can crash in some situations. Here we will add a vessel model to the testing dataset to be able to test this case.

@dalbenzioG, could you add here a reference to the specific vessels dataset we will use for testing and that we discuss last week?

@dalbenzioG, never mind. I found it ;)

I tried, but couldn't reproduce the error with the added test set (3D-IRCADb-01_08.nrrd)
I also tried deleting the label name, but that didn't create an error.

This is now in https://github.com/alive-research/aliveresearchtestingdata/releases/download/SHA256/2e25b8ce2c70cc2e1acd9b3356d0b1291b770274c16fcd0e2a5b69a4587fbf74


this mp4 file can't play correctly by FFmpegInterop

this mp4 file can't play correctly by FFmpegInterop, but this file can be played by most player, inlcude movie&music, potplayer, vlc, windows media player, etc. please help me on it, thanks!
111222.zip

This actually happens on a lot of file formats.
I've noticed that some files have a broken frame or package, and FFMPEG interop simply aborts it. Other players just skip the broken frame and try the next one(s).

Then, do you have any idea can fix it on FFmpegInterop, thanks!

Yes, it should be possible to skip the corrupted samples and keep going on the next ones.

But then comes the question how can we tell if a file has too many broken samples?

And also, how can I know the frame is corrupted?

It is explicitly handled already. There is a conscious choice to send a null sample when encountering a bad frame and that stops playback.
I think it was in MediSampleProvider. I cant check exactly where right now.

The problem for this particular file is that H264AVCSampleProvider::WriteNALPacket fails for not having enough data.
		// Make sure we have enough data 		if (packetSize < (index + 4)) 		{ 			hr = E_FAIL; 			break; 		}
@khouzam, I am not very familiar with this codec, maybe someone else can step in?

Ok, this is strange. I'm not seeing any problem with the samples in that file with the version of FFmpeg that is in the project.
It does have a start time issue, but with the Pull Request #47, the file now starts from the beginning.
With my build of FFmpeg from vcpkg, the FFmpeg MOV parser has issues and fails immediately when trying to do the initial seek. I'll see if this is fixed in a more recent version of FFmpeg.
@tigerwood, can you please try the latest master with FFmpeg set to the submodule revision in the project?
Thanks

@khouzam , are you referring to the FFMPEG version that lies in the project file when you say it is working fine, or you say the latest version of the FFMEPG library (i.e from FFMPEG git) is that better one? I am currently using a version from around may and it fails.

I've tried a few versions.

The current one that is in the ffmpeg submodule in the project. That one had some issues starting but it got fixed with the start offset change #47.
The one that I had built using vcpkg. That failed to play completely, but within FFmpeg, not with the issue that you're seeing.
I updated the ffmpeg submodule to the latest release n3.3.2 (#155) and the file played properly also.

OK. I will update my versions too.

Thanks, please validate your scenarios. I'd like to make sure that things are good and move FFmpeg up to the latest release.

This may take a while...

Ok the while is over.
It works fine with my mid-may FFMPEG version after merging every commit since I last updated this project.

I'm going to close this issue as it looks to have been addressed. Please reopen if this is not working.


Center align header right/left navlinks [desktop]

Currently the links on the right are lower than the left (logo):

Should this be fixed? It would look better
The design is currently not also center aligned:

https://app.zeplin.io/project/5ecaed1b2522d9280f1a4792/screen/5ed0372bafc298bac6778361
@Yu-Alexa-Zhao - this came up in here #1268 . Thoughts? @tejasm2 I think it would look better to have the left (logo) and right nav links center aligned. But this would actually be different than the current design.
It's hard to notice on a large view but at medium size (e.g. half-monitor) it is noticeable and looks a bit wrong.

Yes totally agreed @joshmorel, we should have it center aligned. May be @Yu-Alexa-Zhao can suggest here.

Yes it could be centered!

@joshmorel @tejasm2 @Yu-Alexa-Zhao This is a pretty easy fix. Just add align-items: normal to the .am-navbar-right class.

Hi @kterry1, please consider the border when hovering menu item, the border-bottom should reach to end of header block

I have a solution locally already so I will be submitting this soon.


Update UG

Codecov Report

Merging #249 (02db4ee) into master (8c9d0c1) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #249   +/-   ##
=========================================
  Coverage     77.32%   77.32%
  Complexity      706      706
=========================================
  Files            97       97
  Lines          2227     2227
  Branches        275      275
=========================================
  Hits           1722     1722
  Misses          405      405
  Partials        100      100

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 8c9d0c1...02db4ee. Read the comment docs.


Please add license

It is very good app. I am very impressed.But License is not added.
Please add license.
Preferred License is MIT License.
but other license is OK
I want to improve this app.

@mofas 大大，可以放個 license 嗎？很棒的作品。

Sorry, I don't pay attention to this project for a long time.
I have added the MIT LICENSE to it, thanks for notifying me.
33a6b355cba439977515a0cd2bf0e7320f6c9c89


Is it possible to use new color modification rules in plugin-color?

I have noticed that there are only few color modification rules are defined. I have a scenario where I should be able to change image color to any given Hex Color Code(#800000, #637B80, #F6AE99). I would like to know if it is possible to achieve using jimp?
If yes, how can I go about achieving this?
Thanks

The first one

If you are just changing one solid color to another why not just create a new image?
const image = await Jimp.create(300, 300, '#800000')

@hipstersmoothie I already have images which needs to be changed to different color and saved in a directory. Please chech the attached image.

what would you want the output to look like? like a blue pipe?

For instance, the output image should be in the following colors;

#ff33cc,
#0066ff

I'm not sure i can picture what that would look like. You want jimp to somehow divide up all the colors and only render them those two colors?

Please check this.

The method I described in the linked issue generates this
const Jimp = require('jimp');

test()

async function test() {
  const image = await Jimp.read('./exampleImages/pipe.png');

  image
    .grayscale()
    .color([{ apply: 'mix', params: ['#ff33cc'] }])
    .writeAsync('test.png');
}

Can I please know why are you using  grayscale() on the image?

If you just mix then some other colors get mixed in. just check the result yourself and you will see. Going to greyscale makes the image black and white only so it is easier to mix in just the one color

I want to change watermark text color into orange, but when i used color function it changed image color. how can i do it? any suggestions...


Prefer empty() to size() when quering containers.

Depending on the container, size() might not be O(1). Also empty()
improves readability.
Signed-off-by: Henner Zeller<EMAIL_ADDRESS>

Failure is just clang-tidy complaining about the existing thing (that is fixed already in master)


Add comparison to xonsh

This is a request to add a comparison table or general comparison piece to xonsh.
If you like the idea, should this go in the README?
WDYT

Sure, do you want to submit the change?

I could once I do the research on that.
I don't know zxpy well enough yet. I'd also have to refresh my memory on all of xonsh's features and scope.


Creating ".omnisharp" in user profile when vscode in portable mode

Issue Description
Omnisharp plugin is creating an empty folder named ".omnisharp" in my local user profile even though vscode is configured to run in portable mode off a USB drive.
Steps to Reproduce
Download zip version of vscode and extract it
Create "data" folder in same directory as "code.exe"
Interact with the Omnisharp plugin (anything including opening a workspace that uses it)
Expected Behavior
All vscode data stored in portable "data" folder
Actual Behavior
Omnisharp continues to create a ".omnisharp" folder in my local user profile.
Environment information
VSCode version: 1.43.1
C# Extension: 1.21.14
Dotnet Information
.NET Core SDK (reflecting any global.json):
Version: 3.1.102
Commit: 573d158fea
Runtime Environment:
OS Name: Windows
OS Version: 10.0.18363
OS Platform: Windows
RID: win10-x64
Base Path: C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\sdk\3.1.102\
Host (useful for support):
Version: 3.1.2
Commit: 916b5cba26
.NET Core SDKs installed:
3.0.100 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\sdk]
3.1.102 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.0.0 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.2 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.0.0 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.2 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.2 [C:\Users\rrobertson\AppData\Local\Microsoft\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download

Visual Studio Code Extensions

Extension
Author
Version

csharp
ms-dotnettools
1.21.14

docomment
k--kato
0.1.8

vscode-nuget-package-manager
jmrog
1.1.6

vscode-todo-highlight
wayou
1.0.4

This folder is not created by the VS Code extension but by OmniSharp language server.
So what you are really asking for is some sort of a "portable" mode for the language server component (which it currently doesn't have).
This behavior though really by design, as it uses it for global configuration (and for global configuration only).
It's used not just for VS Code but shared by all other extensions for all editors.
If you run Omnisharp extension for VIM or for Emacs, it would create the same folder at the exact same location (unless it was already there).
You can change the location of that folder by setting environment variable OMNISHARPHOME with a relevant path.

All vscode data stored in portable "data" folder

This would make no sense in this case, because as mentioned the goal of that folder is to share settings beyond VS Code and with other editors.

Well I guess the bug can be closed on this repo but I guess I'll "fix" it by running code.exe via batch file with that environment variable set so I can move that folder to my USB drive.


Report a problem doc is out of date

I am looking at How to report a problem.
The screenshots and the flow is out of date.
Also, consider documenting the scenario on how to collect dump when VS has crashed.

@TerryGLee can you look at this? Maybe we can fix the SEO issue at the same time.

Thanks for reporting this, @karann-msft. We should have the screenshots updated soon (at the latest, by Monday 11/6).

We've updated the screenshots on this page to reflect the latest UI:
https://docs.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio-2017  Thanks again for letting us know.

That's awesome! Thanks Terry!


Feature: AGGrid - CSS and Styling

Description
This PR extends https://github.com/mckinsey/vizro/pull/260 to include styling. It is kept separate in order to keep PRs small.
The target designs can be found below:

Open tasks

[x] Left align left most column
[x] Change the sorting icon similar to designs
[ ] Change the sorting icon to exactly the designs
[ ] Design the potential sorting/filtering pop-ups
[ ] Fix the slight mismatch of header and design header on hover
[ ] Create distinction between unselected, hover and selected header
[ ] (hard) Create the column gaps as per designs
[ ] Right align numerical columns automatically

Screenshot
Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorized to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorized by the Apache 2.0 license does not violate the intellectual property rights of anyone else.
I have not referenced individuals, products or companies in any commits, directly or indirectly.
I have not added data or restricted code in any commits, directly or indirectly.

Hi @maxschulz-COL
Just a heads up that AG Grid supports creating an entirely new theme using Figma.  You can find more information here:  https://ag-grid.com/react-data-grid/ag-grid-design-system/
Alternately, you can get a long way by starting with the ag-theme-alpine and customizing the selectors needed to match the theme.
For example, here are the selectors I use to style the grid for light and dark mode in any Bootstra theme.
.dbc-ag-grid .ag-theme-alpine {
  --ag-alpine-active-color: var(--bs-primary);
  --ag-selected-row-background-color: rgba(var(--bs-primary-rgb), 0.3);
  --ag-row-hover-color: rgba(var(--bs-primary-rgb), 0.1);
  --ag-column-hover-color: rgba(var(--bs-primary-rgb), 0.1);
  --ag-input-focus-border-color: rgba(var(--bs-primary-rgb), 0.4);
  --ag-range-selection-background-color: rgba(var(--bs-primary-rgb), 0.2);
  --ag-range-selection-background-color-2: rgba(var(--bs-primary-rgb), 0.36);
  --ag-range-selection-background-color-3: rgba(var(--bs-primary-rgb), 0.49);
  --ag-range-selection-background-color-4: rgba(var(--bs-primary-rgb), 0.59);
  --ag-background-color: var(--bs-body-bg);
  --ag-foreground-color: var(--bs-body-color);
  --ag-border-color:  rgba(173,181,189, 0.40);
  --ag-cell-horizontal-border:  rgba(173,181,189, 0.20);
  --ag-secondary-border-color:  rgba(173,181,189, 0.20);
  --ag-header-background-color:  rgba(173,181,189, 0.20);
  --ag-odd-row-background-color:  rgba(173,181,189, 0.05);
  --ag-control-panel-background-color: var(--bs-body-bg);
  --ag-subheader-background-color:  var(--bs-body-bg);
  --ag-invalid-color: var(--bs-form-invalid-color);
  --ag-font-family: var(--bs-font-family);
  --ag-tooltip-background-color: var(--bs-gray-400);
}

Here is a start with some Vizro variables to make it work in light and dark:

 .ag-theme-alpine.vizro {
  --ag-background-color: var(--main-container-bg-color);
  --ag-foreground-color: var(--text-primary);
  --ag-border-color:  var(--main-container-bg-color);
  --ag-cell-horizontal-border:  var(--border-subtle-alpha-01);
  --ag-secondary-border-color:  var(--border-subtle-alpha-01);
  --ag-header-background-color:  var(--main-container-bg-color);
  --ag-odd-row-background-color:  var(--main-container-bg-color);
  --ag-control-panel-background-color: var(--main-container-bg-color);
  --ag-subheader-background-color:  var(--main-container-bg-color);
  --ag-row-height: 40px;
  --ag-header-height: 30px;
}

.ag-theme-alpine .ag-header {
    border-bottom: 1px solid var(--border-subtle-alpha-01);
}

Note that the className on the  AG Grid component needs to include the base theme (Alpine) like this:
def dash_ag_grid(data_frame=None, **kwargs):
    """Custom AgGrid."""
    return dag.AgGrid(
        className= "ag-theme-alpine vizro",
        rowData=data_frame.to_dict("records"),
       # columnDefs=[{"field": col} for col in data_frame.columns],    Needs to be set as a default prop like in DataTable
        **kwargs
    )

Also, if you would like to change the demo app to use the grid instead of DataTable, here is how to add the conditional formatting and the number formatting:
cellStyle = {
        "styleConditions": [
            {
                "condition": "params.value < 1045",
                "style": {"backgroundColor": "#ff9222"},
            },
            {
                "condition": "params.value >= 1045 && params.value <= 4095",
                "style": {"backgroundColor": "#de9e75"},
            },
            {
                "condition": "params.value > 4095 && params.value <= 12695",
                "style": {"backgroundColor": "#aaa9ba"},
            },
            {
                "condition": "params.value > 12695",
                "style": {"backgroundColor": "#00b4ff"},
            },
        ]
    }

    columnDefs = [
        {"field": "country"},
        {"field": "continent"},
        {"field": "year"},
        {
            "field": "lifeExp",
            "type": "rightAligned",
            "valueFormatter": {"function": "d3.format('.1f')(params.value)"},
        },
        {
            "field": "gdpPercap",
            "type": "rightAligned",
            "valueFormatter": {"function": "d3.format('$,.1f')(params.value)"},
            "cellStyle": cellStyle
        },
        {
            "field": "pop",
            "type": "rightAligned",
            "valueFormatter": {"function": "d3.format(',.0f')(params.value)"},
        },
    ]

    page_country = vm.Page(
        title="Benchmark Analysis",
        # description="Discovering how the metrics differ for each country and export data for further investigation",
        # layout=vm.Layout(grid=[[0, 1]] * 5 + [[2, -1]], col_gap="32px", row_gap="60px"),
        components=[
            vm.Table(
                id="table_country_new",
                title="Click on a cell in country column:",
                figure=dash_ag_grid(
                    id="dash_ag_grid_country",
                    data_frame=df,
                    columnDefs=columnDefs,
                    defaultColDef={"resizable": True, "sortable": True},
                    columnSize="sizeToFit",
                ),
                actions=[vm.Action(function=filter_interaction(targets=["line_country"]))],
            ),

Open tasks -- here are some links that might be helpful:

creating custom icons:  https://dash.plotly.com/dash-ag-grid/custom-icons-global
right align number columns - this will be much easier in the next release (coming soon!) with the new feature of Cell Data Types

Hi @maxschulz-COL
Just a heads up that AG Grid supports creating an entirely new theme using Figma. You can find more information here: https://ag-grid.com/react-data-grid/ag-grid-design-system/

Amazing, this should be the approach for our designer once we have the development capacity for it. I will pass it on!

Alternately, you can get a long way by starting with the ag-theme-alpine and customizing the selectors needed to match the theme.

Thanks for the approach, I will also look into this one. In the docs there was the mention

If your desired look and feel is very different from the provided theme, at some point it becomes easier to start from scratch

so we opted for a new theme. Do you think that is pushing it too far?

so we opted for a new theme. Do you think that is pushing it too far?

Haha - yes.  Creating an entirely new theme is certainly possible, and might be easy if you have phd in CSS :sweat_smile: .  But seriously, if that's what you want to do, then the Figma process might be the way to go.
There is a lot of CSS necessary to make the grid function correctly, and I think the design you posted would be achievable by customizing  the Alpine theme  (except for the column gap in the borders - I have no clue how you would do that).

so we opted for a new theme. Do you think that is pushing it too far?

Haha - yes. Creating an entirely new theme is certainly possible, and might be easy if you have phd in CSS 😅 . But seriously, if that's what you want to do, then the Figma process might be the way to go.
There is a lot of CSS necessary to make the grid function correctly, and I think the design you posted would be achievable by customizing the Alpine theme (except for the column gap in the borders - I have no clue how you would do that).

@huong-li-nguyen Shall we revert from the new theme then and try to adjust the existing alpine theme?

There is a lot of CSS necessary to make the grid function correctly, and I think the design you posted would be achievable by customizing the Alpine theme (except for the column gap in the borders - I have no clue how you would do that).

@AnnMarieW That seems a convincing argument to not create our own theme. Didn't know that the functionality was also being compromised. Will definitely look into this

There is a lot of CSS necessary to make the grid function correctly, and I think the design you posted would be achievable by customizing the Alpine theme (except for the column gap in the borders - I have no clue how you would do that).

@AnnMarieW That seems a convincing argument to not create our own theme. Didn't know that the functionality was also being compromised. Will definitely look into this

@huong-li-nguyen @AnnMarieW I have based the design on the alpine theme now - works well and has the added benefit that previously not designed elements such as the filter fly out look better now 💪


hipSYCL installation: cannot find CUDA installation.

Hi!
I have an installation problem with hipSYCL.
On my linux popos machine I have:

Cuda compilation tools, release 11.0, V11.0.221
Ubuntu clang version 11.0.0-2
gcc (GCC) 10.2.0

I can compile cuda apps both with gcc and clang. For example:
$ clang++ app.cu -o app --cuda-gpu-arch=sm_75     -lcudart_static -ldl -lrt -pthread
I installed hipSYCL from the git repo, no issues. But when I tried to compile the included code example  hipSYCL/examples/bruteforce_nbody
$ syclcc -O3 --hipsycl-targets='cuda:sm_75' bruteforce_nbody.cpp
... I get:
clang: error: cannot find libdevice for sm_75. Provide path to different CUDA installation via --cuda-path, or pass -nocudalib to build without linking with libdevice.
nvcc is installed in /usr/local/bin. I tried different syclcc options, but without any success. What do I miss?
Thanks a lot in advance!
Alexander.

I can compile cuda apps both with gcc and clang. For example:

I don't understand what you mean. GCC doesn't support CUDA compilation on its own - you can only use it as host compiler for nvcc, which is something completely different.
Please post the output of the syclcc compilation command with the environment variable setting HIPSYCL_DRYRUN=1. Please also post the output of find /path/to/hipsycl/installation/lib.

I don't understand what you mean.
I can build gpu programs with nvcc, and nvcc uses gcc.

Please post the output
$ syclcc -O3 --hipsycl-targets='cuda:sm_75' bruteforce_nbody.cpp
/usr/lib/llvm-11/bin/clang++ -I/usr/local/bin/../include/ -D__HIPSYCL__ -std=c++17 -x cuda --cuda-path=/usr -D__HIPSYCL_ENABLE_CUDA_TARGET__ -fplugin=/usr/local/bin/../lib/libhipSYCL_clang.so -D__HIPSYCL_CLANG__ -U__FLOAT128__ -U__SIZEOF_FLOAT128__ --cuda-gpu-arch=sm_75 -D__HIPSYCL_ENABLE_OMPHOST_TARGET__ -I/usr/include -O3 bruteforce_nbody.cpp -L/usr/local/bin/../lib/ -lhipSYCL-rt -Wl,-rpath=/usr/local/bin/../lib/ -Wl,-rpath=/usr/lib64 -L/usr/lib64 -lcudart -L/lib -lboost_context -lboost_fiber -lomp -Wl,-rpath=/lib

I can build gpu programs with nvcc, and nvcc uses gcc.

Only the host compilation is done by gcc in that case. This is something entirely different. In any case nvcc is not relevant here. We use clang to compile CUDA, which can compile CUDA itself without nvcc. So, you need to make sure that clang can compile CUDA code without nvcc.
Please read https://www.llvm.org/docs/CompileCudaWithLLVM.html and make sure you meet the prerequisites mentioned there. I see from your syclcc output that you have installed CUDA to prefix /usr. Note that the clang documentation states:

Before you build CUDA code, you’ll need to have installed the CUDA SDK. See NVIDIA’s CUDA installation guide for details. Note that clang maynot support the CUDA toolkit as installed by some Linux package managers. Clang does attempt to deal with specific details of CUDA installation on a handful of common Linux distributions, but in general the most reliable way to make it work is to install CUDA in a single directory from NVIDIA’s .run package

Closing due to inactivity/lack of feedback.


WIP: feat: Add base for the route diagram

This is a WIP for the route diagram based on reactflow+dagre.
What's missing:

fixed styling, currently styles are all over the place, that needs to be seriously polished
attributes for each node

current screenshot:

@tadayosi I think I fixed all of the issues, also updated a style to look more representative (Still some issues though)

I also added simple tests that validates parsing from the service. I think we can merge it in this state if you agree.
Next I will implement route statistics (on hover and in the right top corner).


Implement Bing Spark Streaming Connector

This is more of a placeholder at the moment, as we should have an internal discussion on how Fortis can leverage some of the latest features in Bing to improve the data quality of Fortis.

Erik said he's looking into this.

The implementation is complete and the documentation in the readme is up to date


Reference variable group entries directly (#5956)

Eliminates one layer of indirection.
Of note: there is no standard template for naming variables at the time of this PR. This means that the Event Hubs names look different from the others. This is an area where we could provide some additional guidance to keep names more consistent.

There were 2 force pushes here:

Rebasing revealed a strange naming of SERVICE_BUS_CONNECTION_STRING (it was AZ_SERVICE_BUS_CONNECTION)
Another push to fix the rebase issue to make sure the connection string is SERVICE_BUS_CONNECTION_STRING


Resume remote participant video when app going background to foreground

I am developing a android app with video calling features using livekit android sdk.
I am wonder if I know that how can i resume my app with running remote participant video.
Created incoming and outgoing calls notification, when user accept the call, I am generating an ongoing notification. If i click on ongoing call notification my video call should be resume. even I am putting my app in background using home and pick from recent. In this case local video working fine but remote video going freeze until I turn off/on from remote side.
I tried to manage video track with enable, but didn't achieved to resume remote video.
videoCallViewModel.remoteParticipant?.let {
it.getTrackPublication(Track.Source.CAMERA)?.let { pub ->
Timber.d { "Remote ${pub.track?.rtcTrack?.enabled()}" }
pub.track?.let { track -> attachRemoteVideo(track as VideoTrack) }
}
}
is there any method or trick to resume remote video when user come again on video call screen?

@mithunvaghela facing the similar problem . Did you find any solution?

@mithunvaghela facing the similar problem . Did you find any solution?

Hi @roshanaryal to resolve this issue I have resume and pause the remote video and that solution working fine form e, please check this solution.
Activity state
`override fun onResume() {
super.onResume()
Timber.d { "onResume" }
if (args.isCallOnGoing()) videoCallViewModel.resumeRemoteVideoTrack()
}
override fun onPause() {
    super.onPause()
    Timber.d { "onPause" }
    if (args.isCallOnGoing()) {
        videoCallViewModel.pauseRemoteVideoTrack()
    }
}`

ViewModel methods
`fun resumeRemoteVideoTrack() {
viewModelScope.launch {
val videoTrack = remoteParticipant?.let { return@let getVideoTrack(it) }
videoTrack?.start()
mutableRemoteVideoTrack.postValue(videoTrack)
}
}
fun pauseRemoteVideoTrack() {
    viewModelScope.launch {
        val videoTrack = remoteParticipant?.let { return@let getVideoTrack(it) }
        videoTrack?.stop()
        mutableRemoteVideoTrack.postValue(videoTrack)
    }
}

private fun getVideoTrack(participant: Participant): VideoTrack? {
    return participant.getTrackPublication(Track.Source.CAMERA)?.track as? VideoTrack
}

`
Hope this solution will work for you as well. :)

By any chance are you folks using VideoRenderer or just using the SurfaceViewRenderer/TextureViewRenderer directly?

@davidliu I am using TextureViewRenderer directly in xml . i am using participant in recyclerview , if i notifydatasetchanged on activity resume ,  video will resume otherwise it will freeze.

I'm not able to repro this. Could you upload a small example project that repros this?

If you have some kind of timer running there and if that is updating text in every second or short interval...after pausing ...and resuming the screen video will not render automatically.
`private var liveStreamTimerUpdatingJob: Timer? = null
private fun updateCreationTimer() {
liveStreamTimerUpdatingJob?.cancel()
liveStreamTimerUpdatingJob = null
liveStreamTimerUpdatingJob = Timer()
updateTimerText()
}
private fun updateTimerText() {
liveStreamTimerUpdatingJob?.scheduleAtFixedRate(
object :TimerTask(){
override fun run() {
val elapsedTime = System.currentTimeMillis() - jyotishItem.creationTime
mutableTimerText.postValue(TimerUtils.getFormattedTime(elapsedTime))
}
        },1000,1000)

}

 viewModel.timerText.observe(this) {
binding.timerText.text = it
}`
I am using timer like this  when i update text with this timer video rendering problem will occor on resume.


Is there a way to run JDeodrant through Commandline? "help wanted"

I have been going through the codebase, and could not find a way that could help me just identify the code smell by running it through the command-line for my repos without importing them to eclipse. I found the Standalone.java class but it still requires my project to be in workspace. Is there a workaround for this? Thanks in advance.

JDeodorant depends on Eclipse JDT for AST parsing and binding resolution.
As a result, the analyzed project has to be in a workspace.
We have developed a separate project that can programmatically convert your projects into Eclipse projects and run JDeodorant in headless mode without opening Eclipse.
You can find more details in the following link:
http://users.encs.concordia.ca/~nikolaos/jdeodorant/index.php?option=com_content&view=article&id=87:how-can-i-execute-jdeodorant-in-headless-mode&catid=27:installation-questions&Itemid=41

I tried with the headless plugin several times and getting errors:
!ENTRY org.eclipse.osgi 2 0 2015-09-06 12:12:01.222
!MESSAGE eclipse.commandline.Application cannot be found by eclipse.commandline_<IP_ADDRESS>509061201
!STACK 0
java.lang.ClassNotFoundException: eclipse.commandline.Application cannot be found by eclipse.commandline_<IP_ADDRESS>509061201
Stacktrace...
!ENTRY org.eclipse.osgi 4 0 2015-09-06 12:12:01.251
!MESSAGE Application error
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in eclipse.commandline was unable to load class eclipse.commandline.Application.
Stacktrace...
Running on MacOS, with Eclipse Mars version 4.5. Please help

What happens when you run the headless plug-in from within Eclipse?
(i.e., when you click on Run after step 8 of the guide, before making the command line version)
I have tested the headless plug-in on Windows and Linux, but not MacOS

After the step 8, I tried with the next four steps of exporting the jar, and executing the plugin.  I have never developed an eclipse plugin and hence unable to debug.
http://pastebin.com/LmHXUhK2
I went through the code as well to grab the essential piece which I need. May I know what part of code detects smells? Say I want to detect FeatureEnvy in a set of classes then which classes in codebase should I go through? Thanks for your precious time.

When running from eclipse, I get lots of stacktraces, again.
http://pastebin.com/zM3Z1xMn

From the stacktrace it looks that you are missing many resource bundles in your configuration.
Please go to the Plug-ins tab of the Lauch configuration (step 7 of the tutorial) and select
Launch with: "all workspace and enabled target plug-ins"
If everything goes well after this change, you should see some output printed in the console by JDeodorant for the projects that are open in the workspace you specified in the Main tab.

Getting this error on Running The Jdeodorant in headless mode on Windows system.
http://pastebin.com/WFCrKkHR
Running on Eclipse.Mars with jre 1.8


memory leak

such simple code leaks memory. i tried to debug where the memory goes, but found no conclusive answer. version used: eeae4b9
Propel::disableInstancePooling();
$books = BooksQuery::create()->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)
echo "Found: ", $books->count(), " rows\n";

foreach ($books as $book) {
  $mem = memory_get_usage();
  $res = ReferenceQuery::create()->filterByExternalSystemId($book->getId());
  $has = $res->count() > 0;

  $mem = memory_get_usage() - $mem;
  echo "DIFF: $mem\n";
  unset($book);
}

Fixed in https://github.com/propelorm/Propel2/commit/56dbd1ce9c7c9b600e7c33207d5bf1932c9d771c

cool. awesome


Potential error(e.g. deadlock, ill performance) due to the unreleased lock

Dear developers:
Thank you for your checking. In the method test_sec_cipher_async, the lock &test_sec_mutex maybe not be released correctly when the control flow goes to the else if branch and go to out, bypassing the unreleased lock.
https://github.com/Linaro/uadk/blob/41313cde5977b4316cb3403175b68f2e8d13f1f9/test/hisi_sec_test/test_hisi_sec.c#L1055
https://github.com/Linaro/uadk/blob/41313cde5977b4316cb3403175b68f2e8d13f1f9/test/hisi_sec_test/test_hisi_sec.c#L1064
static int test_sec_cipher_async(void *arg)
{
	...;
	pthread_mutex_lock(&test_sec_mutex);
	...;
	do {
try_do_again:
		ret = wd_do_cipher_async(h_sess, req);
		if (ret == -EBUSY) { // busy
			usleep(100);
			goto try_do_again;
		} else if (ret) {
			SEC_TST_PRT("test sec cipher send req is error!\n");
			goto out;   // bypass the unlock, leading to unreleased lock
		}
		cnt--;
	} while (cnt);
	pthread_mutex_unlock(&test_sec_mutex);
	...;
out:
	if (h_sess)
		wd_cipher_free_sess(h_sess);

	return ret;
}

Best,

@Liulongfang Longfang, could you help to check this? Thanks

Hi, developers @Liulongfang
Any comments would be highly appreciated. Thank you.
Best Regards,

Fixed in https://github.com/Linaro/uadk/pull/350

@hzhuang1 Thank you!


feat(tracked-periods) resp ratelimiting persist only tracked periods

Summary
Plugin response-ratelimiting persist in database each calls value for all following periods : second, minute, hour, day, month, year.
For minimize database size impact, only persist tracked periods. Take all limits and track only periods which have a limit.
Full changelog

Response ratelimiting plugin now persist only tracked periods

Issues resolved
Fix https://github.com/Kong/kong/issues/6413

 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.Simon seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@Simarn Yay, thanks for this! I retargeted your PR to Kong's next branch, where we put new features. Can you run the following locally to update your PR?
git checkout next
git pull
git checkout feat/response-ratelimiting-tracked-period
git rebase next
git push --force

@hishamhm I follow your suggests, rebase on next and sign CLA. Tests failed seems to be not linked with developments.

@Simarn I went ahead and rebased this to latest next and force pushed it. Let's see if we get tests green.

@bungle rebase works, all tests are fixed.

Hello there, anything blocking the merge of this PR?

@Simarn Are you still interested in getting this to the finish line?

@hbagdi yes i do. This PR is still waiting an approving review, anything blocking this pr?


Encapsulate feedbackToUser in CommandResult class

Ready to review.

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


libcxx 15.0.0.rc2

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) and found it was in an excellent condition.

Sounds like this is running into https://github.com/llvm/llvm-project/commit/21f73d5826fb5024a27eaacafadfa316f58949c5

@isuruf
I fear the old build scripts might be reaching the end of their applicability. Upstream has now completely removed the ability to do standalone builds:

Support for standalone builds have been entirely removed from libc++, libc++abi and libunwind.

I don't know why we need(ed) to build libcxxabi separately, so while I'm able to move to the new build instructions, I don't know what aspects we need to achieve for continuity.

Ping @isuruf; can we move to a single build for libcxx+libcxxabi here?

Ping @isuruf; rc3 was just released and if possible I'd like to try building the whole stack before GA.

Can you move this to a single build? We can assess after that is done if it does the same thing we had before.


Removed duplicate paragraph

Removed duplicate paragraph from documentation

@rostyslav-diakiv : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Fixed #40554

Correction confirmed. Thanks.


Improve overload resolution

http://stackoverflow.com/documentation/c%23/24/c-sharp-6-0-features/505/improved-overload-resolution
Following snippet shows an example of passing a method group (as opposed to a lambda) when a delegate is expected. Overload resolution will now resolve this instead of raising an ambiguous overload error due to the ability of C# 6 to check the return type of the method that was passed.
using System;
public class Program
{
    public static void Main()
    {
        Overloaded(DoSomething);
    }

    static void Overloaded(Action action)
    {
       Console.WriteLine("overload with action called");
    }

    static void Overloaded(Func<int> function)
    {
       Console.WriteLine("overload with Func<int> called");
    }

    static int DoSomething()
    {
        Console.WriteLine(0);
        return 0;
    }
}

Output in C#6:
overload with Func<int> called

Output in C#5:
error CS0121: The call is ambiguous between the following methods or properties: 'Program.Overloaded(System.Action)' and 'Program.Overloaded(System.Func)'

C# 6 can also handle well the following case of exact matching for lambda expressions which would have resulted in an error in C# 5.
using System;

class Program
{
    static void Foo(Func<Func<long>> func) {}
    static void Foo(Func<Func<int>> func) {}

    static void Main()
    {
        Foo(() => () => 7);
    }
}

Related #1435


Re-import just erases annotation

Hi, total noob for Obsidian and Zotero, but I really liked how you organized your template. However, I can't get it to re-import annotations. When I initially import, it creates a new note and populates it perfectly with everything.  When I re-import with the note already created, it will delete everything after the persisted section and does not have any annotations. If I delete the note and try importing again it will work once again. I have tested with other templates and those re-imported fine.
Thank you for your time.

@demonicworm I had the same issue. It appears to be a problem with tracking the last import date. Can you try removing the "filter" part on the following line of the template?
{#- SET CUSTOM ANNOTATION COLORS -#} {%- set newAnnot = [] -%} {%- set newAnnotations = [] -%} {%- set annotations = annotations | filterby("date", "dateafter", lastImportDate) %}


Support public signing in private repositories

We have a private repository but distribute our binaries publicly.
We would like for people to be able to validate the attestations of these binaries via the public good sigstore instances. There does not appear to be a way to push to the public good store from a private repository.

@gartnera you are correct, there is currently no supported way to attest artifacts built from private repos using the public-good Sigstore. When using the official attestation actions, private repo artifacts will always be attested using the GitHub Sigstore instance.
This ensures that sensitive data from private repositories doesn't end up on the public Sigstore transparency logs.
However, if you wanted to distribute the attestation bundles for your artifacts to your customers, they would be able to verify the attestation in the same way they would if it had been signed by public-good Sigstore. Clients would not be able to retrieve attestations directly from the GitHub attestations API without being given explicit permission to do so on your private repo, but if you wanted to distribute the attestations through some other channel everything should just work.
Worth noting that one of the primary benefits of attesting your artifacts is to provide traceability to how/where that artifact was built. If you're publishing attestations for artifacts which were built from a private repository, you're losing a good chunk of the value the attestation provides.
One work-around you could consider is to move your attestation workflow to a public repository that is triggered when the build on your private repo is complete.

Ok so we just need to distribute the attestation bundles with the binaries, use the github trusted root (?), and disable transparency log verification.

Worth noting that one of the primary benefits of attesting your artifacts is to provide traceability to how/where that artifact was built. If you're publishing attestations for artifacts which were built from a private repository, you're losing a good chunk of the value the attestation provides.

I think there is still substantial value in proving that the binary was built on a trusted CI system with a specific commit hash. We have some third party auditors who publish their audit reports with a specific commit hash.

Assuming you're using the gh CLI to do your verification, everything should just work -- the CLI will look at the issuer of the certificate and determine the correct verification strategy (selecting the appropriate trusted root, enabling/disabling tlog verification, etc).
Here's an example of verification using a local attestation bundle:
$ gh attestation verify \
  oci://ghcr.io/bdehamer/memcached@sha256:24f3a0cf2e81f7e3cbfd4a736acf33c778991181afbacb2cc75fc665d3147647 \
  --owner bdehamer \
  --bundle ~/Downloads/attestation.sigstore.json

Loaded digest sha256:24f3a0cf2e81f7e3cbfd4a736acf33c778991181afbacb2cc75fc665d3147647 for oci://ghcr.io/bdehamer/memcached@sha256:24f3a0cf2e81f7e3cbfd4a736acf33c778991181afbacb2cc75fc665d3147647
Loaded 1 attestation from /Users/bdehamer/Downloads/bdehamer-attest-demo-attestation-1332394.sigstore.json
✓ Verification succeeded!

sha256:24f3a0cf2e81f7e3cbfd4a736acf33c778991181afbacb2cc75fc665d3147647 was attested by:
REPO                  PREDICATE_TYPE                  WORKFLOW
bdehamer/attest-demo  https://slsa.dev/provenance/v1  .github/workflows/memcached.yml@refs/heads/main

Just a +1 to being able to use the public good infra even on private repos. I understand the data we're leaking, and we think it is pretty much fine -- and that each team would need to decide for themselves.
Maybe it could work if there was a good documented set of repos, which had an attestation from the private side be validated on the public side, then was re-attested?

When designing this feature, we envisioned that most users would be deploying privately built binaries into privately controlled environments and we weren't sure how to adequately support this use case (private repo -> publicly distributed binaries). As a result, we decided to err on the side of maximizing privacy assurances. Private repo -> private attestation.
Using the public sigstore infrastructure doesn't buy you a ton since there is at present no easy paved path for verifying our attestations; you still need to distribute attestations to your end users.
@grahamc @gartnera I'd love to understand more about your use cases. How are you distributing your built artifacts? How are your end-users meant to deploy them? How are your end-users meant to verify them?
In the meantime, the following scenario could be an effective workaround:

build your artifact as normal in example/private-repo
host the built artifact as releases in example/public-repo
have an Actions workflow in example/public-repo that:

pulls the artifact, and verifies the authenticity of the artifact: gh verify -R example/private-repo foo.bin
if the verification succeeds, attest it from the public-repo

This way your users will be able to verify your artifact via:
gh verify -o example foo.bin
Hope that helps,


pudding logo link isn't working at top

pretty sure russell knows the fix for this—had this problem on kimchi too

https://github.com/the-pudding/kimchi/blob/main/src/components/Header.svelte#L7


Add auparse package for parsing Linux audit logs

Features

Parse the saddr field of SOCKADDR messages to extract ipv4/6 addresses
and unix socket paths.
Translate arch to human readable arch via lookup.
Translate syscall number to name.
Translate certain hex encoded values to ASCII.

There is an example in the examples directory that parses log files.

Add an ExampleParseLogLine() test function so that there is a parsed event example in the godocs.


HIVE-27749: SchemaTool initSchema fails on Mariadb 10.2

What changes were proposed in this pull request?

HIVE-27749: SchemaTool initSchema fails on Mariadb 10.2
Why are the changes needed?

initSchema fails on MariaDB.
Does this PR introduce any user-facing change?

No
Is the change a dependency upgrade?

No
How was this patch tested?

On a MariaDB SQL environment.

Hi, I understand that we don't expect other value for NNI_ID than 1. But I have some second thoughts about this change: Firstly, the original logic provided a default value. Now, If I understand it correctly, we change it to enforcing 1. But we only enforce it in case the customer uses MariaDb.
I see two painful points in that: Firstly, it can surprise us in a future, if we want to change how notification is working.
Secondly, we are creating different Metastore schema for Mariadb and other databases. I think we should target consistency when we support multiple database providers.

@InvisibleProgrammer Thanks for the comment. I have seen this behaviour wherein the NOTIFICATION_SEQUENCE table had multiple records and this pretty much messed up the notification log functionality which can spiral into an ugly situation in Hive clusters with an ugly workaround (deleting the record manually in this table). As a long term solution, I had added the one-row constraint on the NOTIFICATION_SEQUENCE table in HIVE-26324. Unfortunately, one solution on MySQL didn't work on the MariaDB database. Hence I am making it consistent in this PR.

@InvisibleProgrammer Thanks for the comment. I have seen this behaviour wherein the NOTIFICATION_SEQUENCE table had multiple records and this pretty much messed up the notification log functionality which can spiral into an ugly situation in Hive clusters with an ugly workaround (deleting the record manually in this table). As a long term solution, I had added the one-row constraint on the NOTIFICATION_SEQUENCE table in HIVE-26324. Unfortunately, one solution on MySQL didn't work on the MariaDB database. Hence I am making it consistent in this PR.

Got it, thx.

@SourabhBadhya, have you checked if that syntax is compliant with all Hive supported versions of mariaDb and MySQL?

@deniskuzZ This syntax is supported by MySQL 8.0+ and MariaDB 10.2+. Any versions prior to this has effectively been declared End of Life (EOL) already.


How to Setup Two Adapters

Hi, I wanted to use flipper-active_record for storage, but flipper-redis for caching. Is there a way to do this in Rails? The documentation is a bit confusing because I'm not sure when is done for you, especially with version 0.21, and what must be done on our own to enable storage, preloading, memoization and caching.
I've had several questions that I haven't been able to find the answers to in the docs or issues.

When do I use config.default versus config.adapter?
Do I need to state config.adapter twice if I have two adapters I am using?
How do I independently specify an adapter for storage and an adapter for caching?
When do I need to manually include Memoizer in the middleware versus when is it already included? Some docs say to manually include while the docs around 0.21 say it is done automatically?

Edit: Adding another question
5. Is this middleware (https://github.com/jnunemaker/flipper/blob/master/docs/Optimization.md#advanced) automatically added in rails in the latest version of the gem or does it need to happen manually to implement memoization?
Thanks!

use config.default if you want to customize the DSL instance (say with instrumentation). Use config.adapter if you want to customize only the adapter (say with caching).
Nope. Once is enough. Just use initialize the cache adapter with the underlying storage adapter.
There is no distinction currently. All cache adapters initialize with some other adapter that they are to wrap caching around. @bkeepers is hoping to add an explicit config.cache or something like that for allowing this automatically (eventually).
0.21 does it automatically for Rails apps. You only need to if you aren't using Rails or are on an older version.
It is automatic for rails. You can forget about it. :)

See the redis cache docs for a good example and/or below.
require 'flipper/adapters/redis_cache'

Flipper.configure do |config|
  config.adapter do
    redis = Redis.new(url: ENV['REDIS_URL']) # or whatever
    ttl = 4800
    Flipper::Adapters::RedisCache.new(Flipper::Adapters::ActiveRecord.new, redis, ttl)
  end
end

Let me know if that doesn't clear things up for you or if I can help with anything else. ✨


Fix dict filter by removing items

Fix the function filter!() by removing items(d)

This should fix #226

@tkelman Could you please help with code review?

The Appveyor build fails because of this. There needs to be an @compat there for all the UInt8's. But I'm curious about why Appveyor checks against v0.3 while Travis checks against v0.4

The .travis.yml file here is still using the PPA for installing Julia, which does not make it very easy to install 0.3 any more. You can't use multiple language: settings, and it's a little more effort to install specific versions of Python than it is specific versions of Julia. The Travis file could be reformatted to download the generic Linux binaries (and osx dmg installers if osx is running) instead of the PPA to restore testing against 0.3.

I see. Maybe I should modify Travis to do pull the v0.3 binaries and send a separate PR. Also, the above commit fixes #228

Doing for (k,v) in d uses the dictionary iterator, which calls PyDict_Next.  The documentation for the latter function explicitly says "The dictionary p should not be mutated during iteration"
Hence, I don't think this change is a good idea; there must be a more reliable way to fix it.

Two options that I can see:

Replace items(d) (which must have gotten removed from Julia at some point) by e.g. collect(Tuple{PyObject,PyObject}, d).  This unfortunately makes a copy of the data.
Do for (k,v) in d or similar, but instead of deleting the keys right away, push! them to a temporary array of keys to be deleted.   This is a bit more memory-efficient for large dictionaries.

Fixed by 73c3db71e8e1eca4ef1e950e5aaabe65f544b159


[WIP] [RFE] Removing GCE provider

BZ:  https://bugzilla.redhat.com/show_bug.cgi?id=1672430

what all does it mean, remove provider from backend?
I removed it from Gemfile, and many occurences of "google" in core.
ems_google in factories (and then from other repo's specs).
I'm not sure about:

kubernetes, for example https://github.com/ManageIQ/manageiq-providers-kubernetes/blob/master/spec/models/manageiq/providers/kubernetes/container_manager/refresh_parser_spec.rb#L915

if ems_google is there as a sample and should be replaced by another provider or delete this spec.

some manageiq-content yamls
https://github.com/ManageIQ/manageiq/pull/18435/files#diff-eb82cfaac5e150de2fc60fcf562cc589R105

@Ladas do you know more?  The main point is that the gce provider won't be included in the build. So maybe check also build repo? @agrare or @Fryguy should know about the build process.
And removing the mentions of the GCE from core and other repos is probably wise too. (I am thinking mainly core and manageiq-content might have references)

So assuming this is the way we want to go (and not just disable downstream cc @loicavenel), before we remove it from the Gemfile we should

Remove references from all other dependent repos (ui-classic, content, etc...)
Create a schema migration to remove records that reference gce class names so we don't run into the same issue as when we removed hawkular.

Then we can remove references from core and finally remove from the Gemfile.
Then on the manageiq-providers-google repo side we would delete all code from master and leave a note in the README about the deprecation but leave all release branches in place so hammer/gaprindashvili/etc... still can include it.

The goal is to make sure customer cannot use it anymore.. The question is should we keep  the code  downstream then? How, can keep it upstream and not having it downstream?

@Loicavenel it sounds like it should be disabled, hidden from UI (they have some implemented ways to do it)/API, stopped workers etc. There are some providers in this state, right? Like Foreman(Kubevirt?).
Maybe disabling and hiding is much easier and lefts backdoor to possible re-enabling if strategy changes.

@slemrmartin if you are sure there is no impact of leaving the code in place??

@Loicavenel the customer can create own fork of manageiq and then use it, but I think that's not the problem you're afraid of.
So the question is, if there will be some switch in db which can user enable?
Or if some hard-coded core's code will disable it (hiding from UI doesn't seem enough for me i.e. for API availability).
Let's wait what @agrare says, he probably knows differences between disable (foreman) and remove (hawkular) issues

he probably knows differences between disable (foreman) and remove (hawkular) issues

Disabling we could even do downstream only and is only editing a single conf file.  This allows upstream users to continue to use the provider if they choose but hides it for downstream users.

if you are sure there is no impact of leaving the code in place??

There is obviously some overhead to maintaining existing code, refactoring to all providers is more difficult with more providers, keeping specs passing, etc... so fully deleting code is beneficial to us.  We do have to put in the work of clearing up existing databases so we don't end up with STI class errors where there are e.g. records in the db with classes like ManageIQ::Providers::Google::CloudManager and ManageIQ::Providers::Google::CloudManager::Vm but there are no such classes anymore.

@agrare so, what is your choice?

@Loicavenel I'd prefer to disable it for now and deprecate the code on our own time.
I don't want to end up with the same issues we had with hawkular but on actual customer sites, and GCE has a lot more types of records created compared with hawkular so it'll be harder to clean up.

cc @skateman

Okay, so the thing we need here is to find out how we disabled other providers in the UI using a config param and making a similar but hardcoded change for GCE?

@skateman we don't need to do anything upstream for this, it is a downstream only change in the productization.

@agrare okay, closed the UI PR

@agrare is the yaml the whole change we need?

@slemrmartin yes

@slemrmartin that is just the permissions template, not the actual downstream permissions file.
Nothing should change upstream and this can be closed.

ahh, ok. So how will be are downstreams changed?