Why multiReference?

I have perhaps a naive question.
Looking at the example in the readme, "cars" returns an array. So this array should emit multiple rdf object values, what else could it emit?
Seems to me you need to extend/fix the rml implementation, but not necessarily the rml language?

Hi @VladimirAlexiev ,
Thanks for looking at this critically!
The reason we chose to introduce these multi* terms to realise multiplicity in term generation is because, in our opinion, the RML vocabulary doesn't define any such behavior. For example, according to R2RML a termmap is "A function that generates an RDF term from a logical table row.". RML doesn't seem to define an rml:TermMap stating that it can generate one or more RDF terms. Therefor, it is unclear what is expected to happen when an expression returns a representation of multiple values.
However, I agree that in many cases it would be logical to generate multiple terms by default.
I believe it would be good to discuss this and other topics in a larger setting, to see if we can clarify the current RML spec. Perhaps that will lead us to the same conclusion.

Right! You don't need  a new class rml:TermMap: the RML spec could clarify what happens with the standard class rr:TermMap when a data access returns multiple values.
Please note that http://rml.io/RMLmappingLanguage.html says "An Object Map specifies how the triple's object(s) are generated" (note the plural); and generates two instances from this data:
"People": [ { "name": "Anastasia",  "surname": "Dimou" },
                      { "name": "Ruben", "surname": "Verborgh" } ],

The iterator does not explicitly iterate over People (though it uses a wrong field name)
rml:iterator "$.[*].Person"

So the two values must be due to the "natural" iterative behavior discussed here

Just FYI I'm very grateful for the functionality, very useful in XML files. Also I do see cases where it would be nice to have on the subject itself but there are ways around it I think.

cases where it would be nice to have on the subject itself

@ktk, can you clarify what you mean here?

@pmaria: I think https://github.com/RMLio/rml-implementation-report/issues/11 clarifies the carml:multiReference extension is not needed: that's the expected behavior for multivalued fields.
Cheers!

Thanks @VladimirAlexiev . Will look at this soon.

The multi term map extension is deprecated with release v0.3.0.


uwsgi: use pyhome instead of pythonpath for uwsgi vassals

Motivation for this change
Fixes #55221. If accepted, I would like to backport this to 20.03 as well.
Things done

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

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

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

@GrahamcOfBorg test uwsgi

backport:
[detached HEAD 2ec23b2e2fc] uwsgi: use pyhome instead of pythonpath for uwsgi vassals
Author: Alexander Bakker<EMAIL_ADDRESS>Date: Wed Mar 4 20:20:32 2020 +0100
1 file changed, 1 insertion(+), 1 deletion(-)
Press Enter to continue


cmd/compile: odd bounds check elimination

What version of Go are you using (go version)?

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?

What did you do?
package main

// Closure .
func Closure(as []interface{}, bs []interface{}) {
	_ = func() {
		_ = as[:len(as)] // [L6:9] checked?
		_ = bs[:len(bs)] // [L7:9] checked?
		// swap
		_ = as[:len(bs)] // checked, that's right.
		_ = bs[:len(as)] // checked, that's right.
	}
}

// NoClosure .
func NoClosure(as []interface{}, bs []interface{}) {
	_ = as[:len(as)] // eliminatd, that's right.
	_ = bs[:len(bs)] // eliminatd, that's right.
	// swap
	_ = as[:len(bs)] // checked, that's right.
	_ = bs[:len(as)] // checked, that's right.
}

// ClosureAssert .
func ClosureAssert(as []interface{}, bs []interface{}) {
	_ = func() {
		if len(as) == len(bs) {
			_ = as[:len(bs)] // [L27] eliminatd, why?
			_ = bs[:len(as)] // [L28] eliminatd, why?
			_ = as[:len(as)] // [L29:10] checked, why?
			_ = bs[:len(bs)] // [L30:10] checked, why?
		}
	}
}

func main() {}

go build -gcflags="-d=ssa/check_bce/debug=1" main.go

What did you expect to see?
See the comments of the code above.
What did you see instead?

CC @randall77 @aclements

Hi @zhengxiaoyao0716. You may be happy to know that this will improve significantly in Go 1.11, which can eliminate the two bounds checks in Closure and all four bounds checks in ClosureAssert.
In Go 1.10, you happen to be hitting some of the weirder corner cases of the compiler.
In Closure, the references to the captured variables get rewritten into pointer dereferences. Early on, the compiler applies a simple rule that matches exactly the as[:len(as)] pattern, but because of the extra level of indirection for captured variables, the pattern doesn't match. It does match in NoClosure because as is a local variable, not a captured variable.
ClosureAssert is even weirder, I'm afraid. Just like Closure, that doesn't trigger the simple as[:len(as)] pattern, but it does trigger the more sophisticated "prove" pass, which understands the general relationships between slice lengths and capacities. However, because of the structure of "prove" in Go 1.10, the IsSliceInBounds alone (like in Closure) wasn't sufficient to trigger the fact that len(x) <= cap(x). But the equality comparison added in ClosureAssert was enough to trigger this fact, and once that fact was available it could use it for the IsSliceInBounds. That's why this works in ClosureAssert but not Closure. We fixed this in commit 669db2cef55321b0fe354b8bf9212245dc9c6aed.
Hopefully that explains things. Since this will be fixed in Go 1.11, I'm closing the issue.

@aclements Thanks for your patient answer!


Force tenant connection of models resulting in Too many connections error

Description
When using the tenancy.db.force-tenant-connection-of-models config with Illuminate\Notifications\DatabaseNotification::class it results in DB error Too many connections in both test and production ready migrations.

Actual behavior
As seen in this new feature
https://github.com/tenancy/multi-tenant/blob/5.x/src/Providers/Tenants/ConnectionProvider.php#L69
This is overriding the resolver for that class but it is not overriding the process of destruction. So when the process repeat itself for ex. in test or tenant migrations it always throws an Too many connections since it did not override the connection close process.
Expected behavior
This resolver should also override the DB connection close process so it not only resolves the new connection on those models but also closes it correctly

Information
I would provid esome replication steps, but its really hard to reproduce with migrations. It does the same when you have more like 30+ tests (When those test uses migrations).
But I think the problem is clear, in case of any questions, let me know

hyn/multi-tenant version: any 5.2 +

tenancy.php config
'force-tenant-connection-of-models' => [
            Illuminate\Notifications\DatabaseNotification::class
        ],

So we have retried to solve this problem and found out that it could possible be because of this changes
https://github.com/tenancy/multi-tenant/commit/7c8865c6afbecbf303fe776d2c0b8597aa4293b2#diff-f29957f76a2b22e76953e0dade286d2b
If I understand it correctly it does not PURGE the connection after each tenant, which results is Too many connections if I run tenancy:migrate or so. So it ends up with a tons of connections.
I have more then 750 tenants and this happens mostly after it does like 30-50 tenants. Could this be the problem?

@CodeSkills my apologies George, this got lost in the list of notifications. I can imagine the referenced commit might have caused this, we'd need to look into it. Were you able to resolve the issue locally?

I have unfortunately not, it seems like part of it is the original issue posted. It started working by removing that DatabaseNotification. But it still impact tests somehow. When running phpunit, is it possible that it still impacts that, even without any force overrides ?

@CodeSkills does this only happen in tests or also in dev / production env?

It happens in both, but in prod/dev only if any 'force-tenant-connection-of-models' is specified (At least one). If none is there. it still happens in tests, which I couldn't figure out why. (We have 1000+ test). But it happens always when runing more test 30+ at once.


Collection Page: Publish Collection

Add Button to Publish a Collection to the Collection Page. This will show a popup to confirm the collection:

When the Publish succeeds, a success alert message will appear:

Depends on the Publish Collection use case in js-dataverse: https://github.com/IQSS/dataverse-client-javascript/issues/178

This issue is dependent on integration code that will be implemented in https://github.com/IQSS/dataverse-frontend/issues/425, so added a waiting tag.

https://github.com/IQSS/dataverse-frontend/issues/425 is waiting for an another API change, so I will move the integration logic to this feature.


Grant SELECT on future views-tables in SCHEMA

Provider Version
The provider version you are using: 0.17.1
Terraform Version
The version of Terraform you were using when the bug was encountered. v.0.13.4
Describe the bug
The provider is trying to constantly remove a ENGINEER role from a future select table grant, even though it is not defined any more in the tf files and it has been removed already.
-/+ resource "snowflake_table_grant" "in_db_table_grant_select" {
        database_name     = "IN_DB"
      ~ id                = "IN_DB|CUSTOMERDATA||SELECT|false" -> (known after apply)
        on_future         = true
        privilege         = "SELECT"
      ~ roles             = [ # forces replacement
            "LOADER",
          - "ENGINEER",
        ]
        schema_name       = "CUSTOMERDATA"
      - shares            = [] -> null
        with_grant_option = false
    }

When I apply these changes I see these comands (among others) in Snowflake (from newest to oldest).
SHOW FUTURE GRANTS IN SCHEMA "IN_DB"."CUSTOMERDATA"
GRANT SELECT ON FUTURE TABLES IN SCHEMA "IN_DB"."CUSTOMERDATA" TO ROLE "LOADER"
REVOKE SELECT ON FUTURE TABLES IN SCHEMA "IN_DB"."CUSTOMERDATA" FROM ROLE "LOADER"
REVOKE SELECT ON FUTURE TABLES IN SCHEMA "IN_DB"."CUSTOMERDATA" FROM ROLE "ENGINEER"

So this is OK - it revokes first the SELECT on FUTURE TABLES from LOADER and ENGINEER and then grants only LOADER
But then when I run the plan again, I get the same plan:
      ~ roles             = [ # forces replacement
            "LOADER",
          - "ENGINEER",
        ]

I checked in Snowflake, the ENGINEER does not have SELECT ON FUTURE TABLES by running the command:
SHOW FUTURE GRANTS IN SCHEMA "IN_DB"."CUSTOMERDATA"

It returns SELECT on VIEW but not on TABLE.  So can be this the reason of this bug? That the provider somehow interprets the Snowflake SELECT grant on VIEW as SELECT on TABLE?
So it looks to me that the provider interprets that this role has select on future table, but in reality it has not.
Expected behavior
The provider should not try to remove a role when it has been already removed.
Code samples and commands
Please add code examples and commands that were run to cause the problem.
Additional context
Add any other context about the problem here.

Another findings:

I checked the state file. And it looks correct. On the resource snowflake_table_grant on this schema there is only LOADER role granted.
As stated above, the state of Snowflake is also correct.

use role LOADER;
use IN_DB.CUSTOMERDATA;
create table T(id int);
insert into T select 10;
create view T_VIEW as select * from T;
-- OK

use role ENGINEER;
select * from T;
-- Fails - this is OK, SELECT on future tables is not granted.
select * from T_VIEW;
-- Succeeds - this is OK as SELECT on future views granted.

So the ENGINEER does not have SELECT access on.
Then the question is why the plan phase suddenly detects that the ENGINEER do have a SELECT privilege on future tables?
My resources are:
resource "snowflake_view_grant" "in_db_view_grants" {
  for_each      = local.in_select_view_roles
  database_name = snowflake_database.in_db.name
  schema_name   = each.key
  privilege     = "SELECT"
  on_future     = true
  roles         = each.value
  depends_on    = [snowflake_schema.in_schemas, snowflake_role.role]
  provider      = snowflake.security
}

resource "snowflake_table_grant" "in_db_table_grant_select" {
  for_each      = local.in_select_table_roles
  database_name = snowflake_database.in_db.name
  schema_name   = split("|", snowflake_schema.in_schemas[each.key].id)[1]
  privilege     = "SELECT"
  on_future     = true
  roles         = each.value
  depends_on    = [snowflake_schema.in_schemas, snowflake_role.role]
  provider      = snowflake.security
}

# Local values are:

in_select_table_roles = {
  "CUSTOMERDATA" = [
    "LOADER",
  ]
}
in_select_view_roles = {
  "CUSTOMERDATA" = [
    "LOADER",
    "ENGINEER",
  ]
}

The state shows that the SELECT is not granted to LOADER role.
$ terraform state show snowflake_table_grant.ingestion_db_table_grant_select[\"CUSTOMERDATA\"]
...
...
2020/10/23 12:26:26 [DEBUG] [aws-sdk-go]
# snowflake_table_grant.in_db_table_grant_select["CUSTOMERDATA"]:
resource "snowflake_table_grant" "in_db_table_grant_select" {
    database_name     = "IN_DB"
    id                = "IN_DB|CUSTOMERDATA||SELECT|false"
    on_future         = true
    privilege         = "SELECT"
    roles             = [
        "LOADER",
    ]
    schema_name       = "CUSTOMERDATA"
    with_grant_option = false
}

@ryanking tried to debug it but loosing hope. Can you hint me why the planning phase is suddenly evaluating the actual status in Snowflake that the ENGINEER has a SELECT on future tables, but in reality it does not? Because I checked then the apply process, and this is just reapplying those grants correctly. State is correct as well after apply. Can you hint me where in the code I should focus?

I have found a solution/workaround created a PR for it.


Please add Expression field to AWS CloudWatch scaler

Proposal
We'd like to add simple math aggregation to our metric data.
As it stands, we need to write a Lambda Function to poll and compute new metric data from a set of metrics, and then publish them back to cloudwatch.
Would be nice to be able to perform this kind of operation without need to provision Lambda
Use-Case
According to https://forums.aws.amazon.com/thread.jspa?threadID=309159
We can get a rough estimate on how many active connections are there by performing math expression.

Interesting request as this could be interesting for multiple scalers. What would the expression look like?

I would imagine they mean a CloudWatch expression. We hardwire things to MetricStat here https://github.com/kedacore/keda/blob/main/pkg/scalers/aws_cloudwatch_scaler.go#L278 but CloudWatch allows asking for either a single metric or an expression https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html

Makes sense to have this as a field indeed! Are you willing to contribute this @jeffjen ?

Makes sense to have this as a field indeed! Are you willing to contribute this @jeffjen ?

I can work on this
My proposed change will be to not mess with multiple metrics in a query since it will change the struct to include an array of dimensions / namespace
The first step will be to just provide a way to add Math Expression for a single metric on designated dimension and namespace.

Thanks!
I don't know how the SDK works but I'd just add a new optional expression field which just passes through to AWS CloudWatch and let it handle everything?

I've opened this PR to add alternative expression field and also changed the scaler to use int64 instead of float64.

I'd say that this is done by https://github.com/kedacore/keda-docs/pull/755. Feel free to reopen the issue if it's not done


Moving App.xaml to folder in UWP project breaks build.

VSF_TYPE_MARKDOWN
In Visual Studio 2019 SP3, I have a Universal Windows App, started from a template.  It builds fine.
I have created a "UI" folder, and moved "MainPage.xaml" (and associated .cs file) into the UI folder.   The build is still fine.
But when I move App.xaml (and associated .cs file) the build breaks -- see attached image -- with errors on both App.xaml and MainPage.xaml.
Also, the output only complains about 1 thing: "Application main file must be named App.xaml", not the 21 errors shown in the attachment.
Moving App.xaml back into the root folder "fixes" the problem.
I have since learned that in this app type, App.xaml MUST be in the root.   That's fine, but I still believe the 21 extra errors are indicative of a bug, especially how the output and errors windows are not in agreement.  Hopefully this problem report helps!
Thanks!
-Eric.
This issue has been moved from https://developercommunity.visualstudio.com/content/problem/502906/moving-appxaml-to-folder-in-uwp-project-breaks-bui.html
VSTS ticketId: 826365
These are the original issue comments:
Visual Studio Feedback System on 3/24/2019, 07:06 PM (42 days ago): We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.
These are the original issue solutions:
(no solutions)

We fixed this issue in the upcoming version of the Windows SDK and it is also fixed in WinUI 3.0 Alpha that we just released for preview today.

We fixed this issue in the upcoming version of the Windows SDK and it is also fixed in WinUI 3.0 Alpha that we just released for preview today.


[JAVA CLIENT] OpenLineageClientUtils#loadOpenLineageYaml appears to be inconsistent across its overloaded methods

  public static OpenLineageYaml loadOpenLineageYaml(ConfigPathProvider configPathProvider) {
    try {
      for (final Path path : configPathProvider.getPaths()) {
        if (Files.exists(path)) {
          return YML.readValue(path.toFile(), OpenLineageYaml.class);
        }
      }
      throw new IllegalArgumentException();
    } catch (IOException e) {
      throw new OpenLineageClientException(e);
    }
  }

  public static OpenLineageYaml loadOpenLineageYaml(InputStream inputStream) {
    try {
      return JSON.readValue(inputStream, OpenLineageYaml.class);
    } catch (IOException e) {
      throw new OpenLineageClientException(e);
    }
  }

Things to note:

OpenLineageClientUtils#loadOpenLineageYaml(ConfigPathProvider) reads a YAML
OpenLineageClientUtils#loadOpenLineageYaml(InputStream) reads a JSON

I'm wondering if this is intentional. This method name loadOpenLineageYaml is misleading in the latter case.

This method name loadOpenLineageYaml is misleading in the latter case.

It definitely is.


update for onCompleted function name change

function onComplete changed name to onCompleted in RxSwift 2.0.0-beta.2

Hi @ewerx,
Thanks for the PR, all the proposed changes were already in the develop branch since few days.
Please take a look a the new version and eventually submit new PR if you find something wrong or that can be improved.
In the meantime I close this.
Thanks. :)


Login Credentials to generate Authorization Code

Hi, I have created a client and I want to generate an Authorization code via hitting the URL as mentioned in the documentation. This leads to a login page. I am stuck as to what credentials are supposed to be provided for the new client.

Hi @rakesh30892,
you can not login with a client with it's id and secret. You can only login with a user (username and password). If you have a default installation of osiam, just try it with the user admin and password koala.
This is the case of the 3-legged OAuth flow, where the client application uses the authorization code to get an access token of the user to avoid to release the password of the user.
Twitter has a nice description of the 3-legged OAuth flow and we also provide a description of our authorization code grant.

Hi @dacrome, thanks for responding but the clarification I required was regarding the credentials, i.e. whether the default username and password can be updated and used to generate as in, can i update "admin/koala" to something else and login ?

If you just want change the admin user via the command line, please see the documentation on this.

@rakesh30892 did our explanations help? If so, please close this issue.

Hi, Thanks for the help !


[fix](ES Catalog)Only like on keyword can be applied to wildcard query (#41176)

bp #41176

run buildall


Bug fix - in store, check if window.devToolsExtension exists before exporting it

Connected to https://github.com/rangle/rangle-starter/issues/114

:shipit:


Really bad UX for displaying actions

The user experience for displaying actions is unusable. Unless an indexer has an ultra-wide display and eagle vision, it is not possible to see the entirety of the displayed data. Furthermore, attempts to massage the display output are thwarted due to the use of Chalk, which throws random escape characters and colour change sequences into the output. Please consider removing Chalk from all output unless absolutely neccessary for highlighting errors or similar.

@kaiwetlesen You prefer things to be via CLI vs Browser? Or would a browser with the select options also be valuable?

Personally? I’ve always preferred a decent command line interface as they always seem quicker.On May 5, 2023, at 12:02, timfong888 @.***> wrote:
@kaiwetlesen You prefer things to be via CLI vs Browser? Or would a browser with the select options also be valuable?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Furnaces should be able to burn fuel without something to cook/smelt

Gloom can't be countered unless you have food or ore too cook.  Is it possible to allow fuel to burn in furnaces without something to cook?

Not without replacing the furnace block and tile entity. Usually, what I do is mine a piece of coal and get a stick to keep a torch in my hidey-holes.

I was in the awkward starting situation where i had a bunch of wood but nothing to cook and no coal, lol.  Thanks for the fast reply.


Updated repository with theme

This outta do the trick.
cc/ @rgbkrk @cameronoelsen
Also, @rgbkrk — can you possible rename the repository to something else? Like jupyter-blog-theme.

Done.


script: update CI to bitcoind 22

Also switches things over to our own image generated by this repo: https://github.com/lightninglabs/docker-bitcoin-core

Builds fails rn with:
Error response from daemon: manifest for lightninglabs/bitcoin-core:22 not found: manifest unknown: manifest unknown

The .0 is being stripped off somewhere...🤔


Stripe Elements?

Hi! Wonderful repo - thank you so much for creating it!
Is it fairly straightforward to do the same with Stripe's new Elements feature?
https://stripe.com/docs/elements/reference
Thanks again!
Irfaan

Hi @irfaan appreciate it :)
I did not know Stripe created this until today!
I don't think adding Elements is in the scope of this project, but I'll talk to my other team members about using it our current project; we'll definitely be open-sourcing a react component for that if we do go ahead with it.


Missing package

Hi,
i had to install imagemagick as brunch stopped with critical error that this was missing
sudo apt-get install imagemagick
did it
I tried building LineageOS for flo

Thanks for the info! I remember that this dependency was recently added, see https://review.lineageos.org/#/c/154081/


How to get the IOT Edge device status by python sdk?

After connecting to IOT Edge , Runtime Response tag shows OK.
But when i use get_device in IoTHubRegistryManager,  'connection_state' shows 'Disconnected'

@jackiecatchcatch The connection_state is a very slow moving status.  Can you describe your use case where you're not seeing this value change?

I create an IOT edge in my hub and connect my device with it.
After they have connected, IoT Edge Runtime Response in portal shows 200-OK.
I want to get this information from python.
So i use sample code in azure-iot-hub(iothub_registry_manager_sample.py)
to get the information.
After running the code, the connection_state in that sample code get the wrong status.
or maybe i used the wrong function to get IoT Edge Runtime Response?

Hello @jackiecatchcatch,
One of the issues you may be running into is that the IoT Edge runtime does not connect to the device itself, only to the modules on the device. One way to see if the IoT Edge runtine is connected is to look at the "$edgeAgent" module status.

I brought this up to the team, and even getting $edgeAgent status may not be 100% reliable.  The current recommendation is to use the ping direct method.

OK I got it

@jackiecatchcatch, @darobs, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey

Are there any new ways of getting the IoT Edge Response using a direct method or some API?
On the portal I see this:

And when I sending the ping method to $edgeAgent I get this: '{"status":200,"payload":null}'
So clearly ping is not a perfect workaround for getting the actual state of the device.


fix: error when adding a self contained vault inside a native workspace

Fixes an error that happens when adding a self contained vault to a native workspace.
Dendron Extended PR Checklist
Code
Basics

[x] code should follow Code Conventions
[x] circular dependency check: make sure your code is not introducing new circular dependencies in plugin-core.  See Avoiding Circular Dependencies.
[x] sticking to existing conventions instead of creating new ones

eg: if configuration for utilities are already in one module or package, add future utilities there as well

Extended

General

[x] check whether code be simplified
[x] check if similar function already exist in the codebase. if so, can it be re-used?
[x] check if this change adversely impact performance

Operations

[x] when shipping this change, will it just work or will it introduce additional operational overhead due to complicated interface or known bugs?

Architecture

[~] check if code is introducing changes on a foundational class or interface. if so, call for design review if needed

eg: making changes to DNode

Instrumentation
Basics

[~] if you are adding analytics related changes, make sure you Document changes in airtable

Extended

[~] can we track the performance of this change to know if it is successful?

eg: see usage for export pod

Tests
Basics

[x] Write Tests
[x] Confirm existing tests pass
[x] Confirm manual testing
[x] Common cases tested
[x] 1-2 Edge cases tested
[x] If your tests changes an existing snapshot, snapshots have been updated

Extended

[~] If you are adding a new language feature (graphically visible in VS Code/preview/publishing), an example is included in the test workspace

[~] CSS

[ ] display is correct for following dimensions

[ ] sm: screen ≥ 576px, eg. iphonex, (375x812)
[ ] lg: screen ≥ 992px
[ ] xxl: screen ≥ 1600px eg. mac (1600x900)

[ ] display is correct for following browsers (across the various dimensions)

[ ] safari
[ ] firefox
[ ] chrome

Docs
Basics

[~] if your change reflects documentation changes, also submit a PR to dendron-site and mention the doc PR link in your current PR

Basics

[~] does this change introduce a new or better way of doing things that others need to be aware of? if so, an async should be created and a process added in Development or Packages

Close the Loop
Basics
Extended

[~]  is this a developer BREAKING change? if another person cloning from this branch will need to adjust their dependencies or mental model of the architecture, then it is. if this is the case, make sure this is communicated according to Close Loop

eg. breaking dev change due to new dependency

Failed windows tests seem to work fine locally.

If we can't figure out the windows test issue, then let's skip for Windows.
Code otherwise lgtm

@SeriousBug - can we add the windows skip for the failing tests?  Looks like they're continuing to fail in the CI.


Persona refactor

I'll take a deeper look later this afternoon/morning, but made some prelim comments as I had my tea haha.


Add database serializers db_to_string, db_of_string.

I want to be able to save the lease database in disk.

looks good to me, thanks!


Allow passing Gunicorn args via environment Variables

It would be grate, if there would be the 'native' option to pass more arguments to the Gunicorn service than these four.
# https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/master/docker/entrypoint.sh
GUNICORN_TIMEOUT="${GUNICORN_TIMEOUT:-120}"
GUNICORN_WORKERS="${GUNICORN_WORKERS:-4}"
GUNICORN_LOGLEVEL="${GUNICORN_LOGLEVEL:-info}"
BIND_ADDRESS="${BIND_ADDRESS:-<IP_ADDRESS>:80}"

GUNICORN_ARGS="-t ${GUNICORN_TIMEOUT} --workers ${GUNICORN_WORKERS} --bind ${BIND_ADDRESS} --log-level ${GUNICORN_LOGLEVEL}"

For now, you could just pass any option to any of these environment variables, as they are just appended to the Gunicorn service.
As an example if you would like to enable TLS in Gunicorn, this could be accomplished by injecting the following variables:
BIND_ADDRESS: "<IP_ADDRESS>:443 --keyfile=/etc/ssl/tls.pem --certfile=/etc/ssl/tls.pem --ssl-version=TLS_SERVER"

It would be much greater, to inherit the $GUNICORN_ARGS variable from the current environment variable like so:
GUNICORN_ARGS="${GUNICORN_ARGS} -t ${GUNICORN_TIMEOUT} --workers ${GUNICORN_WORKERS} --bind ${BIND_ADDRESS} --log-level ${GUNICORN_LOGLEVEL}"

Hello,
Can you look at #1072 ? It may implement such options. If not we'll keep your request open and try to add it in the next weeks.


Minor changes/help for future improvements

Hi @sondrele,
I am learning Rust and I've been playing around with your bmp crate. It's really cool, and I'd like to help improve it. I've moved some of the code around in order to organize it to how I think it should look. What are your thoughts on it?

Put mod tests is in lib.rs and removed the directory src/tests

This "idiomatically" is where unit tests go.

Removed global enum use ...* blobs in favor of specifying the enum before the variant

Seems cleaner this way

Changed some minor formatting typos in the readme
Implemented AsRef<str> for BmpErrorKind
Generally reorganized the order lib.rs

Now, the only things defined before the mod statements are macros, which are order-dependent

All tests are passing.
I'd be happy to add or remove anything from this list. What I'm working on now is improving the speed of read/write bmps. One improvement which has already doubled the speed of reading is changing Cursor<Vec<u8>> to just Vec<u8> (see my no_cursor branch). The downside, of course, is that the library will panic! instead of returning a BmpResult.
Let me know what I can do to improve this pr.
Cheers,
Ottavio

Hi @omh1280! Sorry for the late reply. Fun that you've been taking a look at this, it was a project I started on myself when I dived into Rust a  couple of years ago :)
The changes seams good to me! I'll take a closer look and merge them later!

Thank you @omh1280! :)
When it comes to faster decoding. It might be perfectly fine to use a Vec<u8> instead of a Cursor and loose the Error-propagation, as long as we check that the size of the Vec is enough to decode an image with the given size?
Maybe we can return a new BmpErrorKind instead, something like InvalidBmpData (or something more specific related to the file size, if you can find a good name for it), for the case when the file size specified in the bmp header is smaller than the size required by the width/height specified in the header?


HEDA Idea: Extend HEDA TDTM Handler to allow for the exclusion by Profile (INVESTIGATION)

HEDA Idea: Change HEDA TDTM Handler to exclude based upon Profile.Name instead of Username

Created by: Corey Snow (Harvard Initiative for Learning and Teaching)
Idea:
Currently, in the TDTM Trigger Handler records, one can specify a list of Users for which the Triggers will not run in Field: hed__Trigger_Handler__c.hed__Usernames_to_Exclude__c
While perhaps somewhat helpful for testing, Usernames are guaranteed to be unique in every Sandbox, which means these values will not survive within the context of normal change management strategies. This is essentially 'hard-coding' of Usernames. Changing to use User Profile (Profile.Name) for this exclusion would cause the logic to persist across Sandboxes in a 'self-healing' way. Exclusions by Profile for all forms of automation constitute a best practice across the core platform (e.g. Validation Rules, WFRs, Process Builder, Flows, Apex, etc)

**lurch: add

Tracking W-028016

**lurch: detach

Detached null

**lurch: detach W-037758

**lurch: attach W-037758

Tracking W-037758

Detached W-037758

**lurch: attach W-037758

Tracking W-037758


Create a term "shopping cart"

We should have a button in the tree browser to add terms to a "shopping cart" - a temporary file stored on the server. This should have two columns:

Term ID
Related entities (ancestors, descendants, etc.)

Users should then be able to export the terms in the format they want. I'll start with a TSV export using gizmos.export, but we want to be able to extend this for import configuration.

This will drive Gizmos import https://github.com/ontodev/gizmos/issues/75


Update NooBaa core and endpoint default CPU resource values

Update NooBaa core and endpoint default CPU resource values
Limit/request for the NooBaa Endpoint and Core pods is expected to be a fraction number, like 999m.
See
- https://bugzilla.redhat.com/show_bug.cgi?id=2123133
- https://github.com/noobaa/noobaa-operator/pull/830
Signed-off-by: Alexander Indenbaum<EMAIL_ADDRESS>

/ok-to-test

/retest

@dannyzaken Is this PR good from Noobaa perspective?

/cherry-pick release-4.12

/cherry-pick release-4.11
/cherry-pick release-4.10

/cherry-pick release-4.10


accessibility_access true for shortcat

Thank you for the contribution. It was merged directly as 996b249ba40d6374063347a3d6930a1f500e6818 to keep commit history cleaner. Your contribution is still credited to you.


Fix unstable RMSNorm

As mentioned in flax's doc, with fp16 training, normalization should still use fp32 for stability.
Below is what I observed in evaluating LLaMA with EasyLM. All experiments use the same sample:
dtype=jnp.float32 or dtype=jnp.bfloat16: the loss is 0.12
dtype=jnp.float16, without this pr's fix: the loss is 2
dtype=jnp.float16, with this pr's fix: the loss is 0.12

Thanks a lot for the fix! Do you know if this also affects bfloat16?

I tested few samples on bf16 with the fix, the loss looks good(still around 0.12 for the same sample as above)


Add callsite support for NLogLogProvider, fix issue #102

Doesn't seem to actually pull out the correct call site though. Exact same code from my bug request https://github.com/damianh/LibLog/issues/102
2016-09-23 16:10:50.6885  INFO   1 ConsoleApplication11.Logging.LogExtensions.Info Hi LibLog
2016-09-23 16:10:50.7345  INFO   1 ConsoleApplication11.Program.Main Hi CommonLog
2016-09-23 16:10:50.7345  INFO   1 ConsoleApplication11.Program.Main Hi NLogLogger

Fixed when used with LogExtensions

Cool thanks for this.

Thanks for the contrib, looks good. Apologies for not getting to is sooner.


[ZEPPELIN-3089] Create user folders under Trash folder

What is this PR for?
In the situation where multi users a create notebook, "Empty Trash" button next to "Trash" folder on Top page is not working because "Empty Trash" button tries to delete all notebooks in Trash folder. which includes notebook no owner and no writer permission.
For resolving this issue, create a user folder under Trash folder, and "Empty Trash" button deletes all notebooks in a user folder, while "Restore" button restore all notebooks in a user folder.
What type of PR is it?
Bug Fix
What is the Jira issue?

Open an issue on Jira https://issues.apache.org/jira/browse/ZEPPELIN-3089

How should this be tested?

Login as user 'A' and create a notebook 'A'
Move notebook 'A' to Trash
Login as user 'B' and create a notebook 'B'
Move notebook 'B' to Trash
Click 'Empty Trash' button next to 'Trash' folder

Screenshots (if appropriate)

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Yes, the default is anonymous.
Deleted files will be moved under  ~Trash/anonymous/ folder.

A note can be used by a group.
If user 'A' deletes a note, then the note will be "hided" and it will be hard for user 'B' to find this note.
Our practice to have its own separate folder for each group and each user.

this https://github.com/apache/zeppelin/pull/2695#issuecomment-349882841 is a good point...

Whether a user can find the notebook in trash or not is based on permission of the notebook, then If user 'B' has properly permission for the notebook deleted by user 'A', user 'B' can find the notebook in trash.
However, I find some issues in this PR. For example, user 'A' delete a notebook, then user 'B' restore the notebook from trash. In this PR, even if user 'B' has 'owner' permission for the notebook, cannot do that.

what's the next step then?

I have created a new PR https://github.com/apache/zeppelin/pull/2872. Let me know if that makes sense, I can close that if required. Have created new as this was stale for 3+ months.


docs(issue): add issue template for help wanted and feature request

Add issue template

Nice work!

Nice work!


bctoolbox: 4.5.20 -> 5.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/bctoolbox/versions.
meta.description for bctoolbox is: "Utilities library for Linphone"
meta.homepage for bctoolbox is: "https://gitlab.linphone.org/BC/public/bctoolbox"
meta.changelog for bctoolbox is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 5.0.0 with grep in /nix/store/bkr7bk3khja4v8s19pc0dqq4gxslp8z5-bctoolbox-5.0.0

found 5.0.0 in filename of file in /nix/store/bkr7bk3khja4v8s19pc0dqq4gxslp8z5-bctoolbox-5.0.0

directory tree listing: https://gist.github.com/d152bc08924e9324510f18c6191dca10

du listing: https://gist.github.com/b053bb706e51fdf1ba2e901c14d6ba79

Rebuild report (if merged into master) (click to expand)

2706 total rebuild path(s)

1081 package rebuild(s)

1081 x86_64-linux rebuild(s)
887 i686-linux rebuild(s)
77 x86_64-darwin rebuild(s)
661 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
acgtk
archivy
balanceofsatoshis
bctoolbox
belcard
belle-sip
belr
beluga
bpftools
bumblebee
bzrtp
cargo-flamegraph
castnow
coqPackages.coq-elpi
coqPackages.hierarchy-builder
coqPackages.mathcomp-analysis
create-cycle-app
crosvm
cryptop
displaylink
dune-release
eff
electron
electron_11
electron_12
electron_13
element-desktop
elfkickers
epgstation
etcher
exploitdb
flow
framac
freefall
freetube
geekbench
gnome.gnome-applets
google-chrome-beta
gpio-utils
gwe
haxe
haxePackages.hxcpp
haxePackages.hxcs
haxePackages.hxjava
haxePackages.hxnodejs_4
haxe_4_0
haxe_4_1
haxe_4_2
home-assistant
hxcpp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/bkr7bk3khja4v8s19pc0dqq4gxslp8z5-bctoolbox-5.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bctoolbox https://github.com/r-ryantm/nixpkgs/archive/398f2e5f51ddf4f7baa0c1d13faf008786e94d9f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/bkr7bk3khja4v8s19pc0dqq4gxslp8z5-bctoolbox-5.0.0
ls -la /nix/store/bkr7bk3khja4v8s19pc0dqq4gxslp8z5-bctoolbox-5.0.0/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @7c6f434c @jluttine for testing.

Result of nixpkgs-review pr 129751 at 398f2e5f run on aarch64-linux 1

7 packages skipped due to time constraints:

belle-sip
liblinphone
lime
linphone
mediastreamer
mediastreamer-openh264
msilbc

6 packages built successfully:

bctoolbox
belcard
belr
bzrtp
ortp
trx


Fix relative paths in Gitub OIDC blob test

should fix the github oidc action which is broken due to #1673
Signed-off-by: Priya Wadhwa<EMAIL_ADDRESS>
Summary

Ticket Link

Fixes
Release Note

Codecov Report

Merging #1677 (e7cb1e0) into main (017c438) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1677      +/-   ##
==========================================
- Coverage   29.19%   29.15%   -0.04%
==========================================
  Files         140      140
  Lines        8365     8365
==========================================
- Hits         2442     2439       -3
- Misses       5658     5660       +2
- Partials      265      266       +1

Impacted Files
Coverage Δ

pkg/cosign/tuf/client.go
62.34% <0.00%> (-0.95%)
:arrow_down:

Continue to review full report at Codecov.

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


Adding toString() for Rest and WebSocket response

Adding toString() for Rest and WebSocket response.
(I deleted the old pr, and I will make PR uponnament feature to avoid having full committed)

This is a huge change. May I ask what is the primary use case of this? If you just want to record all the REST traffics, there are easier ways to do this.

This PR is use when we want Debeug the data

I am not very keen on adding toString() methods. One may easily forget to update toString() after adding a new field. As for debugging, logging raw REST request/response shall be sufficient in most cases.


Clarify readme

Closes #11
Clarifies the readme to

add more info about the project up front
add some emojis for fun
clarify the local aws environment
add a diagram of the local aws environment

@glitch2k I updated the readme with some of your suggestions and added a diagram let me know what you think!


feat(api-v2): Remove ForbiddenResource

User story: https://dasch.myjetbrains.com/youtrack/issue/DSP-36
Discussion:
https://discuss.dasch.swiss/t/how-to-deal-with-forbidden-resources-and-values-consistently/153
https://discuss.dasch.swiss/t/knora-api-js-lib-pr-changing-public-api/158/5
This PR removes ForbiddenResource to make Gravsearch more consistent with the rest of API v2.
Instead of using ForbiddenResource, Gravsearch now returns "knora-api:mayHaveMoreResults": true if the number of main resources returned, plus the number of main resources hidden because of permissions, equals the page size.
This has a couple of other advantages:

The client doesn't need to know the maximum page size (which is a server configuration setting that the client doesn't have access to) to find out if it can request another page.
The response is more concise.

The rest of API v2 now also distinguishes between a resource not being found (NotFoundException, HTTP 404) and the user not having permission to see it (ForbiddenException, HTTP 403).
This PR also unifies the processing of search responses and other resource responses in ConstructResponseUtilV2.
Tasks:

[x] Change knora-base.ttl and system-data.ttl.
[x] Change ConstructResponseUtilV2 and its dependencies.
[x] Update tests and test data.
[x] Add a client test response that includes knora-api:mayHaveMoreResults.
[x] Update API docs.
[x] Update design docs.
[x] Increase the knora-base version number.

Resolves #1543.

@tobiasschweizer What should happen if you request a value that you don't have permission to see. Currently you get NotFoundException. Do we need a ForbiddenValue like ForbiddenResource?

This requires a change in knora-api-lib-js. I will create an issue.
I don't think that the BEOL GUI needs to be adapted since it determines the max number of pages by looking at the count query result. @benjamingeer This means the this PR wouldn't break this, right?

This means the this PR wouldn't break this, right?

If it doesn't count the number of results in each page, and doesn't do anything with ForbiddenResource, it should still work. But it's probably best to test it and see. :)

This means the this PR wouldn't break this, right?

If it doesn't count the number of results in each page, and doesn't do anything with ForbiddenResource, it should still work. But it's probably best to test it and see. :)

Ok, so that's a case for the staging sever. I still think this related to release management since in the end different pieces of software come together that are supposed to interact correctly, requiring compatible versions .

@SepidehAlassi

I suggest that, in another branch/PR, you either remove these tests or replace them with tests to check the compatibility of releases, not the compatibility of commits, as you suggested yourself.

I actually have no idea what these tests do, how they work, or even where the code is that runs them. @tobiasschweizer and @subotic set this up and I don't know if it's documented anywhere. I could probably figure out how to turn them off, but maybe @tobiasschweizer and @subotic would be better able to deal with this properly.

After that PR is merged to the develop branch, with a control merge, the problem of failing tests of this PR must be solved.

Does this mean I can't merge this PR until someone writes a whole new testing framework for compatibility between Knora and knora-api-js-lib? That sounds like it could take a long time.

@SepidehAlassi

I suggest that, in another branch/PR, you either remove these tests or replace them with tests to check the compatibility of releases, not the compatibility of commits, as you suggested yourself.

I actually have no idea what these tests do, how they work, or even where the code is that runs them. @tobiasschweizer and @subotic set this up and I don't know if it's documented anywhere. I could probably figure out how to turn them off, but maybe @tobiasschweizer and @subotic would be better able to deal with this properly.

After that PR is merged to the develop branch, with a control merge, the problem of failing tests of this PR must be solved.

Does this mean I can't merge this PR until someone writes a whole new testing framework for compatibility between Knora and knora-api-js-lib? That sounds like it could take a long time.

I think we should have a look at this today. We could decide on a good time at the end of the Scrum meeting.

@benjamingeer

Does this mean I can't merge this PR until someone writes a whole new testing framework for compatibility between Knora and knora-api-js-lib? That sounds like it could take a long time.

No, what I mean is that: Since the problems with tests should be resolved anyway before the merge, I suggest you solve the problem in another branch that can be reviewed fast, (even if solving the test problems means removing the tests) then merge it to develop first, then merge the develop branch in this branch.

I suggest you solve the problem in another branch that can be reviewed fast, (even if solving the test problems means removing the tests) then merge it to develop first, then merge the develop branch in this branch.

OK will do.

@tobiasschweizer

I think we should have a look at this today. We could decide on a good time at the end of the Scrum meeting.

OK great, thanks.

@tobiasschweizer You asked for a copy-and-paste of the failing JS lib tests in this PR:
**************************************************
*                    Failures                    *
**************************************************

1) workspace-project App perform a fulltext search
  - Expected '15' to equal '21'.

2) workspace-project App perform a fulltext search count query
  - Expected '15' to equal '21'.

3) workspace-project App perform a label search
  - Expected '15' to equal '21'.

4) workspace-project App perform an extended search
  - Expected '23' to equal '25'.

@tobiasschweizer You asked for a copy-and-paste of the failing JS lib tests in this PR:
**************************************************
*                    Failures                    *
**************************************************

1) workspace-project App perform a fulltext search
  - Expected '15' to equal '21'.

2) workspace-project App perform a fulltext search count query
  - Expected '15' to equal '21'.

3) workspace-project App perform a label search
  - Expected '15' to equal '21'.

4) workspace-project App perform an extended search
  - Expected '23' to equal '25'.

Ok, this is because knora-api returns less results now. I can easily fix this in a separate knora-api-js-lib PR, so then the tests pass again in both repos. In the meantime please go ahead as agreed.

@SepidehAlassi Is this PR OK to merge now? If so, please don't forget to click the "approve" button.

@SepidehAlassi Is this PR OK to merge now? If so, please don't forget to click the "approve" button.

yes, I believe it is. :-)

@SepidehAlassi Many thanks for the review!


Anonymous Cipher false positive

when running scan from kali it says that Vulnerable to anonymous cipher, but log says that connection fail.
[INF] Scan Anonymous Cipher..

[LOG] IP Check Ok.
[LOG] Start SSL Connection
[LOG] Analysis SSL Information
[LOG] 'Connection fail'

Vulnerability    CVE           CVSS v2 Base Score         State
================ ============= ========================== ===============
Anonymous Cipher CVE-2007-1858 AV:N/AC:H/Au:N/C:P/I:N/A:N Vulnerable!
CRIME(SPDY)      CVE-2012-4929 AV:N/AC:H/Au:N/C:P/I:N/A:N Vulnerable!
HeartBleed       CVE-2014-0160 AV:N/AC:L/Au:N/C:P/I:N/A:N Not Vulnerable.
CCS Injection    CVE-2014-0224 AV:N/AC:M/Au:N/C:P/I:P/A:P Not Vulnerable.
SSLv3 POODLE     CVE-2014-3566 AV:N/AC:M/Au:N/C:P/I:N/A:N Not Vulnerable.
OpenSSL FREAK    CVE-2015-0204 AV:N/AC:M/Au:N/C:N/I:P/A:N Not Vulnerable.
OpenSSL LOGJAM   CVE-2015-4000 AV:N/AC:M/Au:N/C:N/I:P/A:N Not Vulnerable.
SSLv2 DROWN      CVE-2016-0800 AV:N/AC:M/Au:N/C:P/I:N/A:N Not Vulnerable.

My server don't support aNULL ciphers and the connection will fail when running "openssl s_client -connect IP:Port -ciphers aNULL"
But a2sv return Vulnerable. So I think It's a bug!

To complement, I checked my server too and openssl s_client -connect IP:Port -cipher aNULL gives an error in ssl handshake, so it seems to be a bug, while a2sv says it is vulnerable to anonymous cipher.
Also checked with testssl and TestSSLServer and any of the cipher suites admits NULL.


Project and Process speed

Hi, thanks for your project, it was fun to play around with it. One things I have noticed is that it is taking me many hours to extract a single file, it seems like there around 60 files per day? So I guess that is a lot of processing that has to be done? How are you currently handling that, do you think there are ways to speed it up, every day I would like to get the news, use your parser and then perform a sentiment study.
Thanks in advance :)

Hi Derek (@firmai), thank you for trying this out. This implementation is not optimized for high processing needs. There are other open-source projects that can be used to parallel process the WARC file. cc-pyspark is one such (https://github.com/commoncrawl/cc-pyspark). Applying different enrichments such as sentiment analysis of the content can be massively parallelized as well. It will depend on how much compute is available (thereby cost) and using Spack and such techniques to parallelize.

Hi @manoj-cloudcosmos I am jus checking in to see if the processing speed has improved, and what would be the steps for example if I want to scrape the content of many articles from one domain https://www.globenewswire.com/

Hi Derek, I am not spending any time on improvements to this project. If you want data from CC for just one source, you will need to build additional software to make it optimal. You can probably look at the index file and if a specific WARC has articles for the source, only then process it.


fix(nav): keyboard nav now skips hidden options #156

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: #156
Summary:
hidden options were being considered as interactive which meant that the keyboard navigation by arrow keys was not skipping them.
Type of change:
Please delete options that are not relevant.

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

:tada: This PR is included in version 3.9.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Tryoutapps shaman 1.0.4

New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

Hi @jabou thanks for the contribution! I left 1 more minor suggestion for the next version of the step. Other than that LGTM!


feature/reimplement-audio/249

This changes how audio highlighting is implemented. This does not currently work.

@ChristopherRankin The merge conflicts are probably due to me fixing the prettier config.  I can help you with fixing this.

Noticed that the progress bar when no timing is not synchronizing correctly.


[BUG] - Documentation Popup displaying wrong color

Currently the documentation popup is displaying the wrong color and should be adjusted` see below attached.

Issue addressed in #32


Conflicts with applications running first on the same port

Version
v2.0.0
Reproduction link
https://github.com/ohjihwan-nbt/default-nuxt-structure
Steps to reproduce

Create node application that makes HTTP request of port 4000 and execute

Execute with node command after creating the following file

const http = require ('http')

const server = http.createServer ()
server.on ('request', (req, res) => {
   res.end ('OK')
}}

server.listen (4000)

Create and run the Nuxt application that makes http request on port 4000

Run npm run dev after the repository clone: https://github.com/ohjihwan-nbt/default-nuxt-structure

Check the results after requesting http: // localhost: 4000 from the browser

Check 'OK' string response created in node application executed in # 1

What is expected ?
I expect that the nuxt application will not be processed after the following error message after running the application.
Error: listen EADDRINUSE ::: 4000
What is actually happening?
After running npm run dev, I see the following message.
READY Listening on http: // localhost: 4000
Additional comments?
I think there should be a check to see if the port is in use elsewhere before appServer is listening and also think it is correct to show a message such as ERROR rather than READY.

This bug report is available on Nuxt community (#c8022)

Sorry. The previous 'issue close' was my mistake.

When I ran it on MacOS, it was Okay.
I think this problem is not related to nuxt.js so I close this issue. sorry for the confusion.


Our semver release action is out of date and not working anymore

Current behaviour
We are using set-env in the workflows, which is deprecated. https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

Expected behaviour
The variables are set successfully
How to reproduce?
Run the workflow
Suggestion(s)/solution(s) [Optional]
Follow this pattern: https://github.com/fredrikhgrelland/vagrant-hashistack-template/commit/5e4f8a3732f61f80ae0b22826764499c6878b5d1
Checklist (after created issue)

[x] Added label(s)
[x] Added to project
[ ] Added to milestone

Actually, looking into it, we are using an action that uses this feature, it is not our code. Checking now to see if there is newer relase available

There is someone who wants to merge a fix for the set-env, will that fix it? https://github.com/zwaldowski/semver-release-action/pull/11#issuecomment-730397756

There is a PR fixing this problem https://github.com/zwaldowski/semver-release-action/pull/11
There is a PR from 12th of September that hasn't been merged though, so I guess we'll have to see.

Oops, should have been linked to #61 which fixed this problem. Closing


Debugging: Printing variables seems one-off somehow in some circumstances

Reproduction:
Apply this diff on top of 7a7ab6410d9c8ff34cab63f0b69a7c10e84603b5:
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index b5603335d0f..a8f594224aa 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -6,6 +6,8 @@ library fasta.body_builder;

 import 'dart:core' hide MapEntry;

+import 'dart:developer';
+
 import '../constant_context.dart' show ConstantContext;

 import '../fasta_codes.dart' as fasta;
@@ -3004,6 +3006,13 @@ abstract class BodyBuilder extends ScopeListener<JumpTarget>
       }
     }

+    List<Object> types = forest.argumentsTypeArguments(arguments);
+    List<TypeParameter> typeParameters = function.typeParameters;
+    if (typeParameters.length != types.length && types.length != 0) {
+      debugger();
+      print("debug!");
+    }
+
     return null;
   }

Create file example.dart with the following content:`
class Foo {
  bar<X>(X i) {}
}

main() {
  new Foo().bar<double, double>(42.42);
}

Compile the example with fasta and debugging enabled, out/ReleaseX64/dart --enable-vm-service:54975 pkg/front_end/tool/_fasta/compile.dart --strong --dump-ir example.dart.
Go to http://<IP_ADDRESS>:54975.
Once it says paused by breakpoint go to the debugger.
Notice the offset	53 at the right.
Saying p offset responds with = 53.
So far so good.
Say down to go a frame down.
Notice again the offset	53 at the right. This was the offset given to checkArgumentsForType.
Saying p offset responds with = UnknownType.
That's not right.
Now notice that offset was given as a parameter, and the parameter given after was calleeType.
Saying p calleeType responds with = 53.

@mraleph do you know who the right person to ping on this is?
It's very frustrating to debug dart code with this bug...

Nevermind... I think I've found the issue and can fix it myself.

So the circumstances: Method taking type arguments and given dynamic for all of them.
Small reproduction:
import "dart:developer";

main() {
  Foo foo = new Foo();
  foo.bar<dynamic, dynamic>(1, 2);
}

class Foo {
  bar<A, B>(A a, B b) {
    debugger();
    print("a: $a; b: $b");
  }
}

CL that fixes the problem: https://dart-review.googlesource.com/c/sdk/+/74583


Odd Python Error - permissions

Remediation enabled, odd python permission error
Code called from header.sh
function getPrefValue() { # $1: domain, $2: key
	python -c "from Foundation import CFPreferencesCopyAppValue; print(CFPreferencesCopyAppValue('$2', '$1'))"
}

Output
OrgScore 6.3 Disable the automatic run of safe files in Safari (Automated)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/Foundation/__init__.py", line 8, in <module>
    import objc
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/__init__.py", line 28, in <module>
    from objc._bridgesupport import *
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/_bridgesupport.py", line 13, in <module>
    import pkg_resources
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3241, in <module>
    @_call_aside
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3225, in _call_aside
    f(*args, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3254, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 574, in _build_master
    ws = cls()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 567, in __init__
    self.add_entry(entry)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 623, in add_entry
    for dist in find_distributions(entry, True):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2030, in find_on_path
    path_item = _normalize_cached(path_item)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2340, in _normalize_cached
    _cache[filename] = result = normalize_path(filename)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2322, in normalize_path
    return os.path.normcase(os.path.realpath(os.path.normpath(_cygwin_patch(filename))))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 383, in realpath
    return abspath(path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 371, in abspath
    cwd = os.getcwd()
OSError: [Errno 13] Permission denied
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/Foundation/__init__.py", line 8, in <module>
    import objc
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/__init__.py", line 28, in <module>
    from objc._bridgesupport import *
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/_bridgesupport.py", line 13, in <module>
    import pkg_resources
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3241, in <module>
    @_call_aside
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3225, in _call_aside
    f(*args, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3254, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 574, in _build_master
    ws = cls()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 567, in __init__
    self.add_entry(entry)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 623, in add_entry
    for dist in find_distributions(entry, True):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2030, in find_on_path
    path_item = _normalize_cached(path_item)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2340, in _normalize_cached
    _cache[filename] = result = normalize_path(filename)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2322, in normalize_path
    return os.path.normcase(os.path.realpath(os.path.normpath(_cygwin_patch(filename))))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 383, in realpath
    return abspath(path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 371, in abspath
    cwd = os.getcwd()
OSError: [Errno 13] Permission denied
The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-10826 "kLSNoLaunchPermissionErr: User doesn't have permission to launch the app (managed networks)" UserInfo={_LSFunction=_LSLaunchWithRunningboard, _LSLine=2561, NSUnderlyingError=0x7f8f26513ec0 {Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x7f8f265132b0 {Error Domain=OSLaunchdErrorDomain Code=125 "Domain does not support specified action" UserInfo={NSLocalizedFailureReason=Domain does not support specified action}}}}}

Figured it out.
When running policy from the command line make sure to run it as an admin user and not a standard user, logged into an admin user. Python can not see the logged-in user vs. the login window user.
When using the CIS benchmark script make sure to run this vis Self Service. Will add this information to the readme.


Doors that are closed on a per-player basis

So that it will be closed to you even of other user opens it. This way you get the opportunity of solving the puzzle by yourself!

This can also be applied to items: some may only live in your session, without affecting other players.


about gpu memory

Hi, I also wonder the memory in your table6. I set batchsize=1 when inference in V100, but I get the memory is 1800+M, how can i get the 102M or near 120M result?

The memory footprint here is calculated by averaging since our work can process 100 frames in parallel on an RTX2080Ti (11GB total except for the initial memory 800 MB for Pytorch 1.1 version). Thus It can be roughly calculated by (11000-800）/100 = 102.

Hello, thanks for your work, I would like to ask how to process 100 frames in parallel, which means batch_size can be set to 100 during inference?


Series/DataFrame breaks truth-checking

This behavior is obviously by design. Why choose to break substitutability?
>>> bool([])
False
>>> bool(numpy.array([]))
False
>>> bool(pandas.Series(numpy.array([])))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/generic.py", line 892, in __nonzero__
    .format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

I ask, because I'd like to write idomatic Python that works for all containers, without need to special-case Pandas Series and DataFrames. There's no ambiguity for [False] nor numpy.array([False]) ... oh.
>>> bool([False])
True
>>> bool(numpy.array([False]))
False

Ok, NumPy made an interesting choice here. But Pandas could reverse it and go back to standard truthiness: len() == 0 means False and len() > 0 means True.
I don't expect to actually cause a change here, but I'm curious as to what discussion happened on this point. If there's an archived email thread about this, could someone point me to it?

Note that numpy also raises for anything but a 1-element array.
In [31]: bool(np.array([False, False]))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-31-32cc592d060f> in <module>()
----> 1 bool(np.array([False, False]))

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

pretty clear explanation here

That wiki section asks some rhetorical questions to illustrate that the truthiness of a non-empty Series is ambiguous. However, I think those questions have very clear answers:

Should it be True because it’s not zero-length?

Yes. This is a very clear standard from the core Python language and the standard library.
>>> bool([False])
True

False because there are False values?

No. Again, this is a strong standard.
Obviously, Pandas can't change this, because it needs to stay consistent with NumPy. But if someday NumPy were to flip on this issue, I'd like to open it back up for discussion.

@selik pls re-read the faq. These are very deliberate choices that ARE different from the standard library for good reason.
The point is that for a list-like you NEED to use .all/.any to disambiguate. It HAS to be a deliberate choice. Simply doing if df: is completely misleading, non-sensical, and is by-definition different that what the standard library does, BECAUSE the standard library doesn't care for the contents of things (e.g. the standard library doesn't care about the VALUES contained in a list), just that it has a length. This is pretty much useless for array computing.

@selik If you want idiomatic code that works for any sort of container, I think you can do something like if len(some_contailer): ... instead of if some_container: ... (if non-zero length is what you want to check here)

@jorisvandenbossche I wouldn't say if len(container) is Pythonic, but perhaps it's the best option for this situation.
@jreback The choice makes sense for the emphasis on vectorized methods/functions, but causes usability problems for libraries that are primarily not for vectors. I suppose you might say this is a "no free lunch" API design situation and it's better to design for vectorized usage.


use trusty distribution

Upgrade travis-ci travis.yml to use trusty distribution since that is their new standard.
The gradle version of their linux distribution is gradle 4.0.1 so I upgraded our gradle wrapper to that.
That required we upgrade our nebula dependency to 3.2.0.
Drop support for JDK 7 until travis-ci can fix that.

@vraja2 travis-ci.org is ending support for dist: precise. We are migrating to dist: trusty do ensure support. https://blog.travis-ci.com/2017-08-31-trusty-as-default-status
The trusty distribution uses gradle 4.0.1 which is incompatible with our current version of nebula. We will use nebula 3.2.0 to allow us to continue testing all parsers. https://github.com/nebula-plugins/gradle-extra-configurations-plugin


Auto-scale anomaly detection & RCA infra from/to Zero

Discussed in https://github.com/cuebook/CueObserve/discussions/135

Originally posted by sdepablos September 15, 2021
Right now CueObserve is using Celery to schedule tasks (plus Redis to save the config). This requires having the system always up for the scheduler to work. In my case, I'd prefer to run this as an "scale to 0" application, either via Cloud Run or App Engine. To that effect, my idea would be to define to schedule in Google Cloud Scheduler, which will then trigger the recalculation, without the need to have a system always up. Which would be the API endpoint to trigger a task?

It's actually good to split dependent services as individual containers and scale accordingly in a containerized environment.


twopc PPC plots don't work

Describe the bug
As per twopc documentation homepage, the library helps to "generate posterior predictive checks from 3ML bayesian fits to spectra". I tired the plotting after defining the BayesianAnalysis() instance. These are the issues faced:

First, I followed the instructions to simply plot the prior predictive check on my OGIPLike data, as mentioned here. The error returned: AttributeError: 'PPC' object has no attribute 'fake'. Similar error if I omit the fake part: AttributeError: 'PPC' object has no attribute 'plot'.
Second, I looked into the twopc.ppc module description and instead tried to load the created HDF5 file (above using compute_priorpc()) with the twopc.ppc.PPC() class's file_name object. I then called plot() as twopc.ppc.PPC.plot(). Result same: AttributeError: 'PPC' object has no attribute 'plot'.
Lastly, I see the plot() instance seems to be applicable only under the class twopc.ppc.PPCDetector, not twopc.ppc.PPC. But there's not much description on parameters there and on how to directly feed the HDF5 file with ease at the same time for quick computation. To be able to call plot as a PPCDetector class instance, if I use the name argument of the class to input the HDF5 filename as a string, it returns the error:  TypeError: __init__() missing 8 required positional arguments: 'obs_counts', 'obs_background', 'mask', 'ebounds', 'exposure', 'scale_factor', 'ppc_counts', and 'ppc_background'. It's perhaps this part that is the key to understand how to use plot() inside the PPCDetector class, after which I'd like to use plot_qq() for Quantile-Quantile plots (another instance, it seems, under PPCDetector exclusively).

(P.S. the same is true for the posterior predictive check plots with compute_postpc())
NOTE: This is for BUG reports and not questions about generic data analysis.
Desktop:

OS: Linux
Version: Ubuntu 18.04 LTS

Is this an issue with 3ML?

Is this an issue with 3ML?

Since twopc is stated to be a library in order to carry out PPC after 3ML bayesian runs, I presumed it'd be better to ask here instead of the Twopc git page because it goes parallel with the other plots within 3ML.
I'll redirect this question there, if that works better?


feat: Language filter

What

Dev mode language search

Screenshot
https://user-images.githubusercontent.com/33085535/177862996-557a2cea-d2c9-45dc-8a53-eb9999aff0d0.mp4
Part of
#2482

We have the theoretical possibility of using : https://static.openfoodfacts.org/data/taxonomies/languages.json

Codecov Report

Merging #2539 (6be8350) into develop (2ea0da3) will decrease coverage by 1.35%.
The diff coverage is n/a.

:exclamation: Current head 6be8350 differs from pull request most recent head b9217aa. Consider uploading reports for the commit b9217aa to get more accurate results

@@            Coverage Diff             @@
##           develop   #2539      +/-   ##
==========================================
- Coverage     8.86%   7.51%   -1.36%
==========================================
  Files          161     212      +51
  Lines         6623   10159    +3536
==========================================
+ Hits           587     763     +176
- Misses        6036    9396    +3360

Impacted Files
Coverage Δ

...kages/smooth_app/lib/widgets/attribute_button.dart
0.00% <0.00%> (-92.00%)
:arrow_down:

...s/smooth_app/lib/data_models/user_preferences.dart
8.73% <0.00%> (-23.57%)
:arrow_down:

packages/smooth_app/lib/themes/smooth_theme.dart
60.00% <0.00%> (-22.98%)
:arrow_down:

...p/lib/generic_lib/dialogs/smooth_alert_dialog.dart
15.29% <0.00%> (-18.92%)
:arrow_down:

...mooth_app/lib/data_models/product_preferences.dart
24.65% <0.00%> (-6.78%)
:arrow_down:

packages/smooth_app/lib/main.dart
14.16% <0.00%> (-3.73%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/welcome_page.dart
0.00% <0.00%> (-3.13%)
:arrow_down:

.../smooth_app/lib/pages/onboarding/scan_example.dart
0.00% <0.00%> (-2.28%)
:arrow_down:

...p/lib/pages/onboarding/consent_analytics_page.dart
0.00% <0.00%> (-1.57%)
:arrow_down:

...smooth_app/lib/pages/product/new_product_page.dart
0.00% <0.00%> (-0.88%)
:arrow_down:

... and 221 more

Continue to review full report at Codecov.

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

Uploading screen-20220711-183438.mp4…

https://user-images.githubusercontent.com/33085535/180026917-b672c0e3-f65b-488e-b35b-78fb3218210e.mp4
The search method now supports Name in English and language code in English.
The code is less efficient in terms of time complexity.

@monsieurtanuki
I realized further performance optimization can be done this morning and I started working on it half hour ago.
Please let me know if I can make it even better.

@M123-dev  @teolemon
Can we move this language selection out of dev mode, might close as well #2503

@AshAman999 merging this one for now, and yes, we can then open a PR to make language selection for all (might require some other behavior changes, for data refresh)

Anyways, Congratulations on your 1st PR here ㊗
And thanks @abughalib for the same

@AshAman999 Are you sure about that ?

And sorry that it took so long @abughalib

@M123-dev
Not a Problem, Learned a lot during the process.


Scan and report dependency groups of vulnerabilities for Yarn

Need the same mechanism https://github.com/google/osv-scanner/pull/655 using dependencies and devDependencies from package.json

@Ais8Ooz8 thank you for your feedback!
For Yarn,  devDependencies are specified in pacakge.json and osv-scanner currently scans yarn.lock for vulnerabilities. We can report dependency groups for Yarn once we support scanning package.json.

Related issue to support manifest scanning: https://github.com/google/osv-scanner/issues/416


Update MariaDB to 10.1.20

https://pkgs.alpinelinux.org/packages?name=mariadb&branch=&repo=&arch=&maintainer=

https://mariadb.org/mariadb-10-1-20-now-available/ so updated the issue

10.2.3 is still a beta release so let's not use that yet.


Show the detail of ChangeAssetScheme transaction

Current:

I think it should show the parameters of the new asset scheme.

metadata
approver
administrator
allowedScriptHashes

https://github.com/CodeChain-io/codechain-explorer/pull/79


Text which is highlighted to be corrected is unreadable

Same for the red one's

I just updated it. What about now?

Hmm, nope, still the same.


Dat land down?

Seems like http://dat.land/  is down?

Hey @martinheidegger ! dat.land is currently under heavy development so it will be unstable still for a bit. Sorry for the inconvenience!


Testing for components that make use of integrations: gitto, tasks, nomad

These include:

Creating a new project
Updating an existing project
Starting a user project
Updating a user project

Deploying a project
Running checks for a project

For each test, several things need to be working at the same time.
For example in updating a user project,
it requires the task worker (redis and rq worker), nomad, docker, and gitto to be working.
These tests must happen in the CI.

An important thing to note is that the tests must use a different namespace inside each of the services.
e.g. different namespace in nomad, different database in postgres, a different temporary deployment of gitto and docker-registry, a separate queue on redis.
Due to conflicting ports in nomad, the tests must use ports prepended by 1 (e.g. 18080 instead of 8080, 17878 instead of 7878). this can be configured with nomad variables. The worker can start listening on a separate queue for tests. The worker must be started by the test script to run in the background. its logs can be pushed to a task-test.log file or something similarly named. it will be overwritten on each run because it is not useful unless the tests fail.
postgres and redis are assumed to be running.
this setup can be replicated on github ci as well.
Project creation
This is what happens in the real app:

Server-admin runs the CLI command capstone-server projects new, grabs git_url from the output.
Project author clones the repository
Server admin publishes the project with capstone-server projects publish NAME
Project changes must show on the project website
When learners start the project and clone it, they must see the content uploaded by author in repo/ directory

These are the test cases:

project repo has initial content - README.md, capstone.yml (with correct info), requirements.txt, checks.py, and repo directory
project is unpublished by default
changes to title/description/tags/short-description work
invalid capstone.yml files are rejected (missing fields)
project is visible on website after publishing, and learner can start project (involves start-user-project)
learner's git repo contains code pushed by author (involves update-user-project also)

Project updates

Project author makes changes, git pushes
Cases such as deleting tasks, checks, should be handled. Some of these might involve deleting user's progress. This must be verified that it works correctly (maybe in separate unit tests).
Changes must be visible on the webpage
When learners clone project, they must see the new content.

Test cases:

Author updates project content: README.md, requirements.txt, checks.py, and repo directory
Author updates project capstone.yml: such as title, description, tags, and short description
Author submits invalid capstone.yml, should be rejected, or author must be alerted
Author deletes tasks or checks from the project, and appropriate user progress is deleted as well
Changes made by the author are reflected on the project webpage
Learners who clone the project after updates see the updated content in their repository
For checks: requirements.txt dependencies must be installed
What to do when a project is updated when it has learners?

Check for logs/changelog also?
Start user project
In capstone

Learner visits the project page on the website and clicks "Start Project."
The backend creates a new user project, clones the base project repository, and sets up the user's environment.
The learner receives a unique URL to access their project

Test cases:

Verify that a new user project is created with the correct base project repository and initial content.
Test that the unique URL generated for each user project is accessible.
Check that the user project is properly linked to the learner's account, and progress is saved and tracked. (git url, repo id must match)
Deployment must be created on nomad

Update user project
In Capstone:

Learner makes changes to their project files and commits the changes to their repository.
The backend builds new docker image, deploys it with nomad

Test cases:

Changes made by learner are correctly saved (commit hash of remote and user must match)
Deployment must be updated
Checks must be run, and result must be updated
What happens when user pushes to a different branch from main?

We should not need redis and rq worker for running tests.
The RQ docs on testing recommends using FakeRedis with is_aync=False.
I think we can create a fake queue in tasks.py if config.test_mode is enabled.

Yes, that will be better.
Thanks for the pointer

To organize integration tests, I am creating a new directory inside tests/ called test_integration/. Before we start writing integration tests, some more code changes will be needed to allow this.
Setup needed for integration testing:

[ ] CAPSTONE_TEST config variable
[ ] FakeRedis, task queue with fake redis, fixture for worker to run SimpleWorker
[ ] Nomad: variable namespace for each job. namespace for services created dynamically.
[ ] Nomad: variable for ports (for default tasks: nginx, gitto, docker-registry). Set these as env vars in start-jobs.sh. Set env vars for capstone in runtests.sh

Questions:

How to auto-delete nomad after each test? Easy fix: delete the test namespace before start of each test run.

Roadblock while testing projects.
Click's recommended testing method sets stdout, stderr to some other value (like IOString) to capture its value. This doesn't work well when the command starts a subprocess that itself writes to stdout/stderr (subprocess module tries to pass the current stdout/stderr to the subprocess by using the .fileno() method, but IOString doesn't have that method).

Problem: how to run tests where gitto needs to send a webhook request to the app. blocker: gitto would run inside nomad and by default it won't be able to access our app if our app runs on host because it would be on a different network interface.

Mocking webhook calls ourselves won't let us test whether gitto is actually making those webhook calls or not. There is an argument to be made that this part should be tested in gitto and not here, but we are setting the webhook URL for these repositories from capstone, so that part should be tested here.
Running Gitto in network_mode="host" could work. We would have to make some changes in gitto to let it listen on some port that is set in configuration. This doesn't seem like a big deal, and we could do it. One problem is that it again won't work with my setup where I am port-forwarding between a remote nomad deployment and my localhost.
Running Gitto as a pytest fixture could work. I am hesitant to do this because we would have two deployments of Gitto -- one on Nomad and one on host. We would have to monkeypatch the configuration for a new Gitto URL. It also makes more sense to run these tests on a setup similar to what we'll have on production, since that's why we are writing integration tests like this.

I think we should go for the second option. I can work directly from my dev node until a better solution is found.

Created PR in Gitto for configuring port: https://github.com/pipalacademy/gitto/pull/5

@anandology monkeypatching the running capstone app cannot be done because it runs in a different process. I want to monkeypatch the get_authenticated_user method so that I can make a POST request to start user project.
I want to use app.test_client, as with normal flask testing, to work around this. It feels hacky at first to do this along side an app running, but it makes the running app's responsibility clear: to receive webhook calls only. If we decide to change how that is done later, we will only need to change that.

How about this?
start the app with CAPSTONE_TEST_MODE=true and make it always return get_authenticated_user as guest when in that mode.

It would restrict what we can do inside tests (for example simulating multiple users would be harder than necessary).
What's wrong with using test client?

I'm suggesting to start the server with tetsmode to avoid the worry of authentication. You'll still use the test client to test it.
We have already spent too much time on getting the right test setup. I think we should strive for a good enough test setup that can be done in a reasonable time rather than the best setup that can handle every possible case.

We can directly set the session if we have access to test client.
On Thu, May 4, 2023, 9:16 AM Anand Chitipothu @.***>
wrote:

I'm suggesting to start the server with tetsmode to avoid the worry of
authentication. You'll still use the test client to test it.
We have already spent too much time on getting the right test setup. I
think we should strive for a good enough test setup that can be done in a
reasonable time rather than the best setup that can handle every possible
case.
—
Reply to this email directly, view it on GitHub
https://github.com/pipalacademy/capstone/issues/57#issuecomment-1534056172,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI7MKYIW6MMFBC6WXGYIOYDXEMQ7VANCNFSM6AAAAAAXM4T3SI
.
You are receiving this because you authored the thread.Message ID:
@.***>

done. new tests should be created with a new issue.


Merge CDM datasets into one

bq_utils.merge_tables now runs a copy job to merge multiple tables into a new one.
It's been tested with NYC and PITT 5 person data.
TODO:

Add polling/timeout parameters to the function
Test what happens when the tables to be merged don't have the same schema.

This ^ should read change as recommended in PR#14. Is this a good commit of fixes?


[WIP] Shared -> LinearLayout conversion

This seems to be passing our internal tests and benchmarks.  I'll prepare it for review.

Woo, @ThomasRaoux this is ready for you to look at.


merge development (utilities) to dds

In addition:

updates DDS to v2.9.1 (fixes issues with static destruction, see https://github.com/eProsima/Fast-DDS/pull/3185)
update rsutils::shared_ptr_singleton
using DomainParticipantFactory::get_shared_instance()
use dds_domain_context for participant/watcher
run-unit-tests.py: add --tag negation; default exe using manifest file
keep ELPP storage alive by dds-participant
add dds librs test with multiple participants of same name

I still want to do this, but I think we should do it in this order:

ELPP and utilities changes #11160
FastDDS 2.8.1; CI restructure #11165
then I'll re-merge development to dds and force push here?

P.S. Ohad's #11164 will also have to wait until after #11165

Hey @maloel  / @OhadMeir ,
Of course this PR is special and cannot be CR by files (> 1300 changed)
Ohad I added you to note this big change and especially the commits Eran mentioned in the description.
I retriggered the libCI to verify the tests failed randomly and not due to this PR changes.
Once you both are aligned (And we verify libCI pass) we can merge it.
Thanks Eran for this effort :)


⚠ Turnos 24x7 has degraded performance

In 770b499, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 2005 ms

Resolved: Turnos 24x7 performance has improved in 89b6632.


Add tests for invalid encodings in all string types

The existing https://github.com/BurntSushi/toml-test/tree/master/tests/invalid/encoding tests basic strings, but not literal, multiline basic, or multiline literal.  As a result, the test suite did not trigger https://github.com/ToruNiina/toml11/issues/199.  Would it be possible to add tests for invalid encodings in the other string types?  Thanks for considering this request!

Added the tests and released v1.3.0

Wow!  That was quick! :)  Thanks very much!


[Bug] Cant Force Push LFS-enabled to NON-LFS repo

when converting a repo to use LFS i have to create a new one. i cant reupload to the old repo ...
see: https://discourse.gitea.io/t/convert-existing-repository-in-gitea-to-one-using-git-lfs/1848

need more time to infestiage - will look at this later ...

☝

ping

@6543 sorry I missed this. I'm not quite sure from what you've written how to reproduce this. Did you ever get to the bottom of the problem? Is the failure definitely coming from Gitea?

No didn't had a deeper look into this jet

local tested - works now with current master


specific C for StringBuilder

I pushed a second commit that brings back more methods on StringBuilder that existed in the 2.12 version. Let me what you think.

@szeiger updated

@lrytz would you mind rebasing and fixing conflicts?

Done!


oic: Fix memory leak when string fields are not changed in server update

When a from_repr_vec method is called, the oic server resource contains
a string, but this string is not updated, we had a memory leak.
Also add a name to Light Server sample to have string fields tested.
Signed-off-by: Otavio Pontes<EMAIL_ADDRESS>

Make make samples pass again and gg.


Help wanted! (Maintainer needed)

I wonder if someone interested in maintaining this library?
I don't write Haskell at all right now and I feel bad that I can't even accept patches or solve issues.
Please drop me a line if you interested and have experience in Haskell and I'll add you as collaborator
/cc @sestrella @michalrus

I mean, it’s mostly fine for our needs with #12’s quick patch. Also I like <IP_ADDRESS> more, simpler w/ just a single locale. :þ


issue with libcpu & latest llvm

stephen@karma:~/compileZone/libcpu/arch/6502$ cd /home/stephen/compileZone/libcpu/arch/6502 && /usr/bin/c++   -D__STDC_FORMAT_MACROS=1 -I/usr/lib/llvm-3.5/include  -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -fomit-frame-pointer -std=c++11 -fvisibility-inlines-hidden -fno-exceptions -fPIC -Woverloaded-virtual -ffunction-sections -fdata-sections -Wcast-qual -g -I/home/stephen/compileZone/libcpu/libcpu -I/usr/lib/llvm-3.5/include -I/home/stephen/compileZone/libcpu    -W -Wall -Wextra -Wno-unused -Wno-unused-parameter -o CMakeFiles/6502.dir/6502_translate.cpp.o -c
/home/stephen/compileZone/libcpu/arch/6502/6502_translate.cpp
In file included from /home/stephen/compileZone/libcpu/arch/6502/6502_translate.cpp:12:0:
/home/stephen/compileZone/libcpu/arch/6502/6502_translate.cpp: In function âllvm::Value* arch_6502_get_operand_lvalue(cpu_t_, addr_t, llvm::BasicBlock_)â:
/home/stephen/compileZone/libcpu/libcpu/frontend.h:58:21: error: incomplete type âllvm::ConstantIntâ used in nested name specifier
#define CONSTs(s,v) ConstantInt::get(getIntegerType(s), v)
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:60:19: note: in expansion of macro âCONSTsâ
#define CONST8(v) CONSTs(8,v)
^
/home/stephen/compileZone/libcpu/arch/6502/6502_translate.cpp:55:18: note: in expansion of macro âCONST8â
new StoreInst(CONST8(OPERAND_8), ptr_temp, bb);
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:58:21: error: incomplete type âllvm::ConstantIntâ used in nested name specifier
#define CONSTs(s,v) ConstantInt::get(getIntegerType(s), v)
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:62:20: note: in expansion of macro âCONSTsâ
#define CONST32(v) CONSTs(32,v)
^
/home/stephen/compileZone/libcpu/arch/6502/6502_translate.cpp:79:14: note: in expansion of macro âCONST32â
Value *ea = CONST32(base);
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:58:21: error: incomplete type âllvm::ConstantIntâ used in nested name specifier
#define CONSTs(s,v) ConstantInt::get(getIntegerType(s), v)
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:95:62: note: in definition of macro âANDâ
#define AND(a,b) BinaryOperator::Create(Instruction::And, a, b, "", bb)
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:62:20: note: in expansion of macro âCONSTsâ
#define CONST32(v) CONSTs(32,v)
^
/home/stephen/compileZone/libcpu/arch/6502/6502_translate.cpp:86:16: note: in expansion of macro âCONST32â
ea = AND(ea, CONST32(0x00FF));
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:58:21: error: incomplete type âllvm::ConstantIntâ used in nested name specifier
#define CONSTs(s,v) ConstantInt::get(getIntegerType(s), v)
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:95:62: note: in definition of macro âANDâ
#define AND(a,b) BinaryOperator::Create(Instruction::And, a, b, "", bb)
^
/home/stephen/compileZone/libcpu/libcpu/frontend.h:62:20: note: in expansion of macro âCONSTsâ
#define CONST32(v) CONSTs(32,v)
^
/home/stephen/compileZone/libcpu/arch/6502/6502_translate.cpp:88:16: note: in expansion of macro âCONST32â
ea = AND(ea, CONST32(0xFFFF));

Which gcc/llvm did you use for this branch? I still have some issues building your branch but not as many as the trunk

I basically see the same issue with your branch and trunk when using gcc 4.9

I used GCC 4.8 and I don't remember the LLVM version.  For the time being, I've actually not done any work on devel because for the project I am working we need ARM support.  Reading through old commits and old mailing lists, it looks like ARM stopped working at some point.  So I went back and found a known working commit and started there and I am currently adding various instructions and updating it to work with LLVM 3.5 and GCC 4.9 (Fedora 21).  For my testing thus far, I've had to go all the way back to LLVM 2.6.  That should change in the next week hopefully.

I have a branch here to make things work with LLVM 8.0:
https://github.com/libcpu/libcpu/tree/llvm-8
Things that need to be resolved to make it actually work:

Push LLVMContext to cpu_t, for example, to get around the removed getGlobalContext() function.
Make libcpu work with the new LLVM JIT APIs, which seem to be significantly different than before.

The LLVMContext issue is now resolved in the branch.

The JIT issue is also resolved now. The changes need some more testing, of course, but the API adjustment work is now complete.