Rendering issues on ios devices after upgrading to 1.17.5

Details
After upgrading to 1.17.5, when using DecorationImage and Clip.hardEdge there are weird rendering issues on physical ios devices.
Reproduce
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';

void main() async {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  MyAppState createState() => MyAppState();
}

@visibleForTesting
class MyAppState extends State<MyApp> with WidgetsBindingObserver {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Title',
      home: Scaffold(
        appBar: AppBar(),
        body: Builder(
          builder: (context) => ListView(
            children: [
              Card(
                clipBehavior: Clip.hardEdge,
                child: Container(
                  constraints: BoxConstraints(maxHeight: 200),
                  decoration: BoxDecoration(
                    image: DecorationImage(
                      image: NetworkImage("https://flutter.dev/images/favicon.png"),
                      fit: BoxFit.fitWidth,
                    ),
                  ),
                ),
              ),
              FlatButton(
                onPressed: () {
                  showGeneralDialog(
                    context: context,
                    pageBuilder: (_, __, ___) => Material(
                      child: InkWell(
                        child: Center(child: Text("close dialog")),
                        onTap: () => Navigator.maybePop(context),
                      ),
                    ),
                    barrierDismissible: true,
                    barrierLabel: "Label",
                    transitionDuration: const Duration(milliseconds: 300),
                  );
                },
                child: Text("open dialog"),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Output

Hi @kennethj
I can reproduce the issue on physical XR on Channel stable, v1.17.5 but there is no issue on beta, dev
Channel beta, 1.19.0-4.3.pre & Channel dev, 1.20.0-3.0.pre

flutter doctor -v
[✓] Flutter (Channel dev, 1.20.0-3.0.pre, on Mac OS X 10.15.5 19F101, locale en-GB)
    • Flutter version 1.20.0-3.0.pre at /Users/taha/Code/flutter_dev
    • Framework revision 0af027f805 (4 days ago), 2020-07-04 12:19:20 -0700
    • Engine revision a751393804
    • Dart version 2.9.0 (build 2.9.0-20.0.dev 22da8934ac)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.1

[✓] Connected device (3 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS 13.5.1
    • Web Server (web)       • web-server                • web-javascript • Flutter Tools
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome
      83.0.4103.116

• No issues found!

flutter doctor -v
[✓] Flutter (Channel beta, 1.19.0-4.3.pre, on Mac OS X 10.15.5 19F101, locale
    en-GB)
    • Flutter version 1.19.0-4.3.pre at /Users/taha/Code/flutter_beta
    • Framework revision 8fe7655ed2 (6 days ago), 2020-07-01 14:31:18 -0700
    • Engine revision 9a28c3bcf4
    • Dart version 2.9.0 (build 2.9.0-14.1.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.1

[✓] Connected device (3 available)
    • Taha’s iPhone • 00008020-001059882212002E • ios            • iOS 13.5.1
    • Web Server    • web-server                • web-javascript • Flutter Tools
    • Chrome        • chrome                    • web-javascript • Google Chrome
      83.0.4103.116

• No issues found!

Channel stable, v1.17.5

flutter doctor -v
[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.5 19F101, locale en-GB)
    • Flutter version 1.17.5 at /Users/taha/Code/flutter_stable
    • Framework revision 8af6b2f038 (7 days ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.1

[✓] Connected device (1 available)
    • Taha’s iPhone • 00008020-001059882212002E • ios • iOS 13.5.1

• No issues found!

Can you upgrade to latest beta channel and try again?
Execute following
flutter channel beta
flutter upgrade --force
flutter doctor -v
Thank you

@TahaTesser, Do you know when a stable build with the fix will be released? I not sure switching the production app I am working wouldn't cause other unintended side effects.
I was able to find a workaround in the meantime. Removing clipBehavior: Clip.hardEdge or replacing it with clipBehavior: Clip.antiAlias appears to fix the rendering issue.

Hi @kennethj
Please use the workaround you've found  in the meantime and this issue not reproducing on beta channel .
The fixed would land in stable channel when the beta reaches to stable
given your last message I feel safe to close this issue, if you disagree please write in the comments and I will reopen it.
Closing as fixed by  https://github.com/flutter/flutter/issues/55215
Thank you


[Request deployment] New Hub: plnc.latam.catalystproject.2i2c.cloud

This is for the Catholic University of Chile as a part of the Catalyst Project on the catastproject-latam cluster. Please use standard catalyst profile described in

https://github.com/2i2c-org/infrastructure/issues/3631

Community representatives
Jocelyn Mariel Dunstan Escudero<EMAIL_ADDRESS>Fabián Villena Rodríguez<EMAIL_ADDRESS>Phase 3 : Hub setup
Hub 1: plnc.latam.catalystproject.2i2c.cloud
Phase 3.1: Initial setup (READY)

Question
Answer
Notes

Name of the hub
plnc

Dask gateway?
no

Splash image
https://catalystproject.cloud/_static/catalyst-logo-dark-bg-white.png

URL
https://catalystproject.cloud
Used for both URL and funded_by

Authentication Mechanism
GitHub (via GitHubOAuthenticator)

Admin Users
@fvillena

At the end of this phase, both 2i2c engineers and the admin users mentioned can login to the hub.
Phase 3.2: Object storage access (READY)

Question
Answer
Notes

Scratch bucket enabled?
Yes

Persistent bucket enabled?
no

Requestor pays requests to external buckets allowed?
no

Phase 3.3: Profile List (READY)
These are the standard profile list options we want to start with. Can be customized later

Question
Answer
Notes

ProfileList
Standard Catalyst Profile
https://github.com/2i2c-org/infrastructure/issues/3631

Phase 3.4: Authentication tuning (READY)

Question
Answer

Authentication Mechanism
GitHub (via GitHubOAuthenticator)

Org based access?
yes

List of GitHub orgs / teams to be granted access
https://github.com/orgs/CatalystProject-Hubs/teams/plnc

Phase 3.5: Profile List finetuning (N/A)

Question
Answer
Notes

@fvillena the hub was deployed at: https://uccl.latam.catalystproject.2i2c.cloud/
Can any of you log in?
Additionally, you're now maintainer in the github team. Now you can add more users!

Yes, I can log in. Thanks!. But I'd like to change the abbreviation of the organization (and the subdomain of the hub) because we are a group which is not only from UC (Universidad Católica); we are a group distributed across multiple institutions; therefore I suggest the abbreviation PLNC (Grupo de Procesamiento de Lenguage Natural Clínico).

I already changed the name of the team

@fvillena okey! I deleted the old hub and deployed a new one. Can you still login?
https://plnc.latam.catalystproject.2i2c.cloud/

Everything is okay! Thanks!

Hello, I would like to request two things:

Enable the deployment of GPU instances in the hub
Usage of a custom domain to access the hub

Thanks

Hi @fvillena
I am just noticing your request on this closed GitHub issue. I'll create an issue in our ticketing system<EMAIL_ADDRESS>so we can better track the conversation.


jira-move-task-step 0.0.1

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

[*] I will not move an already shared step version's tag to another commit
[*] I read the Step Development Guideline
[ ] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[*] 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.)
[*] I read and accept the Abandoned Step policy

Hello, if the statement below in bold to point that it violates the point, then I want to state that this step does a different thing. A similar step is really published. The difference - published step move only tasks which have their ids in git log; my step move task without consulting with git log. Also in the next update, it will send messages to slack listing links to tasks to ease testers' life.
I will not move an already shared step version's tag to another commit


NameError: name 'cuda_setup' is not defined

@w-firm I think Its an issue with the GPU. Make sure you are using a Turing or Ampere GPU.

this issue because the GPU Compute capability < 7.5 , you can try A4-A100


In case GITHUB_TOKEN not defined it tracebacks

I did not set the GITHUB_TOKEN and packit propose-update fails with traceback.
Traceback (most recent call last):
  File "/usr/local/bin/packit", line 11, in <module>
    load_entry_point('packit==0.1.dev180+g0179bc3', 'console_scripts', 'packit')()
  File "/usr/local/lib64/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib64/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib64/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib64/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib64/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib64/python3.7/site-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/lib64/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/packit/cli/update.py", line 31, in update
    api.update(dist_git_branch)
  File "/usr/local/lib/python3.7/site-packages/packit/api.py", line 83, in update
    dg = DistGit(self.config)
  File "/usr/local/lib/python3.7/site-packages/packit/distgit.py", line 33, in __init__
    self.github_token = self.config.github_token
  File "/usr/local/lib/python3.7/site-packages/packit/config.py", line 44, in github_token
    self._github_token = os.environ["GITHUB_TOKEN"]
  File "/usr/lib64/python3.7/os.py", line 678, in __getitem__
    raise KeyError(key) from None
KeyError: 'GITHUB_TOKEN'

This is important information and should be mentioned in the main README.md file


feat: enable gcp us-central1 region for signup

@nidhidham after your merge this you have to manually go release a new version of momento-cli to the public: https://github.com/momentohq/momento-cli/actions/workflows/manual-release.yml
Let's not release that though until momentohq/momento-account-registry-data@f65b956 is deployed.

Sounds good, thank you!


add missed fields to employee request show action

https://github.com/edenlabllc/ehealth.api/issues/503

Changes Unknown when pulling 9eb3c8d856874f762825b49620f7f3a9f9863469 on employee_request_show_fields#503 into ** on master**.


semver init v1.0.0-beta.23

$ semver init v1.0.0-beta.23
$ cat .semver.yaml
alpha: 0
beta: 0
rc: 0
release: v1.0.0

I think that beta is not taken into account

The behavior of the init command is a bit different. To initialize the version v1.0.0-beta.23 you should run the following command instead:
semver init --release v1.0.0 --beta 23
I appreciate your attempt to start the version passing directly and I plan to adopt it as an improvement.


bug(mat-form-field): Incorrect placing for outlined form input without a label

Reproduction
https://stackblitz.com/edit/angular-v1zbur-eob8nl?file=src/app/form-field-example.html

Given

a form field
with appearance set to outline
without a label, i.e. no mat-label

Expected Behavior
The text in the input field is centered vertically correctly.
Actual Behavior
The text in the input field is not centered vertically.

This is working as expected. If we were to move the text up, it wouldn't be centered anymore next to other form fields with labels that are next to it. In general, it's a good idea to have a mat-label, because it allows for it to be read out by screen readers. In this case, you may be better off putting the text from the placeholder attribute into a mat-label since it'll behave the same as a placeholder when it's empty, but float up once there's a value.


Implement Expansion Panel v2 Component

Spec reference: https://www.google.com/design/spec/components/expansion-panels.html

[ ] Single Expansion Panel
[ ] Expansion panel group / accordion (a la Inbox)

Superceded by https://github.com/material-components/material-components-web/issues/46


Card with text block

https://www.24life.com/author/24life/
https://www.24life.com/?s=art
Different from cards on https://www.24life.com/

Josh confirmed that we don't implement this, and we stick with the colorful version for consistency.


AMQP-790: Fix after receive MPPs with send/receive

JIRA: https://jira.spring.io/browse/AMQP-790
Previously, afterReceivePostProcessors were not called on sendAndReceive()
operations.

Cherry-picked to 1.7.x as https://github.com/spring-projects/spring-amqp/tree/1.7.x after resolving conflicts.


[Security problem] Auth code strategy doesn't verify client secret!

According to the latest OAuth 2.0 spec the client_secret parameter is required when authenticating the client for access tokens.
Currently the secret is created in the model, but the authorization_code strategy only checks for the client_id and ignores the client_secret.

you're referring to the client_credentials grant_type which is not currently supported with this gem.
per the spec:
"Client credentials are used as an authorization grant typically when the client is acting on its own behalf (the client is also the resource owner), or is requesting access to protected resources based on an authorization previously arranged with the authorization server."
http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-1.3.4
this is a very non-standard usecase IMO where each registered application is specific to one particular user.  the much more standard scenerio is where a single third party application is distributed across any number of users.  in this case, you're most likely to use either the authorization code, implicit, or Resource Owner Password Credentials grant_type.
http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-1.3.3
if you have any more info, please feel free to reopen this issue.

Hmm, re-reading the spec again (section 2.3, not 1.3.4) it states that

Confidential clients are typically issued (or establish) a set of
client credentials used for authenticating with the authorization
server (e.g. password, public/private key pair).

e.g. if a client can protect its connection details then it should use some sort of secret token to authenticate to the server.
In fact, the integration specs reference the client_secret but I can't see anything in the strategies that reference it.
As an aside, the Github API uses Oauth 2.0 and requires the secret to be supplied when generating an access token

And it seems github doesn't let non-committers reopen issues

thanks for the additional info.  after re-reading the spec, i believe you're right.  this is definitely a change from previous versions of the spec.
this appears to impact not only the authorization flow, but also the refresh_token grant type.


[Enhancement] Show test names to students

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Server: I followed the coding and design guidelines.
[x] Client: I followed the coding and design guidelines.
[x] Client: I added multiple integration tests (Jest) related to the features (with a high test coverage)
[x] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes

Motivation and Context

Resolves #2359
Description

Add a new 'showTestNamesToStudents' property to the programming exercise entity
Use this property in all places where the result-detail component is opened

When enabled, the student effectively sees the same information on feedbacks as the instructor
(The instructor always sees the test names, regardless of the option)

Some refactoring for the modal creation to have proper type support.

Steps for Testing

Log in to Artemis
Navigate to Course Administration
Create a Programming Exercise with the new option enabled
Participate as a student and view the feedback, test case names should be visible and test case feedback should be distinguishable from manual feedback.
Edit the exercise to disable the new option
View again as a student, there should not be any visual distinction between manual and automatic feedback or any test case names shown
View as an instructor, test case names should be visible and test case feedback should be distinguishable from manual feedback.
Delete the exercise.

Test Coverage

Client:
Screenshots

Exercise Creation Option

With option enabled (Same as instructor view)

With option disabled (Default)

Looks good to me, nice work 🚀


chore: update sdk

@mason-at-pieces please take a look at this want to ensure we are not stepping on eachothers toes


Random errors on tests

Tests sometimes give errors for two reasons:

The database is already closed when it attempts to close it
The number of entries on the query test is incorrect

Seems like the instances of the databases are being shared. This should be fixed.

The number of entries problem should be solved.
The database error still occurs:
SchemaExport:386 - HHH000231: Schema export unsuccessful
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-187]

The error was that the configuration was set to drop and create the tables, now it is set to update them.


Test: Rename Side Panel

[ ] macOS @chrmarti
[x] anyOS @misolori

Complexity: 3
Create Issue

When shipping the side panel, we deprecated the ability to move the bottom panel hoping to leverage view movement to solve most of the use cases. Unfortunately, this did not work as expected and instead we decided to keep the bottom panel movement. As part of this change in direction, we decided to rename the Side Panel to avoid the confusion of a side panel and a panel that moves to the left/right (to the side).
In the UX, we now refer to the 3 surfaces: Primary Side Bar, Secondary Side Bar, and Panel.
Testing
Review the editor strings to ensure we have correct presentations of these new names:

Menu Bar > View > Appearance
Command Palette Commands
The Layout Control in the custom title bar (hovers)
Customize Layout command quick pick
Setting descriptions (we don't change setting titles for compatibility reasons)
Right click menus of parts (e.g. Hide Primary Side Bar)
Anything that comes to mind I might have overlooked.

Note Under the hood, commands are using AuxiliaryBar as a clear distinction from the other to surfaces which allowed us to change names without ties to the command name.

Under the hood, commands are using AuxiliaryBar as a clear distinction from the other to surfaces which allowed us to change names without ties to the command name.

Should this get updated at some point? i know one piece of debt that lingers is the renaming of areas that have been changed over time (like the simple checkbox example @TylerLeonhardt recently renamed)

There is a separate debt item for cleanup of the code. I didn't mix this here because unlike the checkbox example, this has a direct impact on the users keybindings.


Write deployment scripts

run npm version locally to build tags and push to git
on tagged commits run npm deploy

etc

done


Drag events documented incorrectly

The documentation says that the events are dragEnd and dragStart. In reality the events are drag-end and drag-start.

Thanks, the document has been updated.


Crash on macOS (EXC_BAD_ACCESS (Code Signature Invalid))

tl;dr macOS may forcefully terminate a process when scanning a file, due to code signing issues of the file. To fix, mmap should be called with MAP_RESILIENT_CODESIGN
In filemap.c, function yr_filemap_map_fd a file to scan is mapped in via mmap:
pmapped_file->data = (const uint8_t*) mmap(
        0,
        pmapped_file->size,
        PROT_READ,
        MAP_PRIVATE,
        pmapped_file->file,
        offset);

For reasons yet to be understood, occasional when scanning certain mach-O binaries, macOS decides that the code-signature of this readonly (PROT_READ) mapping of the file should be validated, before the bytes in the mapping can be read (scanned).  In this situation, if the file being scanned doesn't have a valid signature, when the scanner then attempts to read the mapped bytes, macOS freaks and kills the process with EXC_BAD_ACCESS (Code Signature Invalid).
I was able to reproduce this locally in the following (external) proof of concept, that simply maps a file (in the same manner as Yara), then attempts to read said bytes:
//note: path is the path to file to scan
//         size is the size of the file to scan
int fd = open(path, O_RDONLY);
void* bytes = mmap(0, size, PROT_READ, MAP_PRIVATE, fd, 0);
printf("bytes at %p: %x\n\n", bytes, *(unsigned int*)bytes);

When run compiled (with the hardened-runtime enabled) certain files cause macOS to terminate the process, when the bytes in the mapping are accessed (i.e. *(unsigned int*)bytes):
$ ./poc ~/Downloads/test
Killed: 9

Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)
Exception Codes:       0x0000000000000032, 0x000000010e688000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x2

Note, only the scanning (more specifically the mapping of) certain files will trigger this behavior.
One such file is the mas binary (https://github.com/mas-cli/mas).
Clearly, it seems silly for macOS to validate the code-signature of read-only mappings. As such a bug report will be filed with Apple as well.
Reversing Apple's private Yara library (/System/Library/PrivateFrameworks/yara.framework/yara) reveals they call mmap with the (macOS-specific) MAP_RESILIENT_CODESIGN flag.  Adding this flag to our PoC, instructs macOS to ignore code-signing "failures", and ensures scanning can commence as expected (i.e. no crash!).
void* bytes = mmap(0, size, PROT_READ, MAP_PRIVATE|MAP_RESILIENT_CODESIGN, fd, 0);
As such, it is suggested that this flag is added to (macOS-builds) of Yara :)
Related: "LLVM: Adopt mmap flags that allow mmap'ed memory to be less crash prone."

Interesting stuff, and a very complete bug report!


801 subevent linked one superevent

Description
Currently a subevent is linked with only one superevent. The superEventID field is overwritten when the same subevent is linked to another super event. This replaces the superEventID field to be an array.
Fixes #801
Review Time Estimate
Please give your idea of how soon this pull request needs to be reviewed by selecting one of the options below. This can be based on the criticality of the issue at hand and/or other relevant factors.

[ ] Immediately
[x] Within a week
[ ] When possible

Type of changes
Please select a relevant option:

[x] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
[ ] Other (any another change that does not fall in one of the above categories.)

Checklist:
Please select all applicable options:

[ ] I have signed the Rokwire Contributor License Agreement (CLA). (Any contributor who is not an employee of the University of Illinois whose official duties include contributing to the Rokwire software, or who is not paid by the Rokwire project, needs to sign the CLA before their contribution can be accepted.)
[x] I have updated the CHANGELOG.
[ ] I have read the Contributor Guidelines.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] My change requires updating the documentation.
[ ] I have made necessary changes to the documentation.
[ ] I have added tests related to my changes.
[x] My changes generate no new warnings.
[ ] New and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.

superEventID should be backwards compatible. Check if superEventID is s string field or an array. Converted PR to draft to make these changes.

As I remember, our users only need to attach to one super event. Is there a new feature to add?

As I remember, our users only need to attach to one super event. Is there a new feature to add?

The users could add multiple subevents to one super event. However, in the subevent, only the latest superEventID is reflected.

This might need more discussion. Let's put this on hold for the time being.

converting to draft as need more information on whether same subevent can be part of multiple super events.


Variable most_occurs is not defined

The variable most_occurs is printed and used, but not defined in your Notebook. Do you mean to execute something like this?
most_occurs = [(k, v) for k, v in counts.items() if v >= 80]

Hi Elias,
Thank you again.
I updated the notebook, based on the assumption. I will check this again sometime later with my colleagues.
Best regards


[Spotter]: Preview Object - Port to Streaming API

Motivation
I have a Spotter for object properties. My search looks like this:
MyClass>>#propertiesSearchOn: aSearch
    <gtSearch>

    ^ aSearch list
        title: 'Properties';
        items: [ self properties associations ]

The problem is that the right pane shows associations:

While I want to see the association on the left side, I want to see the value on the right side.
The old implementation used to have #previewObject:. The more I use the new Spotter, the more I miss it.
IIUC the new API, I now have to do:
aSearch
  "..."
  previewElement: [ :assoc |
            (assoc value gtViewsFor: GtPhlowView empty) originalView
                asElementDo: [ :anElement | anElement ] ]

UPDATE: previously referenced missing #send: as well, which is available and tested in v.0.8.2628

Works now.


Which Python version is preferred for this?

We have used Python3.8 but any Python3 will make it.

thank you!my computers mac and pc don't have nvidia gpu, hoe can make it run?
Very respectfully,
Guan Wang
On Friday, February 10, 2023 at 09:05:07 PM EST, Burhan Ul Tayyab<EMAIL_ADDRESS>wrote:

We have used Python3.8 but any Python3 will make it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Yes, you have to initialize the model like this to run on CPU
model = GPT2PPL(device=“cpu”)

Thanks again，
I tried. Still I got error saying torch not compiled with cuda enabled.
Sent from my iPhone

On Feb 10, 2023, at 11:07 PM, Burhan Ul Tayyab @.***> wrote:

Yes, you have to initialize the model like this to run on CPU
model = GPT2PPL(device=“cpu”)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.


Fix error message lost issue

Description
Fix error message lost issue
Issue reference

Please reference the issue this PR will close: #6055
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

I'll look into the failed unit test and add release note later.

@Taction notice the consistently failing unit test


[Quickvid] Remove extractor, site dead

[x ] I've verified and I assure that I'm running youtube-dl 2016.04.19
[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[x] Other

Remove extractor, site dead.
https://www.reddit.com/r/QuickVid/comments/3b0jai/goodbye/

And scivee.tv  down for a long time, and dump.com too. No news from them.


feat: update minimized comment with explainer

Instead of just minimizing an unhelpful comment, we will now educate the person so that hopefully they will understand why the comment was hidden.

Test


New paper on poison unlearning

Potion: Towards Poison Unlearning
ArXiv: https://arxiv.org/abs/2406.09173
GitHub: https://github.com/if-loops/towards_poison_unlearning

Many thanks Stefan, we will check and add them soon. Thank you very much for your contribution.


minor refactor

CC @phonzammi I think this addresses your concern.

@brillout, yes, I think that's much better 💯


Fix the bug deleting visibilities when static

Fix #16.
When we have:
protected static $attr;

or
private static $attr;

it is simplified to:
static $attr;

which is obviously wrong and dangerous. We fix this bug. It is
simplified on when the visibility is public.

Looks good =)


Musum/limit number of config models build when adding node

First 3 commits are just refactorings, last one is the actual change

Ok, great


libjxl produces too-dark HDR images when sRGB is requested

Describe the bug
HDR lossy XYB-encoded JXL images are too dark when sRGB is requested from libjxl.
To Reproduce
Take an HDR image, XYB-encoded (example attached). Decode it to sRGB with:
$ djxl --color_space=RGB_D65_SRG_Rel_SRG hdr.jxl sdr.png

and view the resulting sRGB PNG with any PNG viewer. The image will be too dark.
Then, decode it to a PQ PNG with:
$ djxl hdr.jxl hdr.png

(this image is tagged as BT.2100/PQ so the explicit color space does not need to be requested).
View that PQ png in Chromium, mpv, Preview, or any ICC-aware viewer that tonemaps correctly. The colors will be much more accurately bright and not dark.
Expected behavior
The SDR should look like an SDR approximation of the HDR image. Some tradeoffs need to be made, but darkening the whole image is definitely undesirable.
Changing the rendering intent from Rel to Abs, Sat, or Per didn't fix the issue.
Screenshots

^ the above .jpg is a JXL file
sdr.png is 34 MiB but you can view it here: https://files.catbox.moe/9hjw4u.png
Environment
djxl 60ab29d7
 - OS: Arch Linux x86_64
 - Compiler version: gcc 12.2.1
 - cjxl/djxl version string: djxl v0.9.0 60ab29d7 [AVX2]
``

Extra information: somehow libjxl is only using ~half of the 0-65535 range for this 16-bit PNG. Here's part of the output of identify -verbose sdr.png:
Channel depth:
    Red: 16-bit
    Green: 16-bit
    Blue: 16-bit
    Alpha: 1-bit
  Channel statistics:
    Pixels: 8294400
    Red:
      min: 0  (0)
      max: 32740 (0.49958)
      mean: 6524.4 (0.099556)
      median: 5916 (0.0902724)
      standard deviation: 5019.01 (0.0765851)
      kurtosis: 0.54006
      skewness: 0.894579
      entropy: 0.946897
    Green:
      min: 0  (0)
      max: 30019 (0.458061)
      mean: 7113.79 (0.10855)
      median: 6916 (0.105531)
      standard deviation: 5159.37 (0.078727)
      kurtosis: -0.27073
      skewness: 0.513194
      entropy: 0.955864
    Blue:
      min: 0  (0)
      max: 29593 (0.45156)
      mean: 7540.07 (0.115054)
      median: 3124 (0.0476692)
      standard deviation: 8041.49 (0.122705)
      kurtosis: -1.54838
      skewness: 0.493819
      entropy: 0.800535
    Alpha:
      min: 65535  (1)
      max: 65535 (1)
      mean: 65535 (1)
      median: 65535 (1)
      standard deviation: -nan (-nan)
      kurtosis: -2.76473e+58
      skewness: 1.62719e+41
      entropy: 0

GIMP reports only partial levels used as well:

Second update: This hdr.jxl has intensity_target tagged at 10000 nits, but since SDR is display-referred we should be using 255 nits for SDR color spaces.

I think this is fixed in master


Update variables with full list of images available

What does this PR change?
Update variables with full list of images available for libvirt and null provider. These are already available in https://github.com/uyuni-project/sumaform/blob/master/backend_modules/libvirt/base/main.tf#L5, this PR is just documenting it

The omission of less-frequently-used images by default is on purpose - to save people's disk space unless they really need a certain image.
What need are you trying to address here, that can maybe addressed differently?

I don't know what I was trying here but it makes no sense to download everything by default, closing

I don't know what I was trying here but it makes no sense to download everything by default, closing


A hosted API for svgo

Hey @GreLI and team! 👋
Just wanted to reach out about funding your work on svgo.
@transitive-bullshit and I are both open source maintainers, and we're exploring new ways to make OSS funding a viable source of income.
We're currently looking at building rate-limited SaaS APIs on top of existing OSS libraries, reserving the majority of profits for the original authors. We've built a few at this point, but want to keep adding more.
I think svgo would be a great fit, and I'd love to build a SaaS API on top of it. We'd handle the initial dev as well as on going auth, billing and support so you wouldn't have to do anything.
Looking forward to hearing your thoughts! 🙏

Hi. I don't see much sense in this with already existing tools like svgomg


Fix layout css

This fixes the multiple scrollbars that are overlapping. This is to fix issue #201

FYI: The package lock file was just an update by my npm. It means you can't use older versions (npm 6 or earlier). Must use npm 7 or later. My npm updated this automatically when installed.


No such file or directory

Hello guys. I'm using a Raspberry Zero W.
I'm trying to install pivpn but but I get always that error. Can you help me please?

It's a common problem with OctoPi: https://github.com/pivpn/pivpn/wiki#what-about-octopi

Hello, I think I ve solved. Thanks.
Do you know if there is an updated guide to setup it? I was looking for an up to date guide, but on youtube there are only old "version" guide.
Thanks

Hello, I think I ve solved. Thanks.

Please next time read the issue template, closed issues and the wiki before posting.

[] I have read and understood the contributors guide.
[] The issue I am reporting can be replicated.
[] The issue I am reporting can be is directly related to the pivpn installer script.
[] The issue I am reporting isn't a duplicate (see FAQs, closed issues, and open issues).

Do you know if there is an updated guide to setup it? I was looking for an up to date guide, but on youtube there are only old "version" guide.

You shouldn't really need a guide to set it up, the installer walks you through all the steps.

Closing as it seem to be solved, If you have other problems open a new issue following the template.


Fix crash when attempting to remove an element from an empty collection

Codecov Report

Merging #122 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #122   +/-   ##
=======================================
  Coverage   91.86%   91.86%
=======================================
  Files          51       51
  Lines        2617     2617
=======================================
  Hits         2404     2404
  Misses        213      213

Impacted Files
Coverage Δ

Tests/SDKTests.swift
100% <100%> (ø)
:arrow_up:

Sources/PushNotifications.swift
85% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Update to 1.0.0b24

Checklist

[x] Used a personal fork of the feedstock to propose changes
[n/a] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

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

@ericpre If you are interested feel free to add yourself to the maintainers.

@ericpre If you are interested feel free to add yourself to the maintainers.

Done!

@conda-forge-admin, please rerender

Thanks!


multiple kafka-manager to one kafka-cluster

Just wanted to know if there is any problem when using multiple kafka-manager monitor the same kafka cluster,and the cluster name in kafka-manager is also the same one.

Some consumer group details may not see.

I have no problem with this.

What is this "cluster name" of which you speak? My cluster list is blank in the kafka-manager UI on port 9000.

If offset save in the broker, some consumer group details may not see, because they use the same grou.id in the createKafkaConsumerConnector function in the KafkaStateActor.scala.
props.put("group.id", "KafkaManagerOffsetCache") => props.put("group.id", "KafkaManagerOffsetCache" + java.util.UUID.randomUUID.toString)

Is it still actual?


Fix compatibility with Rust nightly

These two tests actually shouldn't have ever passed, but nightly Rust is more
principled about "$OUT_DIR" and doesn't leak it where possible, so these two
tests were accidentally compiling due to leaking '$OUT_DIR' for Cargo itself.

r? @brson
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit b000ac6 has been approved by alexcrichton

@bors: p=1

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing e6e99084106f00e2819d4ebdcfe4503e8242407d to master...


infinite loop at yarn supabase:dev step

i'm getting this in an infinite loop:
worker thread panicked TypeError: U.accessor is not a function
    at https://esm.sh/v114/axios@1.3.5/esnext/axios.mjs:702:3

i have updated node and all dependencies. thoughts?

This is an error with supabase CLI in the current version rn. Thats why supabase CLI is pinned.
In the README.md you shoud run npx supabase start and npx in front of any supabase CLI commands.
@nfcampos can you update readme accordingly?


Use ember-cli-babel-polyfills to split Babel polyfills between evergreen and legacy browsers

Since evergreen browsers need much less polyfilling than IE11, we use ember-cli-babel-polyfills to split them in 3 bundles:

evergreen
legacy
shared

Loading of the bundles is handled by the nomodule flag, it makes sure we load the legacy bundle only in browsers that don’t support native JavaScript modules.

🦀 Requesting reviewers for this pull request:

@garno (contributor with 0 commits in the last 90 days and 7 commits overall)


Check return result of sodium helper functions and throw an error in case they are -1

[x] sodium_base642bin
[x] sodium_bin2base64
[x] sodium_bin2hex

See description here https://libsodium.gitbook.io/doc/helpers#base64-encoding-decoding

Closed with https://github.com/SerenityNotes/react-native-libsodium/pull/20


[OFFICIAL] Generated Issue: FatalThrowableError

Please fill out the details below.
Summary:
Steps to reproduce:
Additional Details
Jikan Parser Version: v2.16.12@ca18a33cee6bb48331aeb27d583883629f3d5e81
PHP: 7.3.20-1+ubuntu18.04.1+deb.sury.org+1
Redis: Connected
Exception: Symfony\Component\Debug\Exception\FatalThrowableError
Code: 0
Message: Return value of Jikan\Parser\Search\PersonSearchParser::getResults() must be of the type array, null returned
Trace: /var/www/jikan/vendor/jikan-me/jikan/src/Parser/Search/PersonSearchParser.php on line 76
Request: GET /v3/search/people?q=Ohashi%20Ayaka

Now requests that have 100% match give zero results. Are MAL redirects not supported yed?


Avatar Documentation

Avatar Teams Doc

21/08 - doc created

PR up https://github.com/jpmorganchase/salt-ds/pull/2271

August 25 - Content: looks fine; dev:

Aug 30 - approved; waiting for build and test to pass - then can merge


Task 135 fix sonarqube issues

This is meant to

reduce several SonarQube issues
increase code coverage

Closes #135

@echebbi I was wondering if you have some spare time to have a look at this. Mostly, these are cosmetic changes and additional testing scenarios


k__Bacteria

😞 not sure what is this about but if you have questions about processing please send them to<EMAIL_ADDRESS>closing for now.


Update all data

I updated the data and the meta data from which the data is retrieved accordingly, so that all data is now visible on the dashboard.
I had the error that adding DataGroups multiple times did not work, so I did silent that error.
Resulting in a consecutive series of data results through multiple years

nice formatting by ruff - I like it


Add silent update install option

Is your feature request related to a problem? Please describe.
We have a self-service kiosk for e-queue, it has no keyboard or mouse, touch screen only. OS is Windows 10. We try to implement auto-update, but it requires administrator elevation, show success dialog window, and don't restart the app.
Describe the solution you'd like
Need some setting key to able to silent install updates. Some production cases require auto-update without user interaction, but now someone needs to press OK and restart the app.

That's a neat feature and it makes sense in your situation. I guess I see three ways of rolling this out:
Are you using our update mechanism?

Yes, update dialog disabled, updates handled by js.

And it still wants an administrator elevation? That's tricky.

Temporary we car run the app as administrator (as I understand it is needed for installation of WebView2, but why it needs on update?). Is it possible now to make the update silent without that (some WiX config)?

Well, in the near future WebView2 should be installed already (if you are using a fresh system for your kiosk - which I would expect). Over the next days we will be digging back into windows because we think we can improve startup time there.
I agree, requiring admin shouldn't be necessary.

why it needs on update

It’s required because we use wix(msi) and it use  Program Files. (Not sure if Installed in C:\your-app would work?) We could make updater to update the self binary only (no assets/icons etc) I’m leaving for the week end but when i’ll come back I can take a look.

update silent without that (some WiX config)

It use msiexec.exe I think adding /quiet and /silent do the trick

Thanks, I look forward to it.

Good day! Any news?

Hi @dpetlyuk !
We didn’t forgot you!
It’s added in my current sprint and i’ll try to get to it ASAP.
Its something you need right now?

Hi @lemarier!
Currently, no new releases are planned, but it would be nice to know the approximate timeframe.

Awesome! I'll try to start working on this probably next week.
If things go well, you should expect it in ~ 2 patch releases of Tauri to give us time to run tests, so ~ 1 month.

I apologize for coming to this discussion late. If you've already worked out a process without elevated privileges, please disregard this message.
I've seen other update processes that require admin rights on Windows avoid the UAC prompt by using the Windows Task Scheduler. During an elevated install process, they create a task that runs with elevated permissions. When the update needs to run, they call this task to execute and avoid the UAC prompt.
If you think this would be helpful, I would be happy to put together a sample.

I apologize for coming to this discussion late. If you've already worked out a process without elevated privileges, please disregard this message.
I've seen other update processes that require admin rights on Windows avoid the UAC prompt by using the Windows Task Scheduler. During an elevated install process, they create a task that runs with elevated permissions. When the update needs to run, they call this task to execute and avoid the UAC prompt.
If you think this would be helpful, I would be happy to put together a sample.

Hi @euphbriggs ,
Thanks a lot for your suggestion, I think it could be useful with an optional configuration as it may cause some security concerns.
If you want to draft a PR I'll be happy to help/guide you!
Thanks again

Sure thing. I'd be happy to take a crack at it.
Should I be looking for the code related to Wix?

Yes, you can take a look at the bundler
If you need to check the updater process, you can see it here
An example is configured to kick a new update if you need to test.
Don't hesitate to ask questions, if you are on discord you can ping me as well! lemarier#1302
Thanks again

@lemarier I put together a very basic prototype of the idea in this repo.
To keep it simple, it just launches an elevation command prompt, but the concept should work for the update process too.
If this looks like a good direction to you, I'll start looking into how this fits into the Tauri ecosystem and put together a pull request.

hi @euphbriggs,
Well done!
I've tested and it seems promising!
To confirm, the install_task should be run from the WIX installer when the user installs the app for the first time.
Then once we got an update, we can elevate with the /run
Also, I think we should allow users to enable/disable this feature, so it should probably be in the tauri.conf.json


Upload code coverage to CodeCov

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@daa00ad). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #99   +/-   ##
=======================================
  Coverage        ?   64.09%
=======================================
  Files           ?       78
  Lines           ?     1050
  Branches        ?      209
=======================================
  Hits            ?      673
  Misses          ?      309
  Partials        ?       68

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Persist data with Room

URL of codelab:
Specify the language of the codelab if it is not English:
In which task and step of the codelab can this issue be found?
5. Create an item Entity, Data Classes: Step 2
Describe the problem
The tableName in @Entity(tableName = "items") should be @Entity(tableName = "item"), otherwise the following error will occur during build:
There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: item)

Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

The tableName should be "Item" not "Items" following the note from the previous codelab:

Note: Like with Kotlin classes, the convention is to use the singular form for the name of database tables. For the example above, that means you name the tables teacher, student, and course, not the plural forms of teachers, students, and courses.

Note: Like with Kotlin classes, the convention is to use the singular form for the name of database tables.
Тогда переименуйте таблицу в 5. Create an item Entity !

@Entity(tableName = "items")
data class Item(
...
)
Странно, конечно, использовать единственное число для сущности, содержащей много предметов. Раз уж приняли правило, так применяйте везде. В текущем виде пример не работоспособен.

Course containing the note about table naming convention mentioned by @PICO443 above.
https://developer.android.com/codelabs/basic-android-kotlin-compose-sql#1
Inconsistent naming of database tables can be found in Android Room guide too. For the definition of entities it uses a plural word for table name, while the example shows singular naming in a query for accessing the data.

Hello @wngu6,
Thank you for reaching out to us. It is fixed and published.


Changes to dwca_resource table

Rename resource_uuid to gbif_package_id
Add alternate_identifier column. This column could(not mandatory) be used for resources not coming from an IPT.

When gbif_package_id is provided, alternate_identifier should be null since it will not be used.


Proper alignment of Navbar and it's elements

The navbar looks a lot congested with no alignment of elements with each other and also overlapping of elements.
This can lead to confusion on which button to click on for different causes.
The image of navbar is here -

I would like to work on this issue and make the navbar with elements even more appealing, attractive and also proper alignment of tabs and elements of the navbar.
Please assign me this issue @tushargupta1504
I am really looking forward to work on this.
Thank You

The following issues are identified  and I'd like to raise and work on them:

Congested Navbar: The navigation bar looks cluttered with elements placed too close together, which impacts readability and ease of use.
Overlapping Elements: Some elements are overlapping, making it unclear which button corresponds to a particular action.
3.Misaligned Tabs: The tabs are not properly aligned with each other, affecting the overall aesthetics and navigation flow.
Visual Appeal: The layout could be more visually appealing and structured for a better user experience.

I would like to work on fixing these issues by creating a cleaner, more organized, and user-friendly navbar.
Please assign me this issue @tushargupta1504. I'm looking forward to contributing.
Thank you!


Toolbar Not Showing (v 0.7.6)

I've installed v. 0.7.6 and cannot get the Audioband toolbar to show. I've run the unblock script, restarted both my computer and windows explorer, have Audioband selected under toolbars, and have Spotify launched. Any idea what might be going on?
AudioBand.log

Closing old issue as it relates to older version of audioband. Feel free to reopen if the issue exists on newer versions.


Investigate why main cli tests are so (relatively) slow

The test suite has generally been pretty fast as per the nature of Go testing but now it tends to take 30-60 seconds locally with a lot of that time being taken by github.com/google/osv-scanner/cmd/osv-scanner.
While that's still relatively fast in the scheme of things, the next slowest package is semantic at ~0.200 seconds, and to make it worse the osv-scanner/cmd/osv-scanner tests are the most e2e-y, testing the CLI entry function meaning they basically never get to benefit from caching.
I've previously looked into this and I believe it was the result of supporting local databases - in particular, I think one of tests uses the Debian ecosystem which has the latest database by something like a x2 factor; however I didn't explicitly note this anywhere.
Someone should do some digging into what's happening so we have it captured and we can then discuss hopefully how we might be able to make the test(s) faster.

@billielynch this is for you to pick up

@G-Rath I don't seem to be able to assign myself. Do you want me to be assigned on it now or when I actually have time to look at it?

@billielynch pretty sure you can only be assigned if you're a collaborator, so for now it'll just have to be unassigned

@billielynch Assigned you to the task now :)

Confirming the location of the slowness
Running the tests identifies three files that are taking over 0.1s:
github.com/google/osv-scanner/cmd/osv-scanner   23.991s coverage: 45.4% of statements in ./...
github.com/google/osv-scanner/internal/semantic 0.232s  coverage: 36.8% of statements in ./...
github.com/google/osv-scanner/internal/sourceanalysis   0.960s  coverage: 11.5% of statements in ./...

internal/semantic
Discussion with @G-Rath indicates that this is just a computationally heavy test group that is doing a lot and fairly optimised already. Going to just pass this one for now.
cmd/osv-scanner
This is by by far the slowest area. Running each TestRun in cmd/osv-scanner we get times:

Licenses 2.03s
LockfileWithExplicitParseAs 1.36s
GithubActions 1.26s
SubCommands 0.74s
LocalDatabases 22.74s

Honing in on the LocalDatabases test cases then here as the main culprit.
I added a time-delta log line, starting with time:  in the testCli which gives the time for execution for each of the CLI test cases and a log line in the function that manages the test directories starting with dir:  recording the used directory.
I also named these tests to help with my sanity and will be using those names a bit going forward. The names are directly related to the fixtures and parameters used.
The output for each set of fixtures and parameters looks like:
RUN   TestRun_LocalDatabases/Locks-Many-with-invalid
    main_test.go:526: dir: /tmp/osv-scanner-test-2947371249
    main_test.go:535: time: 4.161588873s
    main_test.go:536: time: 848.178117ms

Things to note are:

There are two time logs as each case is run twice.
Each set of params and fixtures runs faster on the second run, this is expected.
Each set of params and fixtures uses a unique location for its local database, so data is retrieved for each.
I stopped the tests running parallel while I was doing this investigation, again for my sanity, this results in a blow out of time to ~40s.

From this information I suspect that the time is related to retrieved data. I looked at the directories for each test and created a table like so:
testcase                                                time    size    size:time

TestRun_LocalDatabases/Not-a-Lock                       0.00s   4.0K	~inf
TestRun_LocalDatabases/Json-Single-json                 0.90s   3.4M	~3.8
TestRun_LocalDatabases/Markdown                         0.91s   3.4M	~3.7
TestRun_LocalDatabases/Json_Single-format_json          1.03s   3.4M	~3.2
TestRun_LocalDatabases/Composer-Only                    1.06s   3.4M	~3.3
TestRun_LocalDatabases/Empty-Config-sbom-insecure       4.07s   9.8M    ~2.4
TestRun_LocalDatabases/Nested_Multiple-not-recursive    4.62s   15M     ~3.2
TestRun_LocalDatabases/Locks-Many-with-invalid          5.03s   16M     ~3.1
TestRun_LocalDatabases/GitIgnore-recursive              5.04s   16M     ~3.1
TestRun_LocalDatabases/Nested_Multiple-recursive        5.60s   18M     ~3.2
TestRun_LocalDatabases/GitIgnore-recursive-no-ignore    5.95s   19M     ~3.1
TestRun_LocalDatabases/Locks-Many-all-of-them           8.35s   25M     ~3.0

KEY

time is test execution time
size is the size of the temp file after a test execution
size:time is size value divided by time value

So the size:time value is pretty much exactly my download speed locally and consistent through the tests, with some slower on the faster tests which can be attributed to setup time.
I dropped my bandwidth on my router to half speed and got an approximate double in test time blow out. I also confirmed the tests are approximately proportionally faster on a faster connection (with other hardware however). I'm pretty satisfied with concluding that bandwidth on accessing the external resources is the limiting factor with these tests.
internal/sourceanalysis
The vast majority of time in this set of tests is spent on Test_RunGoVulnCheck (0.94s).
. This test runs a scan on a small go module. The test itself has some conditional logic but ultimately is running runGovulncheck and checking expected outcome. There is space for further investigation here.

@billielynch awesome write up - I think it would be good if you could dig into which databases are being downloaded and their approximate sizes for each local test, since some are bigger than others and we might be able to optimize a few by just using different ecosystems for our fixtures.
Beyond that I think there's two main things for us to explore:

"mocking" the databases that get used, probably via a hidden cli flag akin to --experimental-local-db-path so that we can then use httptest to provide fake databases

we're already doing this in other tests which should be very copy-and-paste-able; the downside being it would make things less e2e-dy

allowing reuse of the databases by default, and using TEST_ACCEPTANCE (which is enabled in CI) to disable that behaviour

The databases are sized as follows:
system      size
RubyGems    1.1M
Go          2.2M
OSS-Fuzz    2.5M
Packagist   3.4M
Debian      5.3M
Alpine      5.6M
npm         15M

As you can see even just not using npm would be helpful :)

Oh wow yeah the npm database has really grown - it use to be that Debian was the largest 😓
That is probably something we can address - Debian I think is needed for some of the sbom stuff, but pretty sure npm is very generic so could easily be replaced with e.g. composer/packagist

We've discussed this and decided to explore having the local database tests reuse the local cache when TEST_ACCEPTANCE is not set, which should speed these tests up greatly locally.


script opts can now be updated during runtime

Uses the mp.options helper function to update script options
during runtime. This allows for options like display duration, title resolution,
etc, to be changed with profiles/keybinds/console commands.
I've moved some of the code into the update function so they
should be updated properly if the option changes.
This isn't like my other two pull requests, if you want to pull this
you'll want to check how all your different options would handle
being updated. I've tried to account for the obvious options, but
I don't know this code well enough to know where to look for
unexpected behaviour.
If you find some aspect of the code can't be easily changed to do
this then I won't be offended if you reject the pull request.

Hmm seems interesting. Do you have some specific usecase where this would be useful? Can you show how it would look as a keybind or a profile.

Well you could just have a keybind set to something like:
f8 change-list script-opts append playlistmanager-resolve)titles=yes
and that would not resolve titles until the keypress is activated.
Or maybe you have a music profile which gets auto-activated for music files, and in that profile you change loadfiles_filetypes to not include image files so that coverart doesn't get included.
It's also just good for testing settings, for example if you want to test different values for showamount, then you could open up console.lua and just put in change-list script-opts append playlistmanager-showamount=x and rapidly try different values without needing to restart.
None of this is necessary, of course, but it could be a useful feature, and it shouldn't cause any overhead if someone doesn't use it, because that helper function is only run if a script-opt specifically for playlistmanager is changed.

Another use case is a small script that detects when a url is loaded and only then activates resolve_titles. I actually considered writing something like that since it accounts for most use cases without causing any overhead when playing local files, which is what I do 95% of the time.

Seems useful and versatile. I'm still trying to test this but it doesn't seem to work on mpv git-2019-04-25-71ad1e2. I'll test it on my desktop later.
Maybe it should be documented in the Settings section. I can also write it later if you don't want to include it to this PR.

The helper function was added in https://github.com/mpv-player/mpv/commit/478a321dcc62345a09acfd34740dc6d0783ade88, and all the bugs fixed in https://github.com/mpv-player/mpv/commit/c99cc13526a8b35f120d70e57e44d2b8dd46d400

If it doesn't cause any crashes or error messages, then it's probably fine to just specify the minimum mpv version in the docs.


doc: describe all simp configuration options

Co-authored by Marc Huisinga, with input from Leo.

It will probably be a lot more work than what you have already done here (thank you all for this BTW!), but it would also be useful to have examples where a user might plausibly want to turn on each option and demonstrate the difference, because the specification of the flags can be somewhat opaque if you don't know simp / type theory internals.

Yes, the examples definitely needs to be in the new reference! In the meantime, I think it's useful to have them here "below the fold", but it's OK not to as well.


[5.8][BuilderTransform] Rework missing buildWithLimitedAvailability detection

Cherry-pick of https://github.com/apple/swift/pull/63768

Explanation:

Fixes a crash in diagnostic code that is trying to determine
whether buildWithLimitedAvailability should be added to
the result builder.
Since all of the branches of an if statement are joined
together and hence produce the same type, that type
should be used to check whether buildWithLimitedAvailability
is required but missing regardless of availability condition kind.

Scope: Result builder transformed closures/functions with if #unavailable statements without else branch.

Main Branch PR: https://github.com/apple/swift/pull/63768

Resolves: rdar://105734854

Risk: Very Low

Reviewed By: @hborla

Testing:  Added a regression test-case to the suite.

Resolves: rdar://105734854
Resolves: https://github.com/apple/swift/issues/63764 (cherry picked from commit c4ea02c2d74583277d50b084d61397185f598335)

@swift-ci please test

@swift-ci please test macOS platform


[Proposal] Sails.js Multi Tenancy on Document Level

I'm willing to implement a way of doing multi tenancy on sails, using the document level approach. As it will works on all adapters easily.
Implementation and approach
I'm willing to add a tenant_id column on every multi tenant table/collection. And also on users table/collection. O login a policy will add the tenant_id to the request and every model call will ensure that is being used.
What i need to do:

Implement a policy that adds a tenant from user after authentication (Sails fully support, nothing to do here).
Intercept all model calls to ensure tenant is used (See Model intercept for details)

Why intercept model and not controllers? Controller might use multiple model calls, so it's impossible to guarantee the usage. Also blueprints will not work.
Model intercept
I want to make a default implementation that enables the tenant_id verification or return error automatically on every model call.
"beforeFind"/"beforeDelete": guaranteed that where contains tenant_id, else returns error
"beforeCreate"/"beforeCreateEach": Automatically overrides the tenant_id of each document with tenant_id
Any toughts on implementation (where should i edit to intercept model calls, is it possibile to make a hook for it?), or possible problems that i might find?

**Node version**:
v14
**Sails version** _(sails)_:
1.x
**ORM hook version** _(sails-hook-orm)_:
3.x

Hi @Goostavo, Thanks for using Sails. If you're interested in adding multi tenancy, we recommend adding an organization model and building the app around multi tenancy, instead of going the intercept route.


tls: add enable_client_cipher_preference option

Commit Message: Add option to allow enabling client cipher preference for TLS handshakes instead of the server's (default).
Risk Level: Low
Testing: Unit/Integration/Manual
Docs Changes: Added
Release Notes: Added
Fixes #34604

/wait
I think this needs to be updated to resolve the merge conflict @arulthileeban

/wait
I think this needs to be updated to resolve the merge conflict @arulthileeban

Updated it. Check seems to fail due to lack of agents?

Unassigning @markdroth because he's out this week.
/assign-from @envoyproxy/api-shepherds

@arulthileeban sorry there's a merge conflict again. Should be able to merge after that's resolved.
/wait

@arulthileeban sorry there's a merge conflict again. Should be able to merge after that's resolved.
/wait

Fixed. Thanks!


[BUG] Impossible to override SwXXX components (?)

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
The documentation states that we should be able to override the packages/cms-base/components/SwProductCard.vue component but this doesn't actually work.
It seems like we can only override the components in packages/cms-base/components/public/cms, is that correct?
So to override the ProductCard layout, we would need to override packages/cms-base/components/public/cms/element/CmsElementProductBox.vue as a 1:1 copy of the original CmsElementProductBox.vue but referencing a custom implementation of ProductCard.vue ?
Thank you for your help
Expected Behavior
No response
Steps To Reproduce
No response
Environment
- OS:
- Node:
- pnpm:

Anything else?
No response

For me, it looks like you are right. At the moment you need to overwrite the CMS Components that you want to change and use your "customized" SwProductCard inside this. If you only change CmsElmentProductBox this will only help for this one CMS Element. But SwProductCard is used in 4 Files inside public/cms.
@patzick I guess we already talked about making this a way easier?
Maybe we should push this topic. What do you think?

This needs to be corrected in the documentation. Component SwProductCart is only the internal component of cms-base package. The public api of the package are all CmsXXX named components, as this is what is coming from Shopware API as well.
Overwriting that way gives you way more flexibility and no problem with future upgrades of the package itself. So just create Product Cart component you wish to have in CMS and use it in desired CMS Element Component

What to do here? 😀


Question: When working with 3rd party APIs, how does one handle the API write succeeding but the db write failing?

I once heard someone say that when you are considering the robustness of a bit of code, one solid way to progress is to simply walk thru every line and ask, "What if my server crashed here?". I have learned so much from your writing on how to write more robust sofware, and I am truly very indebted. I have one (hopefully quick) question for you to help me think thru:
What is the server crashed right before this line executes:
https://github.com/brandur/rocket-rides-atomic/blob/afc24368d50c1e6deca8d99e8e0eedc724508f4a/api.rb#L135
This is in the atomic phase where we make the Stripe API call. I have been trying to think deeply and correctly about how to ensure robustness when working with 3rd party APIs when you need to store in your db some aspect of the response. How can we ensure that if the API call succeeds but the db write doesn't (for whatever reason) that we don't redo the API call (I'm here presuming that the API doesn't support idempotency keys, because unfortunately too few do)?
Obviously, I could always guard the write API request with a read API request to check if the object already exists. I am trading making 2 API requests in the initial and common case for not duplicating writes in the retry and less common case. I am wondering, however, if there are any other suggestions that come to your mind or that you perhaps have implemented before?

Hey Stephen,
So unfortunately, this code is written with the assumption that the foreign API does support idempotency keys, which is what makes it crash-safe on this line. We previously stored the idempotency key we're going to use, so even if we crash on the database call, we're still good because when we try again we'll get the same result back.
Where idempotency keys aren't supported, it's worthwhile looking to see if they support idempotency in any other way — for example, some APIs may allow you to inject your own ID on create, which gives you similar guarantees to how an idempotency key would work. Others may use idempotent PUT calls instead POST, so for a DNS service a request might look something like PUT /domains/example.com, and be safe for multiple calls.
When none of that is supported, you're somewhat stuck. I think that what you said in checking for existence with a first API call before executing create on the second might be about the best you can do, short of writing in and asking them to support Idempotency-Key or something of the like ;)

That is what I figured. But those additional possibilities for idempotent endpoints are a good reminder.
PS. I wanted to be sure to say that I have so appreciated your writing.  I am actively in the process of bringing your ideas into the world of background jobs, and it has already proven so helpful. And this repo and its tests have been so helpful in that process.


Removes the donald duck filter and replaces it with a better example

This is one of the bullet points in #297. This filter is a bit more complex, but should work most of the time in a timely manner.

Thanks for addressing this. The new example looks oddly complicated and noisy to me. I would prefer simplicity here to show a general concept. The focus here is to introduce extraction filtering in general.
I would prefer something more simply like this
def topic_filter(extracted: Dict[str, Any]) -> bool:
    if topics := extracted.get("topics"):
        if "usa" in [topic.casefold() for topic in topics]:
            return False
    return True

or something more useful like
def date_filter(extracted: Dict[str, Any]) -> bool:
    end_date = datetime.date.today() - datetime.timedelta(weeks=1)
    start_date = end_date - datetime.timedelta(weeks=1)
    if publishing_date := extracted.get("publishing_date"):
        return not (start_date <= publishing_date.date() <= end_date)
    return True

# or

def body_filter(extracted: Dict[str, Any]) -> bool:
    if body := extracted.get("body"):
        for word in ["pollution", "climate crisis"]:
            if word in str(body):
                return False
    return True

Also the filter proposed in this PR is missing a not before calling any


container relationships view changes

After this change the following must hold for all container entity screens:

both the relationships table and the navbar on the left must maintain the following order:
provider, project, route, service, replicator, pod, container, node[1]
ui tabs must maintain the same order
navbar relationships must include all entities in table relationships
all entities in relationships must be clickable
if an entity has a relationship with a single parent (a pod belongs to one project), the navbar will show:
singular entity name: name
if an entity has a one to many relationship (a node can have many pods), the navbar will show:
plural entity name: (#count)
names of nav bar entities should be acquired using ui_lookup() and should not be translatable
titles of the above should be translatable, and should always begins with 'show' and not 'view'

In addition:

Use loops where possible in navbar code
Simplify list view code where possible
Fixes #4893
Fixes #4950

[1] This list does not include images and image registries;
at the images screen, image registry is listed second after provider
at the images registry screen, images are listed second after provider
at the provider screen, registries and then images are listed at the bottom

@miq-bot add_label wip, providers/containers, ui, bug

todo: tabs should probably have the same order described in https://github.com/ManageIQ/manageiq/pull/5029#issue-112633940
So for example 'nodes' tab should move

@moolitayer I think the PR's title is misleading. it says "Container entity view changes" - which is one specific entity type, while iiuc you are focusing here on all entities of the container providers.

@miq-bot remove_label wip
@miq-bot add_label refactoring

@simon3z @abonas please review
@dclarizio @martinpovolny @h-kataria please review
providers:

projects:

routes:

services:

replicators:

pods:

nodes:

image registries:

images:

addressed relevant rubocop comments

@moolitayer @simon3z Looks like legitimate test failures in Travis

fixed tests, fixed container_node events handling conditional

rebased

@matthewd @blomquisg can you review?

LGTM :+1: cc @chessbyte

@simon3z and @moolitayer, see my comment.  Let me know if I missed something there

@blomquisg see response

@dclarizio @matthewd Please review

follow #3775 for string interpolation inside a translated string (use % operator + parameter Hash)

addressed comment

@blomquisg @chessbyte can you review/merge? Thanks!

Line 36, Col 18 - Style/AlignParameters - Align the parameters of a method call if they span more than one line.

Line 39, Col 9 - Style/ClosingParenthesisIndentation - Align ) with (.
Line 58, Col 27 - Style/ExtraSpacing - Unnecessary spacing detected.
Line 59, Col 20 - Style/AlignParameters - Align the parameters of a method call if they span

@moolitayer I think these should be solvable.

@zeari the role was indeed containers but that was wrong and it was fixed in https://github.com/moolitayer/manageiq/commit/5ce2ffd49b955e14ee5a8e636cb6697a186c12aa
we can add an optional argument if/when we need it.
rebased. fixed rubocop comments. keeping an eye out on rubocop

Ping  @blomquisg @h-kataria @chessbyte  LGTM :+1:

Ping @blomquisg @h-kataria @chessbyte LGTM

rebased. please review

@miq-bot add_label backport/yes

@blomquisg @h-kataria @chessbyte please review

@matthewd @dclarizio @h-kataria @martinpovolny Please review as there is a bunch of UI refactoring in this PR.

@Fryguy @jrafanie @bdunne break out the emojis for the net deletions of code. ;-)

Is this a bug fix, or a refactoring? :confused:

Is this a bug fix, or a refactoring?
Both. I went over all the container screens and fixed some inconsistencies we had there.
#4950 and #4893 where fixed in the process as well as some other issues.

Wow, lots of if's removed :+1:

@moolitayer this looks good and looks like we can reuse for other listnav areas.  Needs to rebase and if you tested and are satisfied with how it works, ready to merge.  Thx, Dan

rebased and tested all screens again. verified both bug fixes. @jrafanie @bdunne @dclarizio thanks

@matthewd why was the backport/yes label removed?

 Thx!
We should surely expand that to more listnavs. And the function surely deserves a spec or 2 before we use it everywhere.

Any future refactoring/cleanup should compare and consider unification of this new helper method and previously existing li_link_if_condition


Add validation that interceptor declarations for the same class don't set different interception types

I noticed, that we can define multiple interceptor declarations that generate same interceptor class, but they use different types.
E.g. one can define:
@SpecificJvmCallInterceptors("MyClass", type = BytecodeInterceptorType.INSTRUMENTATION)
class A {
}

@SpecificJvmCallInterceptors("MyClass", type = BytecodeInterceptorType.BYTECODE_UPGRADE)
class B {
}

We should validate that this is not possible. This is a follow up to https://github.com/gradle/gradle/pull/27016#issuecomment-1825688914.

Alternatively we could add a type to the interceptor name, e.g. from such definition:
@SpecificJvmCallInterceptors("MyClass", type = BytecodeInterceptorType.INSTRUMENTATION)
class A {
}

@SpecificJvmCallInterceptors("MyClass", type = BytecodeInterceptorType.BYTECODE_UPGRADE)
class B {
}

we would generate MyClassInstrumentation and MyClassBytecodeUpgrades.


Question: are nor sub classes' methods supposed to be automatically generated ?

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Running whatever JSON to DART model from Selection or from  .json_models folder where I have the following .jsconc
Expected Behavior
Methods from both classes Question & Answer should be implemented but only the top level ones (Question) are:
class Question {
  final String? id;
  final String? title;
  final String? imageUrl;
  final String? description;
  final int? timeSeconds;
  final List<Question>? questions;

  const Question({
    this.id,
    this.title,
    this.imageUrl,
    this.description,
    this.timeSeconds,
    this.questions,
  });

  factory Question.fromJson(Map<String, dynamic> json) => Question(
        id: json['id'] as String?,
        title: json['title'] as String?,
        imageUrl: json['image_url'] as String?,
        description: json['Description'] as String?,
        timeSeconds: json['time_seconds'] as int?,
        questions: (json['questions'] as List<dynamic>?)
            ?.map((e) => Question.fromJson(e as Map<String, dynamic>))
            .toList(),
      );

  Map<String, dynamic> toJson() => {
        'id': id,
        'title': title,
        'image_url': imageUrl,
        'Description': description,
        'time_seconds': timeSeconds,
        'questions': questions?.map((e) => e.toJson()).toList(),
      };

  Question copyWith({
    String? id,
    String? title,
    String? imageUrl,
    String? description,
    int? timeSeconds,
    List<Question>? questions,
  }) {
    return Question(
      id: id ?? this.id,
      title: title ?? this.title,
      imageUrl: imageUrl ?? this.imageUrl,
      description: description ?? this.description,
      timeSeconds: timeSeconds ?? this.timeSeconds,
      questions: questions ?? this.questions,
    );
  }
}

class Answer {
  Answer();

  factory Answer.fromJson(Map<String, dynamic> json) {
    // TODO: implement fromJson
    throw UnimplementedError('Answer.fromJson($json) is not implemented');
  }

  Map<String, dynamic> toJson() {
    // TODO: implement toJson
    throw UnimplementedError();
  }
}

THIS ONE SHOULD BE LIKE :
class Answer {
  final String? answer;
  final String? indentifier;

  const Answer({this.indentifier, this.answer});

  factory Answer.fromJson(Map<String, dynamic> json) => Answer(
        answer: json['answer'] as String?,
        indentifier: json['indentifier'] as String?,
      );

  Map<String, dynamic> toJson() => {
        'answer': answer,
        'indentifier': indentifier,
      };
}

Steps To Reproduce
No response
Version
3.5.8

Relevant JSON syntax
{
  "__className": "question",
  "__path": "/lib/app/data/models/question_paper_model",
  "id": "ppr004",
  "title": "Biology",
  "image_url": "",
  "Description": "Basic Biology Multiple Choice Questions (MCQ) to practice basic Biology quiz answers",
  "time_seconds": 900,
  "questions": [
    {
      "id": "ppr004q001",
      "question": "A relationship in which one animal hunts, kills and eats another",
      "answers": [
        {
          "identifier": "A",
          "Answer": "Symbiosis"
        },
        {
          "identifier": "B",
          "Answer": "Mutualism"
        },
        {
          "identifier": "C",
          "Answer": "Parasitism"
        },
        {
          "identifier": "D",
          "Answer": "Predation"
        }
      ],
      "correct_answer": "D"
    },
    {
      "id": "ppr004q002",
      "question": "The animal that is hunted and killed for food.",
      "answers": [
        {
          "identifier": "A",
          "Answer": "Decomposer"
        },
        {
          "identifier": "B",
          "Answer": "Predator"
        },
        {
          "identifier": "C",
          "Answer": "Scavenger"
        },
        {
          "identifier": "D",
          "Answer": "Prey"
        }
      ],
      "correct_answer": "D"
    },
    {
      "id": "ppr004q003",
      "question": "A close relationship between two different species of organisms living together.",
      "answers": [
        {
          "identifier": "A",
          "Answer": "Mutualism"
        },
        {
          "identifier": "B",
          "Answer": "Symbiosis"
        },
        {
          "identifier": "C",
          "Answer": "Competition"
        },
        {
          "identifier": "D",
          "Answer": "Commensialism"
        }
      ],
      "correct_answer": "B"
    },
    {
      "id": "ppr004q004",
      "question": "A symbiotic relationship in which both species benefit.",
      "answers": [
        {
          "identifier": "A",
          "Answer": "Mutualism"
        },
        {
          "identifier": "B",
          "Answer": "Commensialism"
        },
        {
          "identifier": "C",
          "Answer": "Parasitism"
        },
        {
          "identifier": "D",
          "Answer": "Predation"
        }
      ],
      "correct_answer": "A"
    },
    {
      "id": "ppr004q005",
      "question": "Which organelle is found in most plants, some bacteria and some protists?",
      "answers": [
        {
          "identifier": "A",
          "Answer": "ribosomes"
        },
        {
          "identifier": "B",
          "Answer": "mitochondria"
        },
        {
          "identifier": "C",
          "Answer": "endoplasmic reticulum"
        },
        {
          "identifier": "D",
          "Answer": "chloroplasts"
        }
      ],
      "correct_answer": "D"
    }
  ]
}

Anything else?
No response

FOUND THE BUG
The Answer model is not generated into the correct folder /lib/app/data/models/question_paper_model", but into /lib/data/models/question_paper_model", even-though in the settings the default it

Correlated to https://github.com/hiranthaR/Json-to-Dart-Model/issues/99


Read/Write SBOL 1.1, GenBank, FASTA

Give the user an option to write in multiple formats as well as SBOL 2.0.

Added inital implementation, but SBOLWriter has issues.
-writing GenBank fails if there are any SAs with GenericLocation instead of Range/Cut, even though the design does also have SAs with Range/Cut.
-writing FASTA output a .rdf file.  Isn't it supposed to be .fas?

On May 23, 2016, at 2:36 PM, Michael Zhang<EMAIL_ADDRESS>wrote:
Added inital implementation, but SBOLWriter has issues.
-writing GenBank fails if there are any SAs with GenericLocation instead of Range/Cut, even though the design does also have SAs with Range/Cut.

I think this is correct behavior.  If you have any components with GenericLocation, they cannot currently be encoded within GenBank.  GenBank only works when all sequences are defined.  You should catch this exception, check the message, and report to the user that all parts must have a sequence to be serialized.
One option for something with partial sequences, might be to use a cut.  For example, let’s say you have three components, one with sequence of length 10 from 1 to 10, next with no sequence, so a Cut at 10, and third with a sequence of length 10 from 11 to 20.  I think this is closer to the intended behavior of the layout.  It shows where the Component will be inserted when defined.

-writing FASTA output a .rdf file. Isn't it supposed to be .fas?

I cannot find anywhere in my code where I add a “.rdf”.  The fileName string is whatever you give it, I believe.  You could add the “.fas” to the file name when you call write for FASTA.
Chris

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub https://github.com/SynBioDex/SBOLDesigner/issues/11#issuecomment-221088464

The components have an SA with GenericLocation as well as an SA with a Range, so there should be enough information to encode in GenBank.  However, because there is an additional SA with GenericLocation, SBOLWriter stops and reports it's unable to continue.  I'm not sure how this is implemented, but one way would be to look at all the SAs that refer to this component, and only report failure if none of them have a Range/Cut.

Ah, I think you may have found a different bug.  You should not be able to have two SAs for the same Component.  I wonder how you managed this one.  The “setComponent” method does check for this.  I’m not sure how you could get around this.

On May 23, 2016, at 4:25 PM, Michael Zhang<EMAIL_ADDRESS>wrote:
The components have an SA with GenericLocation as well as an SA with a Range, so there should be enough information to encode in GenBank.  However, because there is an additional SA with GenericLocation, SBOLWriter stops and reports it's unable to continue. I'm not sure how this is implemented, but one way would be to look at all the SAs that refer to this component, and only report failure if none of them have a Range/Cut.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/SynBioDex/SBOLDesigner/issues/11#issuecomment-221114385

Sorry, I actually do only have one SA.  However, that SA has multiple locations.  When an SA is first created, a GenericLocation is automatically added to its set of Locations.  Therefore, when I add Ranges later on, there are multiple Location objects attached to the SA.

Ah, now that makes sense.  Yes, it should not throw an exception in that case.  You can log that one as a libSBOLj bug.

On May 23, 2016, at 4:51 PM, Michael Zhang<EMAIL_ADDRESS>wrote:
Sorry, I actually do only have one SA. However, that SA has multiple locations. When an SA is first created, a GenericLocation is automatically added to its set of Locations. Therefore, when I add Ranges later on, there are multiple Location objects attached to the SA.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/SynBioDex/SBOLDesigner/issues/11#issuecomment-221119504

Done, thanks!


🚀 Call for Collaborators: Join Our Valheim Server Docker Image Project! 🛠

Hi there all 🖖,
I'm looking for additional collaborators for this repo. 🛠
I haven't been playing Valheim in quite a while and currently other repos consume most of my time. So I only get to check in here every couple of weeks. There are four other collaborators with commit access to this repo (@Addyvan, @armanatz, @InB4DevOps, @TheCatLady) but I'm guessing they're in the same boat.
Recently we had a pull request #666 (of all numbers 😅) that was laying around for over a month, which is less than ideal.
If you're comfortable with the technologies this repo is made of (Docker 🐳, Bash 🖥, Golang 🐹, Python 🐍), are actively playing Valheim and would like to contribute, please let me know.
The Go logfilter and Python config generator rarely change (and are pretty trivial pieces of code tbh) so it's fine if you only have a superficial understanding of those.
A solid Docker and Bash foundation are a requirement as almost all changes will touch those. Also a good understanding of how the different moving parts of this container image work.
Personally I found the most challenging part was to develop for all kinds of container runtime environments and configurations. For instance, a change that works fine on your Linux 6.7 server running podman might not work on a Synology NAS running some highly backported 3.9 Kernel. A change that's fine for vanilla Valheim might break BepInEx installs and vice versa. If you check the commit history, I had to revert several PRs because they worked fine in one environment but broke another. Between GHCR and DockerHub this image has about 1.6M downloads per month or 55k per day, so there is a certain responsibility associated with the role. The ideal collaborator will have a good intuition about the effects a change will have in different environments. Not writing this to scare anyone off, just the reality of the role.
I need your help to keep this project strong and reliable 🛡. If you're ready to dive into some real-world challenges and contribute to a project that impacts thousands of gamers daily, I'd love to have you on board. Just drop a comment here or reach out directly (my email is on my profile) if you're interested. Looking forward to hearing from you!
Best,
-- Lukas

Hey Lukas,
I'll have an eye on this again ;-)
Greg

I'd love to help out so I'll start familiarizing myself with the codebase and start working through issues.

In case you need another helping hand, I would also offer my help. I am currently not playing valheim but that game has a special place in my heart - so does this repo - and I'm getting back to it occasionally, also I'm kinda active on github; atleast reading-wise.

I'm happy to try to help as well


[UMBRELLA] improvements to include other charts

Motivation
This issue tries to summarize all improvements we still need to implement in this repo to include other charts.
References:

slack thread
2020-07-08 Community call notes

The current State of Art
This GitHub project is the source for our Helm chart repository, and its scope is explained in the README.
Our Helm chart repository is already working, and users can use it,  for example:
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm repo update

At the time of writing, the repo contains only one chart (the falco chart), although we are ready to support other charts. To add a new chart, we just need to create another directory.
Furthermore, we already have some automation in place:

The automated release process  (explained in the release.md)
The helm lint check is implemented for PRs (see #46)

Currently, we also have other charts that live in their GitHub repos and that are not published in any Helm Chart repository. Below is a non-exhaustive list:

https://github.com/falcosecurity/falcosidekick/tree/master/deploy/helm/falcosidekick
https://github.com/falcosecurity/falco-exporter/tree/master/deploy/helm/falco-exporter

Finally, it's important to mention that we already decided to do not to have the Falco Helm Chart source in the principal Falco repository. However, not all projects are the same, and other projects (as like the two mentioned above) may have different needs.
Proposal
Since it is convenient for users to find all the charts (of the Falco project) under the same Helm Chart repository, it would be great that also the abovementioned charts were listed our Helm Chart repository :point_right: https://falcosecurity.github.io/charts
That being said, we know the importance of having chart sources in the same repository as the application.
The following solution tries to satisfy both needs.

Charts maintainers can decide where charts source will live: in this repo or in its repo (both options will be supported)
If maintainers opt for this repo, they will just need to make a PR to move source files here (everything should work yet)
Otherwise, if maintainers choose for a different repo, they have to implement some automation in the other repo to trigger the update of the index of the Helm Chart repository here.

Now we will explain how automation for the second option should work (since the first one is already implemented).
A chart can be easily packaged and uploaded into a GitHub release using the chart-releaser tool provided by Helm. It works in a similar way go-releaser does. Here an example:
helm package "falco-exporter" --destination .cr-release-packages --dependency-update
cr upload -o "falcosecurity" -r "falco-exporter"

The above example will create a git tag (in the format <chartname>-<version>) and upload the .tgz into the GitHub release (here an example).
The above process can happen in the CI. The maintainers can decide how to trigger the CI to start the above step. I would prefer a simple script that checks if the version has changed (I've already implemented it :point_right:  here).
The second step we need to include the latest chart version in our centralized Helm Chart repository is to update the index.
Luckily, chart-releaser tool already provides a way to produce a partial index, for example:
cr index -o "falcosecurity" -r "falco-exporter" -c "https://github.com/falcosecurity/falco-exporter"

Then it can easily be merged with pre-existing index (the index is append-only, so we just need to push a new entry).
Finally, we just need to commit and push the index into the gh-pages branch of this repo (here). By doing so, we will automatically update our Helm Chart repository.
That's it, and no other actions are needed. :tada:
Furthermore, since the whole process can happen inside the CI (that's shared among all falcosecurity org), there should be no problem to trigger the process in one repo and using our beloved @poiana to commit this repo (we are already using @poiana for that :point_right: here).
PS
This solution can contain some hidden complexity, but I'm confident it can be implemented. I'd like to implement a PoC as soon as I can. Moreover, once implemented, it can easily be replicated in every repo, wherever we need it.

Thanks @leogr
I'm going to change my earlier position and advocate for putting all the charts into this repository and not support pulling charts from other repos. A couple reasons:

It's simpler
We don't have a ton of charts out in different repos and the ones we have aren't currently being published)
It's a tradeoff between complexity for the developer (chart in a separate repo from code) and complexity for the end user (where is this helm chart with this bug/configurable?). Given that choice I'll choose to make it easier on my users every time.

Hey @nibalizer
I mostly agree with you, except for one thing: having all sources here it's simpler at the beginning but it's really hard to maintain afterward.
Especially to keep in sync configurations and stuff, or when you want to implement things like this.
That being said, I'm open to any solution :)

Oof yes that would be annoying... 2 or 3 commits per change.  :/

I get your point but as a maintainer of an helm chart I prefer to deal with a simple MR to that repo than handling with a much complex CI.
I'm pretty sure the onboardings of new helm charts will be much harder than only add them into this single repo.

I really believe that having sources in their repos is a good thing (not for all projects, but sure for tools like falco-exporter and falcosidekick).
That being said, since we have just two projects under this situation, and since I really understand your concerns about complexity... I have changed a bit my mind and I agree to just move charts' sources to here.
It's a trade-off and it makes sense.
So my vote goes just to mark this issue as "won't fix"

Thanks team :)

Marked with "won't fix" and closing as discussed in today community call.
Thanks to everyone participated in the decision :)


No services are working in Sketch Beta 3.2

This doesn't appear to be an issue with any particular service, seems more broad.
Haven't dug into it yet. Only thing I'm seeing in console right now is:
Exception: {
    column = 67;
    line = 74;
    sourceURL = "/Users/tyler/Library/Containers/com.bohemiancoding.sketch3.beta/Data/Library/Application Support/com.bohemiancoding.sketch3/Plugins/day-player/Unsplash.it.sketchplugin";
}

Will investigate further.

Pretty certain this has to do with the imageCollection.addImage_name_convertColourspace() call. I'm writing a plugin for 3.2 that's bombing out on the same call.

Ah cool, thanks for the heads up @davidklaw

Sure thing. This syntax worked for me.
[imageCollection addImage:img convertColourspace:false]

Hey @tylergaw any ETA on this? I use this plugin on the daily :) Nice work btw.

@haydenbleasel I think I can get it in tonight (EST). Shouldn't be too bad (famous last words).

@tylergaw We believe in you! :godmode:

:100: points

@davidklaw Thanks for pointing me to that method change. I asked a question about it on the mailing list http://mail.sketchplugins.com/pipermail/dev_sketchplugins.com/2015-January/001094.html to see if we could get some more clarity.

This is out in master and in a new release https://github.com/tylergaw/day-player/releases/tag/v1.1.0. Gonna close this now. Thanks folks. cc: @haydenbleasel


Allow the user to choose to see successes or complications.

Including complications information alongside successes can make the charts harder to read, either because the combined scale isn't ideal for one or both, or because they overlap.
Allow the user to select which distributions they'd like to see: successes, complications, or both.  This may be easier to accomplish after moving the UI to a framework.

This issue is waiting on #19.