DS-3693: Add plugin to index filenames and file descriptions for files in ORIGINAL bundle

Hi. I wrote a tiny plugin, SolrServiceFileInfoPlugin, (implementing SolrServiceIndexPlugin) to make filenames and file descriptions from the ORIGINAL bundle searchable.
The plugin must be added as a bean to discovery.xml.
To see it's effect, you have to reindex the Solr search core by executing:
[dspace]/bin/dspace index-discovery -b
I documented it on https://gist.github.com/MW3000/5771c0488f8952bb888357ce8c655279
Andrea Schweer and Terry Brady encouraged me to make a pull request.

I also opened a ticket: https://jira.duraspace.org/browse/DS-3693

Can you also add a search filter for this in discovery.xml so that these fields can be queried from the web ui?

@tomdesair That's a good idea. I added the search filters.

Travis is not running, instead it says on https://travis-ci.org/DSpace/DSpace/requests :

#1838 d9ce088 Abuse detected

Can someone fix this?

this looks great and I'm +1 on adding it as is. thanks @MW3000 !
i'm trying to think of how this interacts with embargos / bitstreams that institutions have deliberately hidden in UI (based on metadata or auth policy), even if they're in ORIGINAL bundle... that's one reason why I think it might be nice to not enable by default just yet, add some documentation for it and do a bit of testing with restricted/embargoed bitstreams and look to enable by default in 6.4?
ping: @tomdesair , @MW3000 for your thoughts

@tomdesair : we're a +1 off being able to merge this, could you take another look now that the requested changes are made and travis is happy, and give your approval?

I'm merging this now as it doesn't look like @tomdesair is able to review, and we've had 2 +1s anyway, for this small and low-impact PR I'm going to just press the button!
Thanks @MW3000 . Just a note that we'll need to port this to master branch as well, should be pretty easy, we just won't want the changes to messages.xml (as xmlui isn't in master)

I'll see if i find time to port it to master next week.

I ported it to master in PR #2059


Change readmode on benchmarks to 'read'

'Read' mode is more performant than query mode for point reads since query will require constructing query plan etc.

@bfarayev PTAL


Nullable propery should not allow to skip property

https://yadi.sk/i/IMbvWSITyb5Hc
https://flowtype.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5swo44AKADwC4wBvVMMagfnrYEEAnHgQwCeAHn7ZBAPlQBfAJT0Azvh6FsAc0bMwPAKb5MPUgCIAJjqj9MMfGCUr1RgNwz05Kg1b1sVmGDnO3SgZ-VxwCYlI3ACYaeiYWOjBuPiFRcSk5RWVVDXjtPQNjMwsrGzscpxcMChiPRO8YXxDooJCgA

Yes, babel-plugin-tcomb is more permissive than Flow in this regard. Basically there is the following equivalence
{ a?: string } <=> { a: void | string }

Is this an issue in practice?

Is this an issue in practice?

Yes. Sorry for the translator, but I can not translate better.
I use tcomb-validation for server response, null is fine on the server value is not specified and it sends null. The absence of the property-not the same thing, maybe it was someone renamed or on the server something is broken and I want to know about the problem at its very root, not in the form of a strange bug in the interface.
Original:
Да. Извиняюсь за переводчик, но сам я переведу не лучше.
Я использую tcomb для валидации ответа сервера, значение null -- это нормально, на сервере значение не задано и он присылает null. Отсутствие свойства -- не тоже самое, возможно оно было кем-то переименовано или на сервере что-то сломалось и я хочу знать о проблеме в самом её корне, а не в виде странного бага в интерфейсе.

I see. Currently there's no support in tcomb (the library this plugin builds on) for optional fields (? syntax). I wonder if your issue could be fixed by an explicit union
function foo2(x: { x: null | Array<any> }): string {
  return 'default string'
}

@gcanti could you move this example into your docs? ( If you want I can make a PR ) under a section for "Multiple Types and OR Types" or something along those lines I feel it would be helpful to others as for my use case, I have an error handler that expects a string or an object, and this was what I needed to solve that problem.

If you want I can make a PR

Ok, thanks

I will get to this this weekend I think... Cheers mate!


🤩 WorkFlow 🤩

Please Add Workflow Method For Heroku and Okteto.Please Sir.Please.We Need Sir.Please.please.

#NotWorth


remove 'v' from downgrade version variable

DOC-6330
cc @mdlinville for visibility

@kathancox When ready, the deploy preview should show that the cluster downgrade value is 22.1.


CSS not being applied live for @import-ed files.

I’m on middleman (3.2.2) and middleman-livereload (3.2.1). Whenever I make a change on all.css.scss, the CSS is applied live. But if said change is made in a file that all.css.scss imports with the Sass @import directive, the whole page is reloaded.
I believe this wasn’t happening when I first started this Middleman project, but now it is. However, I can’t pinpoint the culprit. Any idea why is this happening?
Update: This still happens with middleman-livereload 3.3.0

@tdreyno is it possible to default to application.css reload whenever a *.scss file changes?


Opentelemetry

Hello, working with Opentelemetry java agent?
Thanks

By default, the OpenTelemetry Java agent uses OTLP exporter. Just to send data to Grafana Alloy at OTEL_EXPORTER_OTLP_ENDPOINT: "http://alloy:4318".  See: https://github.com/qclaogui/codelab-monitoring/blob/11531c3594d93ea2dd7e4f781c0156bf0482b37d/alloy-modules/compose/traces/process-and-transform.alloy#L63
Here is a similar example: https://github.com/qclaogui/codelab-monitoring/blob/11531c3594d93ea2dd7e4f781c0156bf0482b37d/examples/grafana-beyla/compose.yaml#L35

Hi @prody1605, just found opentelemetry-java-examples https://github.com/open-telemetry/opentelemetry-java-examples/blob/d740b00e31e8f8520560273860b4cd651e5fb31c/javaagent/docker-compose.yml#L7
we can do some change in docker-compose.yml:
Try it
git clone https://github.com/open-telemetry/opentelemetry-java-examples && cd "$(basename "$_" .git)"

cd javaagent && ../gradlew bootJar

Replace docker-compose.yml with the following:
include:
- path: https://github.com/qclaogui/codelab-monitoring.git#main:docker-compose/monolithic-mode/traces/compose.yaml

services:
  app:
    build: ./
    environment:
      OTEL_SERVICE_NAME: "agent-example-app"
      OTEL_EXPORTER_OTLP_ENDPOINT: "http://alloy:4318"
    ports:
      - "8080:8080"

COMPOSE_EXPERIMENTAL_GIT_REMOTE=true docker compose up -d --remove-orphans

Once all containers are up and running you can search for traces in Grafana.
Navigate to http://localhost:3000

Hi @qclaogui , Thanks for hints. And if i want to use opentelemetry-java-examples from other vm i need to expose port 4318:4138 on codelab-monitoring?

Correct ! By default, the Alloy only expose 12345 : https://github.com/qclaogui/codelab-monitoring/blob/121cac509a88f5545d6331d3a86473453f1d2a52/docker-compose/common/compose-include/alloy.yaml#L27-L28
More info: https://github.com/qclaogui/codelab-monitoring?tab=readme-ov-file#grafana-lgtmp-stack-default-port-mapping


dataset metrics

We show very few metrics for datasets at this point and only for occurrence datasets
There is probably a bunch of interesting stuff we could do. But what and for whom?
On the current site we show checklist stats. That could be a candidate.
More usage stats a la: seen how often. which countries. altmetrics. download link followed n times. other download stats (how often, what filters, downloaded from which countries, cited how often, articles making use of, ...)
I imagine that many people will have many wonderful ideas of what this area could be. So bring your ideas forward if you have them please.

@peterdesmet and @mdoering I imagine that the two of you have ideas galore for this area.
I suggest we insert metrics async and if there is many calls with much data being transfered, then create a proxy that only returns the minimum. I would think that made for the better user experience.
Avoid reflows as much as possible by keeping size of the async metrics containers.
I suggest client side templating as they will likely have to rerender with browser resizing

3 quick ideas:

I would keep all metrics on a separate tab to avoid cluttering the main page of a dataset
I would show some key metrics on the dataset page though and choose wisely which ones. :-)
Maybe the metrics page should be mock-uped (is that a verb?) and developed in a hackathon?

'mocked up' is, @peterdesmet!

Just to be sure: idea 1 and 2 is contradictory right?
Either way the idea and the way it is currently is exactly that - that is: few selected metrics on main page, additional on metrics tab.
It is another discussion if the summary metrics is the one most people is after - I have simply assumed that it is. Those are currently: occurrence count and things related to the completeness (georeferenced, dated, known taxon) and images, because it entice exploration. And for checklists: taxa and species count (similar to what we do on the current site).
Mockups, hackathons etc could all be fine - but I would be happy just to get suggestions and ideas as they come to mind. I have a feeling that @kcopas, Tim Hirsch and others also have suggestions for this. Mock pictures, references etc would also be nice to have.

Yeah, that's what I meant with 1 & 2: extensive metrics page + selected on main page. Clicking on one from main page would open metrics page with more info one those metrics. Will think more about why metrics we could show, but two categories are:

Completeness / data quality metrics
Usage metrics

Is there room for showing the major taxonomic distribution for each dataset? At least for the backbone I would like to see some exclusive stats like this: https://github.com/mdoering/backbone-stats/blob/master/README.md

Or a taxonomic partition: http://datafable.com/gbif-dataset-metrics/ It is similar to a sun diagram (i.e. it shows percentage AND hierarchy), but with advantage that all text is horizontal.

Below are some suggestions on how to improve the display of usage metrics and quality metrics on the dataset page (not what specific metrics are important to show):

The metrics tab on the new dataset page is not shown for checklists, e.g. https://demo.gbif.org/dataset/8d431c96-9e2f-4249-8b0a-d875e3273908 (screenshot below) Of course checklists can have associated occurrences and contribute records to downloads from GBIF.org. Note this has been flagged in issue https://github.com/gbif/portal-feedback/issues/107
The metrics tab on the new dataset page only displays usage metrics so far. In my opinion, I think usage metrics and quality metrics should be kept separate. Note this idea has been captured in issue https://github.com/gbif/portal-feedback/issues/108. There are plenty of good ideas building for what usage/alt metrics to show in issue https://github.com/gbif/portal16/issues/245
When a checklist has associated occurrences, it is easier to understand what quality metrics relate to what types of records when the metrics are separated by record type. The current portal's checklist metrics page does this nicely, e.g. http://www.gbif.org/dataset/8d431c96-9e2f-4249-8b0a-d875e3273908/stats (screenshot below) The new portal mixes quality metrics from different types of records on the dataset homepage, e.g. https://demo.gbif.org/dataset/8d431c96-9e2f-4249-8b0a-d875e3273908

I have already highlighted that interpretation issues are missing in the new dataset page and why they are important to retain in issue https://github.com/gbif/portal16/issues/300
Screenshots:

@dschigel

In addition to the backbone overlap percentage shown in our current portal it would be nice to also mention the number of names used from a checklist as a primary source to build the backbone.
Our API returns for checklists some richer metrics than currently shown on the portal that we might want to surface: http://api.gbif.org/v1/dataset/8d431c96-9e2f-4249-8b0a-d875e3273908/metrics
The count by extensions is interesting for any kind of dataset

As a data provider we're interested in stats that would help support requests to administrators/grantors for additional resources (or continuation of existing support) for collections care and digitization of collections data.  So we're interested in how many people are retrieving data from our datasets (# searches, # unique IP addresses; these will all be an index, of course, not a true count as one individual may refine a search multiple times or interact via different IP addresses) and also how much data are they viewing or downloading.  Include data accessed by API or other non-traditional means.  We have multiple datasets on GBIF (different collections)- stats need to be by dataset as support is by collection.  Vertnet supplies nice reports http://tools-usagestats.vertnet-portal.appspot.com/reports/c21cd435-718a-4069-b503-776bf0e22b96/201610/.  They also include the country of origin of the request and a list of the search terms used and the number of records returned for each.  This could be helpful in focusing efforts to improve data quality (e.g. if Colombia is in demand focus georeferencing efforts there).  BISON breaks their numbers down by how the interaction occurs (screen, download, API).  It would be helpful to display stats down by  month and also have an option to do year to date and full year.  We're looking for summary stats- the report to the administrator might say "123 searches on GBIF resulted in 123,456 records viewed or downloaded for May 2017."  Stats should remain available for previous months and years.  Depending on the complexity of the statistics a download mechanism might be helpful.
I also heard some interesting ideas about statistics related to publication of data (or use of data in published analyses)- that would be fabulous.  End users are supposed to acknowledge the data source (collection) when publishing and let the collection know about the publication but this often doesn't happen.  Published science is, of course, a great measure of the value of all the effort we are putting into digitization but also probably one of the hardest to track.

I want to echo whats already mentioned about a high level view of the taxonomy in a dataset. This can help users/publishers discover irregularities or interpretation issues with the data. This could perhaps be under the stats tab to avoid clutter on the DS page.
The occurrence dataset top panel (under the header) contains data similar to what could be in a 'certificate of quality' in that they show completeness. Now there could be more measures inserted into this like basis-of-record interpreted %, country explicitly stated %, etc.
Regarding the stats tab, this could be the place for publisher facing statistics such as downloads by a time period, which could be user defined. Number of records downloaded (same as above) and number of distinct users.

Also in the case where this is possible, please add a link to the cached EML document.

Usage statistics are of great importance to providers/collections as these are used to show use of collections and advocate for collections funding and further use.  The statistics that we get from Vertnet through GitHub are the "poster child" for what we would like to see - not only individual stats but cumulative stats by month and year for yearly reporting - number of searches, number of downloads, number of records downloaded, from what countries, unique search parameters etc.  But, even more important than that is that these stats are comparable across the aggregators so that they can be summed for use in annual reports where a single figure is needed.  At present it is virtually impossible to get a single figure as the aggregators are all showing different metrics.  I also believe that measures of uniqueness for providers would be a great advocacy tool allowing collections to show what, if anything, they are uniquely contributing to the aggregator on a taxonomic and/or geographic level.  What do I have in my collection that no one else has that I can crow about in my annual report or outward facing profile of my collection that would attract use and funding?  It would also allow for highlighting of irregularities in taxonomy or geography or possible errors that could be fixed.  While I am at it, I think that aggregators could and should do a better job of porting data cleanup metrics back to the collections so that we can fix these in the original data source.  They need to be provided in a clear and simple mechanism that allows me to see what has been changed, why it has been changed and what it has been changed to so that I can bring up records in my database and fix the errors or do so in some sort of batch method.

I support retaining the "INTERPRETATION ISSUES" metric, as a collection curator to find potential data entry errors and correct them.

A metric for checklist datasets I have often been asked for is the number of species that are uniquely present in this dataset and contribute to the addition of the GBIF backbone. It shows value.
E.g. this shows the names that the PBDB contributes to the GBIF Backbone:
https://www.gbif.org/species/search?dataset_key=d7dddbf4-2cf0-4f39-9b2a-bb099caae36c&constituent_key=c33ce2f2-c3cc-43a5-a380-fe4526d63650&advanced=1

from http://dev.gbif.org/issues/browse/POR-1539?jql=project %3D POR AND status %3D Open
For Dataset Metrics I would say very useful additional fields would be:
Number of species (or terminal taxa)
Date range
Countries of origin (and/or geographic range by lat/long)
I know this is information that may be included in the metadata fields, but an automated view if easily generated would add valuable context to the dataset overview

I see that www-old.gbif.org/* is redirecting to www.gbif.org/* now, so we can no longer get to the old stats.  Is there an alternative way to access these?

@onco-p53  No there isn't. And a good argument that www-old should stay a little longer until the stats are there. We will look to that in the new year. Thanks for reporting.


Broken link

just noticed this page is outdated: http://www.bridgedb.org/mapping-databases/rhea-interaction-mappings/
this link is old and broken: http://bridgedb.org/data/gene_database/archive/r82/interactions_20160108.bridge.zip
should it point here? http://developers.pathvisio.org/data/gene_database/interactions_20180425.bridge

Believed to be fixed.


ATOM_SPECIFICATION.md:55: describe the term Natural Java...

The puzzle 165-5f03c07b from #165 has to be resolved:
https://github.com/project-avral/oo-atom/blob/3fbcb17f76502cbc44bf7155ec043434a1f9bbfa/docs/ATOM_SPECIFICATION.md#L55-L55
The puzzle was created by Kapralov Sergey on 30-May-18.
Estimate: 0 minutes,
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@skapral please pay attention to this new issue.

Deprecated by #197


PageEdit: mark broken for x86_64-darwin

PageEdit: mark broken for x86_64-darwin
Log file: https://hydra.nixos.org/build/246388745/nixlog/1
Tracking issue: https://github.com/NixOS/nixpkgs/issues/282632
CC @pasqui23

LGTM. I have no access to MacOS so I can't check it.

Fix at #282667


Images are throwing 404 errors

This may well be my problem rather than hylia's but maybe you can at least tell me which? I'm not very experienced.
Here's the page with images.
https://kowloonplanet.netlify.com/posts/mouse-guard-esque-hex-crawl-with-a-3-year-old/
And here's my repo:
https://github.com/valzi/hylia

I figured it out, but I did not figure out how to fix it, quite.
So here's the problem. The CMS generates links that look like ![map](images/hollymap.jpg "map") but it should be putting a / at the beginning. Can we fix that? Seems like a bug to me, but again, I'm inexperienced.

Solved it!
hylia\src\admin\config.yml
needs to change public_folder: "images" to public_folder: "/images"

Nice work. Fancy putting in a PR?

What is a pr?
On Fri, Feb 7, 2020, 8:56 AM Andy Bell<EMAIL_ADDRESS>wrote:

Nice work. Fancy putting in a PR?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hankchizljaw/hylia/issues/99?email_source=notifications&email_token=ABAWBOBJFDQ7YIH2RBDPPC3RBVZB5A5CNFSM4KRPCHAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELDGBBY#issuecomment-583426183,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAWBOHJPCNLKVAGU4HPNYDRBVZB5ANCNFSM4KRPCHAA
.

Looks like this was fixed in https://github.com/hankchizljaw/hylia/pull/104/files, this issue can be closed.


dotnet publish is picking up other projects dotnet framework

Issue Title
dotnet publish fails to publish to 2.1 with faulty reference to 2.2
General
I am publishing a project to AWS Lambda that requires netcoreapp2.1
The csproj that is being published (BVTagging) uses netcoreapp2.1 as does all of its referenced class libraries.
In the same solution is a standalone project (BVSynchronizationLocalService) that uses netcoreapp2.2
This project does not currently reference any of the 2.1 class libraries.
However, when I try to dotnet publish the 2.1 BVTagging, I get the error:
... publish: C:\Program Files\dotnet\sdk\2.2.105\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5): error NETSDK1005: Assets file '...\BVSynchronizationLocalService\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v2.1'. Ensure that restore has run and that you have included 'netcoreapp2.1' in the TargetFrameworks for your project. [...\BVSynchronizationLocalService\BVSynchronizationLocalService.csproj]
Why is this project even being referenced? Yes it is in the same solution, but that is the only reference. It is as though the dotnet publish is going from the BVTagging.csproj up to the .SLN and checking ALL of the projects in the solution for netcoreapp2.1

Is it specific to AWS Lambda publishing or general publish command?
Are you able to reproduce it in minimal repro? I.e. simple solution with 2 HelloWorld projects targetting 2.1 and 2.2.
I assume as a temporary workaround you can have 2 different solutions ...

Hi karelz thanks for the response. I can reproduce this in dotnet publish outside of AWS publish so yes it seems to be a dotnet publish issue. My current workaround is to unload the 2.2 project to publish so I can workaround this one.

OK, can you create and share a minimal repro then please?

No response, closing. Feel free to reopen when there's more info. Thanks!


Z-Wave Lock Config Entry Support

Description:
Migrates zwave locks to config entry setup.
I'm not having any luck getting the usercode service tests updated and working. I'm getting the following error:
config_entries.py          268 ERROR    Error setting up entry Mock Title for lock
Traceback (most recent call last):
  File "/srv/dev/home-assistant/homeassistant/config_entries.py", line 244, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/srv/dev/home-assistant/homeassistant/components/lock/__init__.py", line 84, in async_setup_entry
    return await hass.data[DOMAIN].async_setup_entry(entry)
KeyError: 'lock'

Everything looks good from what I can tell, and my physical z-wave lock loads and works fine. Not sure what I'm missing, so if anyone has any thoughts, let me know.
Related issue (if applicable): fixes #
Pull request in home-assistant.io with documentation (if applicable): N/A
Example entry for configuration.yaml (if applicable):
zwave:

Checklist:

[x] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass

Anyone have any ideas on the tests? I added some debug statements and it appears that async_setup isn't getting called in components/lock/__init__.py in the test, but it does get called when you actually run HASS. Not sure why, and I've tried different things for the past week to try to fix it and have had 0 luck.

Thanks @MartinHjelmare ! Can't believe it was something so simple, but that's usually how it goes 😃


[SPARK-11233][SQL] register cosh in function registry

Jenkins, test this please.

@shagunsodhani can you change the title to "[SPARK-11233][SQL] register cosh in function registry".

@rxin :+1:

Sruti S<EMAIL_ADDRESS>9:29 AM (4 hours ago)
to Shagun
A quick look through the source of FunctionRegistry.scala  seems to indicate that the function is missing from a lookup table, so it looks like a simple fix to add the entry will resolve the issue.
object FunctionRegistry {
type FunctionBuilder = Seq[Expression] => Expression
val expressions: Map[String, (ExpressionInfo, FunctionBuilder)] = Map(
...
...
// math functions
expressionAcos,
expressionAsin,
expressionAtan,
expressionAtan2,
expressionBin,
expressionCbrt,
expressionCeil,
expressionCeil,
expressionCos,
/* Add here ---> */ expressionCosh,

Can one of the admins verify this patch?

Jenkins, this is ok to test.

Merged build triggered.

Merged build started.

Test build #44081 has started for PR 9199 at commit d89931a.

Test build #44081 has finished for PR 9199 at commit d89931a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44081/
Test PASSed.

Thanks - I've merged this.


English transliteration function changes

Renames transliterate() to toEnglish()
Accepts unicode input now, for consistency with other transliteration functions

Closes #21, closes #19.

LGTM 👍


Independent, async node execution

Support for long-running async nodes that execute sequentially, show progress, allow aborting/retrying, and permit graph modification while running
Also:

Sandbox the graph executor in a web worker so it can recover from panics
Sandbox individual nodes that panic so they can be disabled and let the remainder still execute

We already have async nodes. However it is not trivial to communicate the state of the graph execution to the front end. How would you propose to do this?

At the moment, while we do technically have async execution, it still blocks our event loop which requires a full start-to-finish graph compilation and execution before showing the result and returning from the event loop. (At least that's how I think it works currently? It seems to behave that way but I haven't rigorously traced the code.)
I'll have to defer to @TrueDoctor for his thoughts on how this should be implemented in our current architecture.

Nodes need to return some sort of meaningful data. What you are proposing is essentially polling a node for completion and returning some sort of default value until the polling is successful. This could just be implemented as a node. The more interesting issue is how we can express this in terms of the caching model. It could make sense to treat long-running tasks as external track their state there as a form of extracting the impure state.


Adapt to BlocksForm in Blocks Engine

Related to #2207 .

@nileshgulia1 Merge with the current volto master, you have test snapshots that shouldn't be updated.

@tiberiuichim Green now.

@nileshgulia1 It might be green, but I'm pretty sure that there's more changes to be integrated into Blocks.js helper.


Browserify does not recognize a module bundled by Browserify.

I have been trying to see how to package up third-party modules in a bundle separate from my own bundle, but cannot understand why it will not work.
I have published an example here :  brfy-issue-example
To try it out :
 git clone git@github.com:FleetingClouds/brfy-issue-example.git
 cd brfy-issue-example
 npm run brfy

To clean back to original state
 npm run clean-all

To see the problem, open the file  public/index.html  in a browser, and check the console.
Also look at the generated files: public/boop.js, public/beep.js and  public/common.js.

Last line of public/boop.js which fails:
 :
 :
 },{"./robot.js":"/robot.js","uniq":"uniq"}]},{},[1]);

Last line of public/beep.js which succeeds:
 :
 :
 },{"./robot.js":"/robot.js"}]},{},[1]);

Last lines of public/common.js:
 :
 :
 },{}],"/robot.js":[function(require,module,exports){
 var uniq = require('uniq');
 module.exports = function wobot (s) { return uniq(s) };
 //
 },{"uniq":1}]},{},[]);

Commands invoked :
 browserify -r ./robot.js > public/common.js
 browserify -x ./robot.js -x uniq beep.js > public/beep.js
 browserify -x ./robot.js -x uniq boop.js > public/boop.js

I tried directly editing public/boop.js and public/common.js using differnt combination of ./uniq,  "./uniq":"/uniq" etc.  None of them helped boop find uniq
I also tried a hint from the post Why is browserify pulling in a lib 2 times? - Browserify
Instead of ...
browserify -x ./robot.js -x uniq boop.js > public/boop.js

... I tried ...
browserify -x ./robot.js -x public/common.js boop.js > public/boop.js

... but it just bundles uniq into public/boop.js.  I might as well stick with a single bundle.
I'd really appreciate to know if this is a bug or my poor understanding.
What's the correct way to do what I am trying to do?
I thought this was a duplicate of the issue  Multiple bundles example does not work, but either the solution does not work, or I am doing it wrong.
Possibly, this is a duplicate of External and Require Bundling Resulting in Undefined for JQuery/Angular, but I don't know gulp, so I cannot be sure.

@nkoterba It is two weeks since I posted that and still no response.  I'm working on other things in the meantime, but I must say I am amazed.  I posted the same question in Stack Overflow.  No answers.  No comments.  Not even an up vote.   To read the blogosphere you'd think Browserify was a major deal, but to me it is seeming more and more like a dead project. (superceded by WebPack?)

@nkoterba If you use watchify, you get automatic incremental bundle recompiling which takes <1 sec. I just use a single bundle on all my sites.
@martinhbramwell Not a dead project, but completely run by volunteers who sometimes get busy. I fixed your code and sent you a PR: https://github.com/FleetingClouds/brfy-issue-example/pull/1
Using -x and -r to factor your bundles is only advisable for small examples. Try using [factor-bundle] to do it automatically: https://github.com/substack/factor-bundle

@feross Thank you very, very much for helping with that.  I can't study your changes for a few days yet. I do wonder how I could have known how to do what you did just from reading the documentation.
(Hey .  Did you know that in Spanish your name means 'ferocious'?)

@feross How big are your sites?  A single bundle would be cool but we're pulling in several very large JS libraries: angular, jquery, d3, etc. and I can't have my "watch" task taking seconds to build.  Thanks for the comments.

@feross I'm facing the same issue using watchify, it seems that browserify breaks external dependencies after the first build: https://github.com/saschagehlich/watchify-test

Regarding size, I'm working on a cocoonJS app that is 12 mb after compression :scream: Our watchify time is about 1 second. The large tools (Pixi, ThreeJS, etc) are bundled separately and included as <script> tags, then required with browserify-shim.

I believe I have a similar problem, exemplified here: https://github.com/kand/browserify-bundling-tests
I can't figure out how to get already bundled files included via name (not by file path).
Has anyone made any progress here?


Emissary ingress Package

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold

Don't forget whatever cdk changes we need for this and make sure those have been deployed before merging.

/unhold

/lgtm

/approve


Remove "#" in first csv header field

https://github.com/rackerlabs/scantron/blob/3a420bc1d66ed7cb489a0cb634cd6356927c2170/master/nmap_results/nmap_to_csv.py#L48

https://github.com/rackerlabs/scantron/pull/25


tekton: update bugfix-release.sh script for ghcr.io

Changes

Following the update of the cheatsheet, updating the script to pick up
the changes.
/kind misc
/cc @afrittoli
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[ ] Has Tests included if any functionality added or changed
[x] pre-commit Passed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

@afrittoli ^^

/kind misc


validate the instana deployment with the real - time inventory

validate the lab note in (https://github.com/ibm-cloud-architecture/eda-tech-academy/blob/main/docs/lab5/index.md) is tuned and work on the real-time inventory demo deployed on Rey: https://console-openshift-console.apps.rey.coc-ibm.com/k8s/cluster/projects/rt-inventory-dev
tune the documentation if needed.
The current instana is in the SaaS environment. So may be have our own instance of instana in vm or docker

wrong close


Problem with filters

First of all I have to say that the language I'm using is Kotlin.
I'm trying to get rid of legacy code and convert all query.faceFilters =  to query.filters =  (set functions).
What I was using (and it was working) in this issue was:
query.facetFilters = JSONArray("[\"$filteringCategoryFacet:$categoryFilter\"]")
but since it's deprecated, it worked with:
query.filters = "$filteringCategoryFacet:$categoryFilter"
Case working:
val filteringCategoryFacet = "category.lvl1"   val categoryFilter = "Womens"
so I would be inserting:
query.filters = "category.lvl1:Womens"
Case Not working
val filteringCategoryFacet = "category.lvl2"   val categoryFilter = "Womens>Tailoring"
so I would be inserting:
query.filters = "category.lvl2:Womens>Tailoring"
error:
com.algolia.search.saas.AlgoliaException: filters: Unexpected token > expected end of filter at col 20
I tried to replace > by %3E. It didn't throw an error but it didn't give me any result, as query.faceFilters was giving some.
What is wrong with it?

Solved quoting categoryFilter:
        query.filters = "$filteringCategoryFacet:\"$categoryFilter\""

Beware.

Hi @RafaRuiz, thanks for your report!
Glad to see you could resolve it directly, hopefully this will be helpful to anyone else experiencing the same.


Make DNS tests run in parallel

As suggested by @makyen in #6703, look into running the DNS tests in parallel rather than serially, to make the overhead of testing shorter.
There is some support for this in the dnspython library already, so it should hopefully be rather straightforward.
tripleee$ wc -l *_nses.yml
     125 blacklisted_nses.yml
    1539 watched_nses.yml
    1664 total

We are running over 1,500 name server tests in the test suite already, and the number is only likely to grow.

This has been implemented for CI testing in https://github.com/Charcoal-SE/SmokeDetector/commit/bb3098d5f6522667aff4527909a721f0076ca6ae. We should also run DNS checks within post scanning in parallel, but that should probably be another Issue.


diart.stream microphone detects only 2 speakers

Hello,
I am using diart.stream microphone from command line for inference but it is not detecting for more than 2 speakers even if there are.
For ex. if I play the recording of 3 people speaking (1 female and 2 male) then, It considers 2 male speakers as 1 speaker. and If I'm playing the recording of 2 male speakers or 2 female then it is working fine.
I've explored files from https://github.com/juanmc2005/StreamingSpeakerDiarization/tree/main/src/diart/blocks to see if there is anything metioned related to num_speakers and in most of the files found out about the max_speakers = 20.
Do I have to make changes to any part of the code for more number of speakers?

Hi @kaleaniket,
This has been discussed briefly in issue #4:

New speaker detection is affected by the hyper-parameter delta, which is a threshold on the cosine distance between a speaker's embedding and its closest centroid. A distance lower than delta assigns the speaker to that centroid (reidentification of a known speaker), whereas a distance higher than delta assigns the speaker to a new centroid (new speaker detection).

It may be possible that the delta value you're using is not adapted to your recordings. If you find that new speakers are not being detected, my first suggestion would be to lower delta.

If you're using diart.stream you can change it with --delta=1.0, and if you're in python you can set in PipelineConfig:
from diart import PipelineConfig, OnlineSpeakerDiarization

config = PipelineConfig(delta_new=1.0)
diarization = OnlineSpeakerDiarization(config)

Note that there's a tradeoff here between recognizing too few or too many speakers.
Currently, this threshold strategy is a bit too simple, it is a key area of improvement on which I'm currently working.

Hi @kaleaniket,
This has been discussed briefly in issue #4:

New speaker detection is affected by the hyper-parameter , which is a threshold on the cosine distance between a speaker's embedding and its closest centroid. A distance lower than  assigns the speaker to that centroid (reidentification of a known speaker), whereas a distance higher than  assigns the speaker to a new centroid (new speaker detection).delta``delta``delta

It may be possible that the  value you're using is not adapted to your recordings. If you find that new speakers are not being detected, my first suggestion would be to lower .delta``delta

If you're using you can change it with , and if you're in python you can set in :diart.stream``--delta=1.0``PipelineConfig
from diart import PipelineConfig, OnlineSpeakerDiarization

config = PipelineConfig(delta_new=1.0)
diarization = OnlineSpeakerDiarization(config)

Note that there's a tradeoff here between recognizing too few or too many speakers. Currently, this threshold strategy is a bit too simple, it is a key area of improvement on which I'm currently working.

Hi there. Thank you for your solution. However, I tried to set delta_new=0.1, but it didn't work. I can still identify two speakers, while I have three speakers in audio. Would you mind letting me know if I can set delta_new=0.01 or not? Thank you in advance.

Hi @someonewating,
Could you post your code and results? Also, can you provide more information about your audio file? Like duration, number of speakers, expected RTTM, etc?

Hi @someonewating,
Could you post your code and results? Also, can you provide more information about your audio file? Like duration, number of speakers, expected RTTM, etc?

Hi @juanmc2005,
Thank you for your reply.  This is because of my incorrect code. Right now everything works well. Thank you.😀

Hi @someonewating,
Could you post your code and results? Also, can you provide more information about your audio file? Like duration, number of speakers, expected RTTM, etc?

And by the way, would you mind letting me know what does the beta, gamma, rho_update, and tau_active means in PipelineConfig file? Thank you.

Glad it's working!

And by the way, would you mind letting me know what does the beta, gamma, rho_update, and tau_active means in PipelineConfig file? Thank you.

Sure, I actually wrote an intuitive explanation of tau_active, rho_update and delta_new in this post (see "Creating the speaker diarization module").
They essentially regulate the sensitivity of speaker recognition:

tau_active=0.5: Only recognize speakers whose probability of speech is higher than 50%.
rho_update=0.1: Diart automatically gathers information from speakers to improve itself. Here we only use speech longer than 100ms per speaker for self-improvement.
delta_new=0.57: This is an internal threshold between 0 and 2 that regulates new speaker detection. The lower the value, the more sensitive the system will be to differences in voices.

On the other hand, beta and gamma regulate overlap-aware speaker embedding extraction (see Equation 2 in the paper).

The higher the value of gamma, the more the embedding model ignores audio regions where the segmentation model is not confident.
beta acts as a temperature parameter on per-frame speaker probabilities to determine the predominant speaker (with softmax)

I know this sounds a bit obscure but I think it's better explained with the figures in the paper.


Container Component - Design Feedback

Note: This requires https://github.com/rancher/dashboard/pull/664 to be merged before being fixed.

[x] Review how the info bubbles look inside a labeld input. Note: I found them really hard to hover over whenever I've tried to look at one.
[ ] Review how/where could we put the REMOVE for the container.
[x] Review how to add/drop capabilities, ensure there is bottom padding from the capability:

[ ] The add/drop capabilities field is a different height compared to regular inputs

https://github.com/rancher/dashboard/pull/1025


Blink doorbell - Recognize presses and handle as trigger event

Hi,
could you please add support for the Blink Doorbell.
Pressing the doorbell should be able to trigger an event in Home Assistant.
Thank you very much!
Thorsten

You can use the trigger in an Alexa Routine. You can use as an action for example what you would say to Alexa (starting a skill). You can also turn on a light or a power switch, wait 5 seconds and turn it off again. If you need this within your home automatisation, probably you can do something more useful with this (turn on a esp8266 with tasmota and send a mqtt message to your home automatisation tool). If you're a programmer, you can write an own echo skill which triggers an lambda function in AWS. Or there are commerical home automatisation tools, which offers an connection into their tool. But I didn't know an other out of the box method to trigger something in your home.

I've working hard to find a solution. I've actually using IOBroker with an Commerical Account, which is able to create virtual devices for alexa and set it's status in IOBroker as a datapoint. Without IOBroker I found a solution for an ESP8266 Microcontroller, but not with Espalexa which seems not working anymore. I tried FauxmoESP (https://github.com/vintlabs/fauxmoESP) and this works in a Alexa routine. FauxmoESP creates a virtal Lamp, which can be used in a Alexa routine. This routine is triggered by the doorbell, and turn on the virtual lamp, waiting 5 sec, and turn the virtual lamp off. With the ESP it's possible to send the doorbell signal using MQTT to an house automatisiation software or turn on/off a PIN of the Microcontroller and with an relais in between, an old doorbell.

I ended up using Node-Red to trigger HA via an Alexa routine and a Virtual Smart Home switch.

I switched to espalexa, which is more or less the same as fauxmoesp. fauxmoesp seems to be a little bit outdated. The esp simulates a hue lamp which can be used in a alexa routine. The routine switches the virtual lamp on, waiting 5 sec and switched it off. The esp send a message via MQTT and switches a PIN on / off. The pin can be used for a old doorbell using a relay.

In order to start receiving events, this API will need to subscribe to events and move to aiohttp.
This API is not easily converted to aiohttp.  I have converted two other APIs (aka I have "some" experience), this one is not "friendly" to the conversion.
Also, I haven't found documentation around the subscription endpoints for blink.  Anyone finds them please drop a link. They must be there, as the phone apps update very quickly.

I've been trying to solve this by running a script that polls the Sync Module's get_events method and looks for button presses, then raises events.
Unfortunately the get_events method isn't working right now - I've raised an issue #757
@MarkusKress's idea about getting Alexa to trigger something downstream is inspired! I'm going to have a play with that.

I've been doing a bit of digging - it appears that the application uses FCM (Firebase cloud messaging) to receive these notifications.
When the user logs in, an FCM key is shared that is used to register for notifications.
Anyone with experience receiving push messages from FCM or can point me to a good library would be helpful.

Discussion started here: https://github.com/fronzbot/blinkpy/discussions/770


Amalgamated JerryScript source release?

Hello there!
I noticed the ENABLE_ALL_IN_ONE flags within build.py and wondered: Are those files intended to be released, and if, is there a stable way to obtain them as releases come out? I am working with a couple of amalgamated projects - sqlite, mongoose just to name a few - and I was wondering if there was such a release for JerryScript.
My intend is to create a vlang wrapper. In order to keep install/build sizes and times small, I was looking to find an amalgamated version that I could use in that wrapper.
Kind regards,
Ingwie

Hi @IngwiePhoenix , I think that it's not ENABLE_ALL_IN_ONE that you are after. (That cmake option is only useful during the build.) However, please, refer to https://jerryscript.net/configuration/#single-source-build-mode . That should help you more.
There is no "release" of these amalgamated files. However, you can grab a release (a tagged revision of the project) and run the command shown in the docs and get the files.

Hi @IngwiePhoenix , I think that it's not ENABLE_ALL_IN_ONE that you are after. (That cmake option is only useful during the build.) However, please, refer to https://jerryscript.net/configuration/#single-source-build-mode . That should help you more.
There is no "release" of these amalgamated files. However, you can grab a release (a tagged revision of the project) and run the command shown in the docs and get the files.

@IngwiePhoenix You might be interested to know that #4416 has landed.

@IngwiePhoenix You might be interested to know that #4416 has landed.

This is perfect! Thank you for the notification. Only just got done reinstalling a huge part of Windows (somehow winreg lost the visual studio data... so, had to go all the way through 14GB worth of reinstalls. woohoo...)
Will take a closer look at this. Again, thanks for the poke!

This is perfect! Thank you for the notification. Only just got done reinstalling a huge part of Windows (somehow winreg lost the visual studio data... so, had to go all the way through 14GB worth of reinstalls. woohoo...)
Will take a closer look at this. Again, thanks for the poke!


⚠ Samsung has degraded performance

In 1a6518d, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2735 ms

Resolved: Samsung performance has improved in 585db10.


adding utm source parameter for bookings

Considering the new API, we are adding the new parameter for booking creation.

Hey @stakach are you able to review this one?

actually @cacique-coder will shortly add the brand new limit_override features to this same PR, so that they can be reviewed and merged at the same time.


problem Unexpected end of JSON input nodered on docker

Hi people, i was reading that many people faced this problem but i couldnt find any ways to solve it.
Im running nodered on docker (raspberry) once i received the message "Amazon Alexa Cookie successfully retrieved.
You can close the browser." nodered gives me that error. i tryed to open the port 3456 on docker and even i checked the ip and its bridge's ip so different ip (and doesnt work if i write localhost)
on filepath i wrote "authFile" but i dont really know if i have to create this path.
any ideas how can solve it?
thanks!

I tried the italian servers instead of australians and now is ready. Probably changed something on the australian one.


GCN on Facebok Large Page-Page Network dataset (s4722208)

Overview
This pull request implements a GNN model for semi-supervised, multi-class node classification on the Facebook Large Page-Page Network dataset.
Data
he dataset, preprocessed into facebook.npz by UQ, includes:
Nodes: 22,470
Edges: 171,002 (forming a directed graph)
Node Features: 128-dimensional vectors, divided into four classes—politicians, government organizations, TV shows, and companies
Dataset was split into training (70%), validation (20%), and test (10%)
Model Architecture
The GCN model utilizes  convolution on graph-structured data, aggregating features from neighboring nodes.
Each node updates its feature representation based on information from adjacent nodes, similar to convolution operations in CNNs.
The model is implemented in PyTorch with:

Graph Convolution Layers: Four layers with ReLU activation after the first three.
Input, Hidden, and Output Channels: 128 input channels (matching feature dimensions), 64 hidden channels, and 4 output channels (number of classes).

Performance:
The model achieves an average test accuracy of 93.5% across all classes.
Hyperparameters and Functions

Optimizer: Adam optimizer
loss: CrossEntropyLoss
num_epochs = 350
hidden_layer = 64
learning_rate = 5e-4

Figures

TSNE plot (pre - training)
TSNE plot (post - training)
Test, validation accuracy plot
Test, validation loss plot
Model structure example

Files

modules.py : GCN Model class
predict.py : Run the saved model on the dataset
train.py : training and testing functions and run them after loading data
dataset.py : function for loading data from facebook.npz
utiles.py : functions for plotting

Depedencies

torch
sklearn
matplotlib
numpy

This is an initial inspection, no action is required at this point
Difficulty: Normal
Readme Overall: Good

Project Overview: Good
Model Documented/Explained: Good
Data + Pre-processing: Not done. Used 128 embedding as model input. This is ok.
Training / Loss Curve(s): Good.
Result Demonstration: Good
References: Good
Setup/Reproducibility/Requirements: Good

Functionality:

Multi-layer GCN: Good, 4 layers.  Uses external code (torch_geometric.nn import GCNConv)
Semi supervised: Good
Accuracy: Good.
TSNE or UMAP: Good.
Discussion: Good

Code:

Consistent with Results: OK.
File Structure: Good
Commenting: Good
Commit frequency: Good
Commit messages: Good
Reusable Modular code/Design: Good

Other Comments:
No early stop.
No hyper parameter search.

Marking

Good/OK/Fair Practice (Design/Commenting, TF/Torch Usage)
Good design and implementation.
Spacing and comments.
Header blocks.
Recognition Problem
OK solution to problem. Some overfitting seen. No early stop.-1
Driver Script present.
File structure present.
Good Usage & Demo & Visualisation & Data usage.
Module present.
Commenting present.
No Data leakage found.
Difficulty : Normal. GNN Task.-5
Commit Log
Good Meaningful commit messages.
Good Progressive commits.
Documentation
Readme :Acceptable. Usage missing.-1
Model/technical explanation :Good.
Description and Comments :Good.
Markdown used and PDF submitted.
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch).
No Feedback required.
Request Description is good.
TOTAL-7

Marked as per the due date and changes after which aren't necessarily allowed to contribute to grade for fairness.
Subject to approval from Shakes

Jiwhan Oh

Model files present, please remove to receive feedback marks -2

Jiwhan Oh
Good afternnon Shakes! Thanks for marking and teaching throughout the course. However, I am a little curious about the  model file. I have talked to one of the tutors before I upload this and he said I could just update the model file as my model file is very small. (Model file not recommended to be uploaded as they are noramally very big). But I will remove right now. Thanks!

Model files present, please remove to receive feedback marks -2

Good afternnon Shakes! Thanks for marking and teaching throughout the course. However, I am a little curious about the model file. I have talked to one of the tutors before I upload this and he said I could just update the model file as my model file is very small. (Model file not recommended to be uploaded as they are noramally very big). But I will remove right now. Thanks!


Add quotes around wavename in "* to ITX Wave.vi"

Surround wavename with quotation marks

should be single quote, 'x', not "x"


Add configuration for secret related checks

New feature motivation
All checks related to secret detection lead to a massive amount of false positives. This could get prevented if there would be a possibility to configure those checks, since most of them use the detect-secrets  package.
Use case:
The checks awslambda_function_no_secrets_in_variables and ecs_task_definitions_no_environment_secrets do use the detect-secrets package.
Unfortunately there is no possibility (at least no documented one) that allows to configure the checks done with that package. The repository documents how you can use a customized settings file, which can for example adjust the threshold of Base64HighEntropyString etc.
Could it be possible to add the JSON like config to the prowler's config.yaml?
Furthermore it would be nice to have an option to filter out environment variable names.
Example:
In an AWS TaskDefinition i use a variable named GCP_SECRET_ARN. This contains an ARN to AWS_SECRETS_MANAGER service which will be used during runtime of a script to retrieve a JSON, since it is not really an option to mount a JSON with newline characters into an environment variable as secret. Thus i would like to filter out for name patterns like "*SECRET_ARN".
Would this make sense to you, too?
As documented for detect-secrets, one could use the following parameter:
  --exclude-secrets EXCLUDE_SECRETS
                        If secrets match this regex, it will be ignored.

This could already help me out for my use-case.
Solution Proposed
Add an option to the config.yaml that would apply to all scans which use detect-secrets.
My pseudo example:
aws:
  # configure entropy threshold
  awslambda_function_no_secrets_in_variables_Base64HighEntropyString_limit: 7.0
  # Configure a  regex-based ignore-pattern for variable names
  ecs_task_definitions_no_environment_secrets_ignore_patterns:
    - ".*SECRET_ARN"
    - ".*PASSWORD_ARN"

And then fetch those values in the corresponding python scripts...
I know: configuring this is more a global option than a "per-check" option. So maybe it makes even more sense to create a default config-file for detect-secrets which someone could adjust. Just as with the yaml files.
Describe alternatives you've considered
I did consider to overwrite the python scripts for the mentioned checks, but this is somewhat unfeasible to have it within a deployment CI-CD deployment.. It would be more easy if i could just specify or change a global settings file for the detect-secrets package.
Additional context
Maybe i have overseen something in the documentation or something in the code itself. So if there already is a solution for my presented use cases, i would already like to apologize.

Thanks @pr3l14t0r, this is a good idea to enhance our Mutelist feature! what do you think @jfagoagas @sergargar ?

Hi @pr3l14t0r, I'm going to answer you inline:

Regarding the detect-secrets Python package configuration, as far as we know there is no way to configure BASE64_LIMIT and HEX_LIMIT but we can find a workaround to do that.
About the environment variables I think the Mutelist should be the way to filter out those environment variables but if the value within is an ARN, detect-secrets shouldn't report this as a secret.

Thanks for using Prowler 🚀

[..]but if the value within is an ARN, detect-secrets shouldn't report this as a secret.

Well... the check ecs_task_definitions_no_environment_secrets detects a secret in my task-definition config with the following STATUS_EXTENDED explanation:
Potential secret found in variables of ECS task definition REDACTED-name-of-taskdefinition-resource with revision 1 -> Secret Keyword on line 2.

I don't know what exactly the Secret Keyword on line 2 is referring to, but my environment variables are the following:
            "environment": [
                {
                    "name": "GCP_SECRET_ARN",
                    "value": "arn:aws:secretsmanager:eu-west-1:<my-account-id>:secret:<name-of-my-secret>"
                },
                {
                    "name": "S3_BUCKET",
                    "value": "<REDACTED-name-of-my-output-bucket>"
                },
                {
                    "name": "AWS_STACK",
                    "value": "<name-of-my-aws-stack>"
                }
            ]

does it get flagged because if have named the environment variable GCP_SECRET_ARN - containing the term *secret* ?

About the environment variables I think the Mutelist should be the way to filter out those environment variables

That's not possible at the moment... In my example from above the ResourceName is the name of the TaskDefinition, which makes sense. But this won't allow me to filter for the specific variable name

Hi @pr3l14t0r,

I don't know what exactly the Secret Keyword on line 2 is referring to, but my environment variables are the following:

That line number comes from the AWS ECS API response, sometimes there are differences between the format returned by the API and how is shown in the AWS Console.

does it get flagged because if have named the environment variable GCP_SECRET_ARN - containing the term secret ?

I need to review the detect-secrets engine but it seems to be the reason and also due to the format of the value.

That's not possible at the moment... In my example from above the ResourceName is the name of the TaskDefinition, which makes sense. But this won't allow me to filter for the specific variable name

You are right, we have identified some other scenarios like this and we are thinking about ways to improve the mutelist to allow combinations but for that we need to include more in the finding object, like the secret name for this use case.
The only I can recommend you now is to move that secret from the environment object in the ECS Task Definition to the secrets key. With that, ECS will get the secret value and inject it into the container's runtime as an environment variable but that would need you to change a little bit your logic since I suppose you are calling the AWS Secrets Manager API from your code to retrieve that secret value. You can read more about here.
Another option we are evaluating is to include the configuration you suggested with ecs_task_definitions_no_environment_secrets_ignore_patterns or something similar.
Thanks for using Prowler 🚀

I came here to open a similar issue - Specifically around the keys that are considered secret in Lambda envars
Potential secret found in Lambda function guardduty-to-splunk-lambda variables -> Secret Keyword in variable SECRET_REGION.
Just because I have the word "SECRET" doesn't mean there is a secret. In this case I'm just pointing my function to Secrets Manager.
I'm not sure the Mutelist would help. As currently configured, the mutelist would allow you to mute specific resources, not attributes of a specific resource. This does seem to fit better as an array of IGNORE_SECRET_WORDS

Hi! @pr3l14t0r you can see the final approach for this issue here. Finally, we think that the best way to go is to improve the config from detect_secrets. Please, try it and tell me your thoughts from this to make improvements. Thanks!

hey! @pr3l14t0r finally we added a field on the config.yaml file to manage your known secrets. On secrets_ignore_patterns you can add your regex patterns to ignore from secrets detection. Thanks for the idea!

Heyho @pedrooot !!
This is awesome! I will try that out as soon as i can. :)
Thank you so much for your efforts!

Heyho @pedrooot !
I was able to test this feature now, sorry for the late response on this.
The feature is available in version 4.4.0, right? Because while not being mentioned on the docs page the configuration seems to work when installing there. But i have tested also on 4.5.0 building it from master.
While testing, i have encountered a few errors and the results would be wrong.
Example: Let's say i have a lambda with a variable configured like this:
{
  "Variables": {
    "DATABASE_PASSWORD": "123456789ABCEF"
    "SOME_API_KEY": "1234-4567-890-1234"
  }
}

Both 4.4.0 and 4.5.0 would flag these variables in check awslambda_function_no_secrets_in_variables. So far, so good.
No i run the same thing again with using a config that looks like this:
  secrets_ignore_patterns:
    [
      "*ARN*",
      "*SECRET_ARN*",
      "arn:aws:secretsmanager",
      "secretsmanager",
      "arn:aws:ssm",
      "token",
      "TOKEN"
    ]

Suddenly, all the secret-related checks do pass. And when i check the results for the functions' ARN, i see this in the description:
Description     : No secrets found in Lambda function extranet-data-admin-TourTranslationLambda-yI0u3xn2cRxX variables.

While the secrets should technically have been detected.
Furthermore during runtime, i see a lot of these errors when i run with the configuration:
[...]
2024-10-10 12:28:16,891 [File: utils.py:172]    [Module: utils]  ERROR: Error scanning for secrets: nothing to repeat at position 0

2024-10-10 12:28:16,901 [File: utils.py:172]    [Module: utils]  ERROR: Error scanning for secrets: nothing to repeat at position 0

2024-10-10 12:28:16,916 [File: utils.py:172]    [Module: utils]  ERROR: Error scanning for secrets: nothing to repeat at position 0
[...]

There are like hundreds of these lines..
So unfortunately the configuration does not work for me, and even more bad: Findings won't get flagged correctly using the configuration...
Any idea how i can sort this out? If it helps i can create a new issue for this.
Thanks for any help in advance. :)
Cheers!

Heyho @pedrooot !
I was able to test this feature now, sorry for the late response on this.
The feature is available in version 4.4.0, right? Because while not being mentioned on the docs page the configuration seems to work when using it there. But i have tested also on 4.5.0 building it from master.
While testing, i have encountered a few errors and the results would be wrong.
Example: Let's say i have a lambda with a variable configured like this:
{
  "Variables": {
    "DATABASE_PASSWORD": "123456789ABCEF"
    "SOME_API_KEY": "1234-4567-890-1234"
  }
}

Both 4.4.0 and 4.5.0 would flag these variables in check awslambda_function_no_secrets_in_variables. So far, so good.
Now i run the same thing again with using a config that looks like this:
  secrets_ignore_patterns:
    [
      "*ARN*",
      "*SECRET_ARN*",
      "arn:aws:secretsmanager",
      "secretsmanager",
      "arn:aws:ssm",
      "token",
      "TOKEN"
    ]

Suddenly, all the secret-related checks do pass. And when i check the results for the functions' ARN, i see this in the description:
Description     : No secrets found in Lambda function FUNCTIONNAME variables.

While the secrets should technically have been detected.
Furthermore during runtime, i see a lot of these errors when i run with the configuration:
[...]
2024-10-10 12:28:16,891 [File: utils.py:172]    [Module: utils]  ERROR: Error scanning for secrets: nothing to repeat at position 0

2024-10-10 12:28:16,901 [File: utils.py:172]    [Module: utils]  ERROR: Error scanning for secrets: nothing to repeat at position 0

2024-10-10 12:28:16,916 [File: utils.py:172]    [Module: utils]  ERROR: Error scanning for secrets: nothing to repeat at position 0
[...]

There are like hundreds of these lines.. Both on 4.4.0 and 4.5.0
So unfortunately the configuration does not work for me, and even more bad: Findings won't get flagged correctly using the configuration...
Any idea how i can sort this out? If it helps i can create a new issue for this.
Thanks for any help in advance. :)
Cheers!

Hello @pr3l14t0r the issue here is that you are setting a list of regexp starting with an * which is not valid since the * means "repeat the previous character N times. So for that regexp list to work you'd need to adjust it to:
secrets_ignore_patterns:
    [
      ".*ARN",
      ".*SECRET_ARN",
      "arn:aws:secretsmanager",
      "secretsmanager",
      "arn:aws:ssm"
    ]

Could you please try that? We will need also to add validation to inform that the regexp is not valid.

@jfagoagas thank you for your response!

The secrets_ignore_patterns is present in the Prowler documentation under the configuration file

Ah.. sorry, i must have completely overseen that... 🤦🏼 So stupid..
I am quite certain that i have already tested without the asterisks.. I will invoke another test according to your guidance and will let you know. :)
Thanks again for your response, you guys are awesome!

@jfagoagas thank you for your response!

The secrets_ignore_patterns is present in the Prowler documentation under the configuration file

Ah.. sorry, i must have completely overseen that... 🤦🏼 So stupid..

It is totally fine, we are here to always help you!

I am quite certain that i have already tested without the asterisks.. I will invoke another test according to your guidance and will let you know. :)
Thanks again for your response, you guys are awesome!

Thank you 🚀


As member of an organization, I want to be notified about critical air conditions in real time.

This is the first in a potential series of notification techniques. It is potentially the simplest one, implemented completely in the Clair Dashboard application. Functionality rests on the premise that the application periodically refreshes the samples via the Clair API.
Questions to resolve:

Where to persist a users request to receive notifications? In the browser's local storage? In a cookie?
If the user has access to several installations, for which ones does the Dashboard application emit notifications?
What to do if data are missing? If new data comes in but the time stamp is old, should we still issue a notification?
Which algorithm and which threshold to use to decide on notifications? Ideally, code and the parameters should be shared with the traffic light display in the widget.
When should the notification be reset? Only upon user request? If the browser is closed? after a fixed amount of time?

Complexity: 5
Value: 20
WSJF: 4

Also note that iOS does not support web push notifications.

Also note that iOS does not support web push notifications.


how to adjust lens timezone?

What would you like to be added:
how to adjust lens timezone?
add some settings in cluster configuration about timezone
Why is this needed:
k8s log time and the host time default using utc , i changed host timezone ,but change noting in lens.
Environment you are Lens application on:

Kubernetes distribution: [kubernetes 1.20.5]
Desktop OS:

Are you just referring to the log times? What result do you see with kubectl? Are you asking that Lens change the time reported in the logs/through the kube api/etc?

In my case it's not only the log times but all time displayed by lens:
Here an example on coredns:
$ kc describe pods -n kube-system coredns-788f5b4fc-lctlr
Name:                 coredns-788f5b4fc-lctlr
Namespace:            kube-system
Priority:<PHONE_NUMBER>
Priority Class Name:  system-cluster-critical
Node:                 pool-staging-314o5/<IP_ADDRESS>
Start Time:           Tue, 06 Apr 2021 15:14:48 +0200
Labels:               k8s-app=kube-dns
                      pod-template-hash=788f5b4fc
Annotations:          kubectl.kubernetes.io/restartedAt: 2021-04-06T15:14:48+02:00
Status:               Running
....

Note that start time is displayed with my correct timezone (+0200, CEST)
And here is what I get using Lens

The field Created is still right but is written as Zulu time which is quite difficult to read (especially if you live in an area with a large time difference)
Also, interestingly, the annotation kubectl.kubernetes.io/restartedAt is still displayed with the correct timezone on Lens


Updated moment.js package.json version

[x] Try to keep the pull requests small; a pull request should try its very best to address only a single concern.
[x] Make sure all tests pass and add additional tests for the code you submit.
[x] Document your reasoning behind the changes. Explain why you wrote the code in the way you did; the code should explain what it does.
[x] If there's an existing issue related to the pull request, reference to it by adding Fix #305, where 305 is the issue number.

Short description of what this resolves:
Running dependency_spy on the project gave the following vulnerability:
    Vulnerable: moment/runtime:^2.19.0
        Title: Regular Expression Denial of Service (ReDoS)
        Severity: Low
        Source: https://snyk.io/vuln/npm:moment:20170905

So this updates the package json to the latest version available on npm.
The list spits out other vulnerabilities as well but some of them require major version upgrades, so I didn't touch them.
The full list follows:
npm: lockfile ~> package-lock.json
    Vulnerable: bootstrap/runtime:3.3.7
        Title: Cross Site Scripting (XSS) in data-target attribute
        Severity: Unknown
        Source: https://ossindex.net/resource/package/7012139565/vulnerabilities

        Title: Cross-Site Scripting (XSS)
        Severity: Medium
        Source: https://snyk.io/vuln/npm:bootstrap:20160627

    Vulnerable: braces/runtime:1.8.5
        Title: Regular Expression Denial of Service (ReDoS)
        Severity: Low
        Source: https://snyk.io/vuln/npm:braces:20180219

    Vulnerable: chownr/runtime:1.1.1
        Title: Time of Check Time of Use (TOCTOU)
        Severity: Medium
        Source: https://snyk.io/vuln/npm:chownr:20180731

    Vulnerable: emailjs-mime-parser/runtime:2.0.5
        Title: Denial of Service (DoS)
        Severity: High
        Source: https://snyk.io/vuln/npm:emailjs-mime-parser:20180625

npm: manifest ~> package.json
    Vulnerable: bootstrap/runtime:^3.3.7
        Title: Cross Site Scripting (XSS) in data-target attribute
        Severity: Unknown
        Source: https://ossindex.net/resource/package/7012139565/vulnerabilities

        Title: Cross-Site Scripting (XSS)
        Severity: Medium
        Source: https://snyk.io/vuln/npm:bootstrap:20160627

    Vulnerable: lodash/runtime:^4.17.4
        Title: Prototype Pollution
        Severity: Low
        Source: https://snyk.io/vuln/npm:lodash:20180130

    Vulnerable: webpack-dev-server/development:^3.1.3
        Title: Information Exposure
        Severity: Low
        Source: https://snyk.io/vuln/SNYK-JS-WEBPACKDEVSERVER-72405

Changes proposed in this pull request:

Updated moment.js package.json version

Hey 👋
When you run npm install we already install the latest minor thx to this ^ ;)


initial commit

just a starting point.

after I complete this. do I just submit commits or what?

dev-ranger is designed to give us a consistent dev env so we all working on the same python, ansible, and shade library versions. But as long as your 'pip freeze' output is the same for your system and virtualenv, it doesn't matter.

Closing this PR in favor of PR #3 . See PR #3 as an example of how to do the other OSP-related roles.


Problem with clusterseq

Hi,
I am very excited about using mgefinder, but so far I cannot make it work. I successfully run the script with a test dataset. However, multiple trials with different isolates and different reference genomes gave me the same error.
Error in job clusterseq while creating output file workdir/03.results/R27/01.clusterseq.R27.tsv.
RuleException:
CalledProcessError in line 259 of /home/rozwandm/.conda/envs/mgefinder/lib/python3.6/site-packages/mgefinder/workflow/denovo.original.Snakefile:
Command 'mgefinder clusterseq -minsize 70 -maxsize 200000 --threads 1         --memory 16000 workdir/01.mgefinder/R27/R27.all_inferseq_database.txt -o workdir/03.results/R27/01.clusterseq.R27.tsv' returned non-zero exit status 1.
File "/home/rozwandm/.conda/envs/mgefinder/lib/python3.6/site-packages/mgefinder/workflow/denovo.original.Snakefile", line 259, in __rule_clusterseq
File "/home/rozwandm/.conda/envs/mgefinder/lib/python3.6/concurrent/futures/thread.py", line 56, in run
Will exit after finishing currently running jobs.
Exiting because a job execution failed. Look above for error message
Thank you in advance for your help,
Marta

Hello!
Thanks for asking this.
What error do you get when you run:
mgefinder clusterseq -minsize 70 -maxsize 200000 --threads 1 --memory 16000 workdir/01.mgefinder/R27/R27.all_inferseq_database.txt -o workdir/03.results/R27/01.clusterseq.R27.tsv

when the mgefinder conda environment is activated?

I got this error message:
IndexError: list index out of range

This is a strange one, how many samples are you analyzing?
Get Outlook for Androidhttps://aka.ms/ghei36

From: mrozwandowicz<EMAIL_ADDRESS>Sent: Wednesday, November 4, 2020 2:57:43 AM
To: bhattlab/MGEfinder<EMAIL_ADDRESS>Cc: Matt Durrant<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [bhattlab/MGEfinder] Problem with clusterseq (#16)
I got this error message:
IndexError: list index out of range
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/bhattlab/MGEfinder/issues/16#issuecomment-721632856, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACNBN46V5YFOAKCRXBPIRF3SOEQRPANCNFSM4TIOH2AQ.

I always tried one sample at the time. Because I had problems and I thought the reference genome might be the problem, I tried multiple references, but always one at the time.

Great, could you please send me one of the samples that failed so I can test it? Thanks.
From: mrozwandowicz<EMAIL_ADDRESS>Date: Wednesday, November 4, 2020 at 7:57 AM
To: bhattlab/MGEfinder<EMAIL_ADDRESS>Cc: Matt Durrant<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [bhattlab/MGEfinder] Problem with clusterseq (#16)
I always tried one sample at the time. Because I had problems and I thought the reference genome might be the problem, I tried multiple references, but always one at the time.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/bhattlab/MGEfinder/issues/16#issuecomment-721781098, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACNBN4YMESCII4BKQKRTCXDSOFTWLANCNFSM4TIOH2AQ.

I send you all of the files on this email address:
<EMAIL_ADDRESS>

Thanks for sending over your files.
I was able to recreate the error you found. The issue was with how you named the files in your working directory. Please refer to the tutorial to see exactly how to set up your working directory.
You had it set up like this:
test_workdir/
├── 00.assembly/
│   ├── 15S04545-4.fasta.fna
├── 00.bam/
│   ├── 15S04545-4.bam
│   ├── 15S04545-4.bam.bai
└── 00.genome/
    └── R27.fna

I fixed it so that it looked like this:
test_workdir/
├── 00.assembly/
│   ├── 15S04545-4.fna
├── 00.bam/
│   ├── 15S04545-4.R27.bam
│   ├── 15S04545-4.R27.bam.bai
└── 00.genome/
    └── R27.fna

And that fixed it.
I hope that helps! Make sure you include all of your isolates in a single working directory.


Failed to lookup service port: Unknown service name

Whenever either callExternalMethod or callExternalVoidMethod is called it crashes the current process. The full backtrace is in the attached file. This is the implementation:
#import <MRYIPCCenter.h>
#import <UIKit/UIKit.h>

@interface CanvasBackgroundServer : NSObject
+ (void)load;
@end

@implementation CanvasBackgroundServer
{
    MRYIPCCenter *_center;
    NSData *_data;
}

+ (void)load
{
    [self sharedInstance];
}

+ (instancetype)sharedInstance
{
    static dispatch_once_t onceToken = 0;
    __strong static CanvasBackgroundServer *sharedInstance = nil;
    dispatch_once(&onceToken, ^{
      sharedInstance = [[self alloc] init];
    });
    return sharedInstance;
}

- (instancetype)init
{
    if ((self = [super init]))
    {
        _center = [MRYIPCCenter<EMAIL_ADDRESS>        [_center addTarget:self action:@selector(getCanvas:)];
        [_center addTarget:self action:@selector(updateCanvas:)];
    }
    return self;
}
- (NSData *)getCanvas
{
    return _data;
}
- (void)updateCanvas:(NSData *)args
{
    _data = args;
}
@end

This is the relevant tweak.xm code:
static UIView *canvasVideo;
static MRYIPCCenter *center;

%hook CSCoverSheetViewController
-(void)viewWillAppear:(BOOL)arg1 {
    %orig;
    NSData *data = [center callExternalMethod:@selector(getCanvas) withArguments:nil];
    NSLog(@"spotifycanvas after callExternalMethod");
    canvasVideo = [NSKeyedUnarchiver unarchiveObjectWithData: data];
}
%end
%hook SPTCanvasNowPlayingContentLayerCellCollectionViewCell
-(void)setCanvasView:(id)arg1 {
   %orig;
   if(arg1)
   [center callExternalVoidMethod:@selector(updateCanvas:)withArguments:[NSKeyedArchiver archivedDataWithRootObject:arg1]];
}
%end
%ctor {
	center = [MRYIPCCenter<EMAIL_ADDRESS>}

Log.txt

Please send me a full log, from Cr4shed not CrashReporter so I can see the relevant NSException information. Also please provide more information. What process is the server in? What process is calling callExternalVoidMethod? What process is crashing out of the two? etc.

SpringBoard@2021-03-05_8:43_am.log
SpringBoard is calling callExternalVoidMethod. Spotify is calling callExternalMethod. SpringBoard crashes when calling callExternalVoidMethod but both crash when they each access the server. I'm not quite sure which process the server's in, could you tell me how to figure that out?

I moved the files outside of the enclosing folder, and for some reason that made my tweak stop throwing the error


Key extraction on macOS

Would this also work with macOS version? Or it’s only fir Windows?

I dont' know, I don't own the mac-version so I can't test it. But the code searches for a byte-pattern so chances are it will work on mac binaries as well. Try it and report back.

I tried extracting keys from the file "Return to Monkey Island" inside "Return to Monkey Island.app", but got the error:
./ggtool extract-keys "Return to Monkey Island"
thread 'main' panicked at 'Failed to write keys/key1.bin: Os { code: 2, kind: NotFound, message: "No such file or directory" }', ggtool/src/main.rs:32:48
File tree of the package below:

It seems it worked, so far I managed to extract the keys and the list the files inside the ggpack.
I was having some issues extracting the key until I released I had to create the "keys" folder otherwise, it would not extract them.

Extraction is working on macOS. I was able to extract the files, but the ".ktxbz" files are not being converted to PNG when I extract them.

Great! See the readme on how to compile with png conversion support

Did you get an error or what happened? It should spit out both the ktx and a png

I got the following error:
Extracting Locksmith1-hd.ktxbz. Size = 11416, offset =<PHONE_NUMBER>
Inflating...
Decompressing BPTC texture...
thread 'main' panicked at 'Contexts must be destroyed explicitly with `destroy_context`!', /Users/myusername/.cargo/registry/src/github.com-1ecc6299db9ec823/surfman-0.4.3/src/platform/macos/cgl/context.rs:95:13

I got the following error and the ktxbz file got extracted:
Extracting Locksmith1-hd.ktxbz. Size = 11416, offset =<PHONE_NUMBER>
Inflating...
Decompressing BPTC texture...
thread 'main' panicked at 'Contexts must be destroyed explicitly with `destroy_context`!', /Users/myusername/.cargo/registry/src/github.com-1ecc6299db9ec823/surfman-0.4.3/src/platform/macos/cgl/context.rs:95:13

There are other files that aren't getting extracted:
Extracting MonkeyHead2-hd.ktxbz. Size = 9530480, offset =<PHONE_NUMBER>
Inflating...
thread 'main' panicked at 'Failed to inflate compressed data: "unknown ZLIB method CM=0x0"', libdinky/src/ggpack.rs:136:52

Would you like to create two separate issues with these problem, so we can track and fix them?
For housekeeping I'll close this issue since the key extraction seems to be resolved on macOS binaries.
Thanks for your help testing this out!


Can we make react version also?

As coreui support react and now recently it has changed licence to MIT i guess we need to make react. Yes I will help you of course. But wanted to know from your site if you can help me on some parts
Thank you

Yea sure it will be nice !
I guess it's up to you to create your own repo as you'll be the main contributor ?
Of course I'll try to help you if needed.

Ok I have created a new repo https://github.com/bloggervista/laravel-react-boilerplate . I guess it will take me a week as I don't have mac and windows is really slow. If you would like to collaborate I will send request to you. Thanks for helping .


(3.0.0-vnext.1) permission Denial (requires the provider to be exported, or grantUriPermission())

Description
Error when picking from Image library.

How to repeat issue and example
Call ImagePicker.launchImageLibrary on Android
Permissions:
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Also added:
android:requestLegacyExternalStorage="true"

But no luck... using the camera works fine though.
Solution
No idea.
Additional Information

Image Picker version: 3.0.0-vnext.1
React Native version: 0.63.3
Platform: Android
Development Operating System: OSX
Dev tools:

        buildToolsVersion = "29.0.2"
        minSdkVersion = 21
        compileSdkVersion = 29
        targetSdkVersion = 29

See Breaking Changes.

@mtford90 Try this in latest vnext version. Post if you still get an error.


[NoNameShadowing] False negative inside lambdas

Expected Behavior
fun asdf(rotation: Float, onClick: (Float) -> Unit) {
    foo {
        asdf(rotation) { rotation -> onClick(rotation) }
    }
}

fun foo(block: () -> Unit) {
}

on that code I expect to have a violation of this rule because rotation -> shadows rotation: Float from the main function.
But if the code is like this:
fun asdf(rotation: Float, onClick: (Float) -> Unit) {
    asdf(rotation) { rotation -> onClick(rotation) }
}

The rule catches the problem.
Observed Behavior
Nothing is marked as shadowed.
Context
I know that this rule only relies on the kotlin compiler warnings but they seem a bit too lax.
Also, this type of pattern happens a lot on Compose because nearly always you are inside a Box or a Column and that "disables" this rule.
This issue is related to this other: https://github.com/appKODE/detekt-rules-compose/issues/41 but for sure they are two different issues.
Your Environment

Version of detekt used: 1.23.7

I know... and I'm not a huge fan but, to me, we should do that because the compiler isn't checking all the cases and we should.


Benchmark caveat

Describe the bug
When benchmarking https://github.com/vuejs/core/pull/12349, we discovered that due to the way Vitest evaluates modules, there is a slight overhead on every access of import bindings, probably due to the fact that ssrTransform transforms exports into getters:
// a.js
export let a = 1

// ---
// b.js
import { a } from './a'

// every access of `a` here has an getter overhead
console.log(a)
console.log(a)
console.log(a)

export let a = 1 is transformed to
let a = 1
Object.defineProperty(__vite_ssr_exports__, 'a', {
  // ...
  get() { return a }
})

However, for a library like Vue, the actual distributed file is bundled, so a will be scope-hoisted as a local variable in the same scope with the code in b.js, and has no getter overhead.
In hotpaths where a is accessed many times, this overhead can lead to misleading benchmark results. For example, it was confusing at first why instead of exporting a directly, nesting it under an object / namespace actually made it faster.
I'm not sure if there is an actual fix to this in Vitest - but at the very least we should document this caveat in the benchmark docs.
Reproduction
https://github.com/vuejs/core/pull/12349#issuecomment-2475063553
System Info
System:
    OS: macOS 15.0.1
    CPU: (12) arm64 Apple M2 Pro
    Memory: 473.03 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.17.0 - ~/Library/Caches/fnm_multishells/15964_1730078415592/bin/node
    npm: 10.8.2 - ~/Library/Caches/fnm_multishells/15964_1730078415592/bin/npm
    pnpm: 9.12.3 - ~/Library/Caches/fnm_multishells/15964_1730078415592/bin/pnpm
    bun: 1.1.34 - ~/.bun/bin/bun
  Browsers:
    Chrome: 130.0.6723.117
    Chrome Canary: 133.0.6835.0
    Safari: 18.0.1
    Safari Technology Preview: 18.0
  npmPackages:
    @vitest/coverage-v8: ^2.1.1 => 2.1.1
    @vitest/eslint-plugin: ^1.0.1 => 1.1.6
    vite: catalog: => 5.4.0
    vitest: ^2.1.1 => 2.1.1

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This is a duplicate of https://github.com/vitest-dev/vitest/issues/6543. The team agrees that it should be documented.

Oh ok, closing as duplicate then.


Mobile first breakpoint counting issue

In CSS when create your layout with mobile first approach your write for example
@media (min-width: 768px) {
    /* styles from 768px */
}

It means that styles will be applied when width of screen is 768px inclusive and more
But in slick slider if set mobileFirst: true and  write
responsive: [
    breakpoint: 768,
    settings: {
        // settings
    }
]

settings will be applied only from 769px breakpoint. Not 768

Hey @inferusvv thanks for the issue. What you're saying makes sense; good catch. Would you mind making a fiddle to demo it there's one you can fork in the Contribution Guidelines. PR would be great too if you're feeling ambitious.
Thanks again.


Pull messages as transition triggers into edges of "contract negotiation state machine"

Enhances and obeys comments of https://github.com/International-Data-Spaces-Association/ids-specification/pull/137
1st Iteration (a. without termination edges b. abbreviated msg + triggers in edges)

2nd Iteration (a. with termination edges b. msg + triggers in edges)

Missing

[ ] Adjustment of transfer state machine (blocked -> first discuss PR)

I agree with you. What about 1b without all edges to TERMINATED?

I agree with you. What about 1b without all edges to TERMINATED?

Does 1.b. have the message types in it? It looks like it doesn't. It should have the message types.

You are right. Here is the result:

I think we have 2 valid options

Go with @juliapampus's approach, having all edges and all states in the diagram. Only thing is that messages in nodes might not comply with UML notation
Go with messages on edges + all edges to TERMINATED - with the downside that it is complicated to read, but correct
I would not suggest to go with the approach, now checked in, as it is IMO easier to read, but needs also the message in TERMINATED state, since the other edges were left out.


Cannot Add Nodes!

Same as issue #661. No errors displayed. Screen refreshes on /admin/node/new when pressing the button. I will post on the community page as well.

Please open a thread on our community forums. Thanks!


Command-line parameter to turn TLS off please?

1. What version of Caddy are you running (caddy -version)?
latest version
2. What are you trying to do?
turn TLS off from the command line
3. What is your entire Caddyfile?
<not relevant>

4.  What did you expect to see?
that caddy would turn tls off
6. What did you see instead (give full error messages and/or log)?
the syntax error: "flag provided but not defined: -tlsoff"
7. How can someone who is starting from scratch reproduce this behavior as minimally as possible?
yes

Why do you need to turn off TLS from the command line? It can be turned off using Caddyfile

TLS off examples

http://www.example.com {
  ...
}

www.example.com:80 {
  ...
}

I'm attempting to use caddy from a docker container that manages the Caddyfile and I don't have access to it.  what I do have access to are the command-line parameters to the executable.
for development purposes I want to turn TLS off since I'm testing with entries in my /etc/hosts file and thus the domains I'm using don't actually exist, which causes problems with the Let's Encrypt, ergo my request.
it should be a big deal to add this parameter and it would make external control of caddy more complete

Did you know you can pass the Caddyfile in through the command line? There's two ways. https://caddyserver.com/docs/cli - scroll down to "Short Caddyfile" and "Pipe a Caddyfile". That should be what you want. :)

right, but I can't pass it to the docker container

I thought you said you had control of the command line arguments of the executable.

I do.  command-line parameters are specified in an environment variable that the container reads upon instantiation, but a reference to a local file would be meaningless to the container, which has its own local file system

Did you even read the "Short Caddyfile" section? No file required.

yes, of course.  but I'm not quite sure I would use it because I would need to include the tls off directive in each entry of the Caddyfile that the container generates for me

Since the command line options are for 'global' configuration, and TLS is a per-site configuration, you're better off figuring out how to get the short caddyfile or piped caddyfile methods to work for you.

but what I'm suggesting is that for development purposes, having a global configuration parameter would be most useful.  I would want it to apply to all sites defined, unless a given site overrode the global definition.  you do understand that for testing one would want to create names in the /etc/hosts file and that use of such names would fail the TLS mechanism right?  I may not have a domain name that I can use for testing yet but I can manufacture it in the /etc/hosts file.  this serves my purposes during development and having a way to make caddy work under such conditions would be very useful

I frankly don't want to make it that easy to disable TLS. It's already too easy.
I figure if you're automating the generation of these hostnames and stuff, you can just as easily automate the generation of the Caddyfile that adds a "tls off" where you need it.

ok.  in that case I would need to lobby the author of https://github.com/BlackGlory/caddy-proxy instead, but why not turn TLS off? it's a great feature during development

Because people will use it in production.

sure, and if that's what they want to do it should be up to them

@ekkis

sure, and if that's what they want to do it should be up to them

There is no excuse not to use TLS in production.

I don't disagree but that's not a decision that we should be making

I don't disagree but that's not a decision that we should be making

I will never agree you!
Have a nice day @ekkis


How to close a stream in client.

I am using quic-go to transfer a lot of small files, such as 100kb - 500Kb. But the question is that, when the server transfer is complete, the server actively calls the removeStream function to close those streams that have completed the transfer. And the client won't do that. How do I get the client to close those streams as well? Thanks for your answer. Best wishes!

You need to call Close() on both sides.

situation unidirectional?
If certainly know 100kb - 500Kb content-length. Once client receives all this data then client upper should call Close()


Migrate Quick Connect authorization workflow to Compose UI

Description
Currently, the QuickConnect authorization workflow UI is based on XML based system. This PR migrates it to use Jetpack Compose UI for the 3.x version to enable better code flow and maintainability.
Key changes:

Added a QuickConnectScreen that is the entry point for the QuickConnect authorization phase.  It hosts theQuickConnectView containing all the UI elements associated with this screen for easier instrumentation tests.
Added QuickConnectViewModel which is the bridge between the UI and the business logic (QuickConnectManager, SessionUIOperationHandler). This seamlessly fits into the workflow due to the changes done to quick connect UI being activity first unlike the 2.x pin screen.
AssuranceActivity which already hosts the PinScreen and StatusScreen will also host the QuickConnectScreen. AssuranceQuickConnectActitvity is no longer required and has been deleted. This makes Assurance a single activity flow with AssuranceNavHost as the single point of entry and control for the UI and business logic.
AssuranceQuickConnectView composes
- AssuranceHeader and AssuranceSubHeader
- QuickConnect graphic
- QuickConnectErrorPanel which optionally displays the error during connection phase.
- ActionButtonRow that contains a Cancel button and a multi-state Connect button.
- The Connect button is using the custom ProgressButton composable that is managed by ButtonState that defines its behavior and style (mapped to one of Idle, Waiting, Retry)
Added unit tests and instrumentation tests

There are some dimensions in the views that can be shared with PinScreen. These will be consolidated in a common constant file in a follow up PR
Related Issue
https://github.com/adobe/aepsdk-assurance-android/issues/88

How Has This Been Tested?

Unit tests
Instrumentation tests for UI components
Manual testing

Note that the tests on this PR will fail due to compilation errors pending PinScreen test fixes. These will come as a fast follow

Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

The changes look good. Can you update the Makefile so that the CI passes?


[BUG] MOC agents don't start after an upgrade failure to June

Describe the bug
When AksHci fails to upgrade from May to June, the expectation is that AksHci reverts to May and continues to function. But it leaves MOC agents in a stopped state. Manual attempts to start the agent don't bring them up.
To Reproduce
Steps to reproduce the behavior:

Install AksHci PowerShell module version 1.1.36
Upgrade AksHci. If the upgrade fails, AksHci falls back to May release, but MOC agents don't come up.

Expected behavior
If the AksHci upgrade fails, the expectation is that AksHci reverts to the previous release and continues to function without any issues
Symptoms
-> Mismatch between AksHci version and MOC versions
Get-AksHciVersion
<IP_ADDRESS>13
Get-MocVersion
<IP_ADDRESS>07
-> Mismatch between Get-MocVersion and wssdcloudagent.exe version
Get-MocVersion indicates that the June build is installed while ``wssdcloudagent.exe version` indicates that the May build is installed.
-> MOC agent services' image path has deployment id parameter
Use the following command to print the image path for the cloud agent:
reg query "HKLM\System\CurrentControlSet\Services\wssdcloudagent"
Example output:
"C:\Program Files\AksHci\wssdcloudagent.exe" --service --basedir "base dir" --cloudagentfqdn "cloudagent fqdn" --dotfolderpath "dot folder path" --objectdatastore "data store" --clusterresourcename "cluster name" --certificatevalidityfactor 1 --deploymentid "deployment id"
Use the following command to print the image path for the node agent:
reg query "HKLM\System\CurrentControlSet\Services\wssdagent"
Example output:
"C:\Program Files\AksHci\wssdagent.exe" --service --basedir "base dir" --cloudloginfile "cloud login file path" --dotfolderpath "dotfolder path" --nodeagentfqdn "node fqdn" --objectdatastore "object data store" --wssdproviderspec "provider spec" --deploymentid "deployment id"
Mitigation
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\wssdcloudagent" -Name ImagePath -Value 'above cloud agent image path without the deployment id'
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\wssdagent" -Name ImagePath -Value 'above node agent image path without the deployment id'

TSG published https://docs.microsoft.com/en-us/azure-stack/aks-hci/known-issues-upgrade#moc-agents-don-t-start-after-an-upgrade-failure


Javascript error in search results

Uncaught TypeError: Cannot read property '0' of undefined
http://cl.ly/image/3K1U2f2B3H0b

Happens when querying for guid a7a9daa7-a883-42fb-8772-fb79f899cd88 in production.
https://support.pmp.io/proxy/public/docs/a7a9daa7-a883-42fb-8772-fb79f899cd88

Fixed in 110f1ac0d98ebecb271ac445324e5f1743c6bb5f.