maintainers, future of cookieconsent

Hi there, I would be interested in joining as maintainer as there are many open issues and PRs or create a fork to bring this project forward.
cc @Dolondro

Been following this project for some time now, been using the code myself. I see a lot of people forking, creating PR's for issues found and suggest (functional) improvements. The problem is not that these PR's are not pulled by the maintainers and that when you want to use this project you have to create your own fork and cherry pick from the many PR's. The problem is that there is no communication from the maintainers whatsoever (other then the fishing mail) leaving every body 'in the dark' and clueless as to what the status of this project is...
So I am very curious as to what is going on with this project. Why the maintainer(s) choose not to communicate. Is this project abandoned, are you to busy? If so, that's okay, just tell us....
@DanielRuf although I really would like you (or somebody else) to join the list of maintainers of this project and harvest the energy from all community contributors, I fully understand that due to lack of response you create and maintain a fork. If you decide to fork and maintain that fork and are open to PR's, I think you can count a lot of people in and your fork will really lift off very quick!

I totally agree with your points @Ruud68
Definitely, we'll try to incorporate changes and PRs of different forks and bring the changes together to integrate the solutions and improvements and create new releases to better suit the needs and usage compared to closed source solutions.

I am totally up for some community driven maintenance, we need to discuss this internally before we can do anything though. We will be discussing this soon.

I am totally up for some community driven maintenance, we need to discuss this internally before we can do anything though. We will be discussing this soon.

Sounds good. Please keep us updated.

We voted against community maintenance for a few reasons:

CookieConsent (although popular) does not legally cover the requirements of GDPR, therefore assigning (external) maintainers at this late stage seems pointless, as it is no longer compliant. It no longer offers any protection.

CookieConsent was originally designed to handle Europe's ePrivacy Directive. This directive is no longer in effect and has been superseded by GDPR.
(As an aside, parts of GDPR may also be superseded again within a couple of years due to the ePrivacy Regulation currently being drafted, which removes the need for banners completely for most people.

We will soon (within a month) be releasing a new plugin that satisfies the lawful requirements of GDPR, which will function similar to our existing CookieConsent plugin. This will officially deprecate CookieConsent (however we will still allow people to use it if they wish).

Because CookieConsent is no longer compliant, we will eventually aim to encourage people to move over to a solution that is compliant with the law. Seeing as we haven't completed our version of a solution yet, we've been hesitant to shout about it.
We do however understand that it will still take a while for the world to catch up and people to move to new solutions, so we are still welcoming contributions to CookieConsent.
A maintainer has been assigned to work through the backlog of PRs and issues to bring the repo up to standard.
Finally, an apology (to the community) for being quiet for so long. We have been very busy for the last year, but this is no excuse to ignore our responsibilities.

Any news on a GDPR-catered version? :)

The lead on it is currently off after having his wisdom teeth pulled, I'll update you once he's back in 👍

Any news?

The latest news seems to be that it's mostly complete but we need to create the tool for easy configuration which is blocked by someone who has been sidelined onto a more business critical project for a few weeks :(
I'll put a note in my calendar and try to keep this updated

Any update on this?

We're still working on a basic version (along side working on other projects). V1 will be out soon for comments and criticism, but I cannot provide a date unfortunately

Because CookieConsent is no longer compliant,

Why is it not compliant, it does what the other banners do, informs you and lets you accept the settings?

Because CookieConsent is no longer compliant,

Why is it not compliant, it does what the other banners do, informs you and lets you accept the settings?

GDPR has more stringent requirements than the EUCookieLaw.

Passive consent is no longer acceptable (the visitor has to opt-in, which the current version does allow you to do).

The visitor has to be able to revoke consent (which the current version does not provide).

The consent has to be renewed regularly (once a year is recommended).

Consent has to be documented/recorded (which doesn't happen currently).

You have to be able to scrub any trace of the visitor when requested (good luck with that because you probably have no idea what cookie was set for a given user if they haven't given you their email address).

You also have be be clear about how the cookies are being used (which is just wording on the consent form, no big deal). A number of companies are offering varying levels of opt-in (agree to marketing & analytics, agree to statistics, agree to preferences, etc. which the current version doesn't do); however, this is extra and is not required; you just have to be transparent about how their data will be used.

The consent has to be given before any processing happens (within reason); if the cookie banner is still up and the visitor continues to browse your website, you can't use any cookies other than those that are strictly necessary (I don't know if the current version does this or not. I don't think so, but I think it depends on how it's implemented on your site).

Because CookieConsent is no longer compliant,

Why is it not compliant, it does what the other banners do, informs you and lets you accept the settings?

GDPR has more stringent requirements than the EUCookieLaw.

Passive consent is no longer acceptable (the visitor has to opt-in, which the current version does allow you to do).

I'm not sure that current GDPR law reflects this, I think you can still install cookies before the visitor accepts or rejects cookies. Sites I have tested on all install cookies the second you visit them, their consent is just for additional cookies to be installed.

The visitor has to be able to revoke consent (which the current version does not provide).
But this can be explained in the policy, how the user can delete his cookies within the browser.

The consent has to be renewed regularly (once a year is recommended).

Why if you haven't changed it?

Consent has to be documented/recorded (which sounds like it happens via the API).

I don't know, you mean the visitors choice has to be recorded?

You have to be able to scrub any trace of the visitor when requested (good luck with that because you probably have no idea what cookie was set for a given user if they haven't given you their email address).

?

You also have be be clear about how the cookies are being used (which is just wording on the consent form, no big deal). A number of companies are offering varying levels of opt-in (agree to marketing & analytics, agree to statistics, agree to preferences, etc. which the current version doesn't do); however, this is extra and is not required; you just have to be transparent about how their data will be used.

The consent has to be given before any processing happens (within reason); if the cookie banner is still up and the visitor continues to browse your website, you can't use any cookies other than those that are strictly necessary (I don't know if the current version does this or not. I don't think so, but I think it depends on how it's implemented on your site).

You can implement scroll or click which will equal that the visitor has accepted the policy.

Passive consent is no longer acceptable (the visitor has to opt-in, which the current version does allow you to do).

Covered by cookieconsent. As long as you do not make any choice, it does nothing.

The visitor has to be able to revoke consent (which the current version does not provide).

Huh? We've done this in many projects here. On dismiss or false we hide it. And we can always change it.

The consent has to be renewed regularly (once a year is recommended).

Not sure what you mean with this.

Consent has to be documented/recorded (which sounds like it happens via the API).

Possibly with a simple AJAX request on acceptance / rejection (depends on ypour backend).

You have to be able to scrub any trace of the visitor when requested (good luck with that because you probably have no idea what cookie was set for a given user if they haven't given you their email address).

That's not what a cookie banner does and should do. This is dependent of the used CMS.

You also have be be clear about how the cookies are being used (which is just wording on the consent form, no big deal). A number of companies are offering varying levels of opt-in (agree to marketing & analytics, agree to statistics, agree to preferences, etc. which the current version doesn't do); however, this is extra and is not required; you just have to be transparent about how their data will be used.

We display an overlay and set a second cookie for the level.

The consent has to be given before any processing happens (within reason); if the cookie banner is still up and the visitor continues to browse your website, you can't use any cookies other than those that are strictly necessary (I don't know if the current version does this or not. I don't think so, but I think it depends on how it's implemented on your site).

We have checks for this and DNT in our scripts and backend code.

I'm not sure that current GDPR law reflects this, I think you can still install cookies before the visitor accepts or rejects cookies. Sites I have tested on all install cookies the second you visit them, their consent is just for additional cookies to be installed.

There is a difference between tracking cookies and required cookies.

The visitor has to be able to revoke consent (which the current version does not provide).

Huh? We've done this in many projects here. On dismiss or false we hide it. And we can always change it.

Sorry, for publishing bad info. Good to know. I wasn't aware that the visitor themselves could revoke their consent after it's been granted, instead of requiring you to do it for them. (Which is my understanding of how this is supposed to work. If that understanding is wrong, I'm happy to be corrected.)

The consent has to be renewed regularly (once a year is recommended).

Not sure what you mean with this.

Again, sorry. I think I was mixing e-Privacy Directive recommendations with GDPR requirements. The GDPR regulations (from what I understand) state that old consents may need to be renewed (since the old consent was pre-GDPR and therefore you may have had users opt-in for something in a way that's not GDPR complaint - such as not keeping track of their consent). If your prior implementation took care of all the GDPR requirements then you don't have to renew their consent.

The consent has to be given before any processing happens (within reason); if the cookie banner is still up and the visitor continues to browse your website, you can't use any cookies other than those that are strictly necessary (I don't know if the current version does this or not. I don't think so, but I think it depends on how it's implemented on your site).

We have checks for this and DNT in our scripts and backend code.

Cool, thanks for the info.
(And thanks for the quick response.)

I'm not sure that current GDPR law reflects this, I think you can still install cookies before the visitor accepts or rejects cookies. Sites I have tested on all install cookies the second you visit them, their consent is just for additional cookies to be installed.

There is a difference between tracking cookies and required cookies.

Agreed, no consent is needed for necessary cookies. They're fine as soon as the visitor hits the site.

Sorry, for publishing bad info. Good to know. I wasn't aware that the visitor themselves could revoke their consent after it's been granted, instead of requiring you to do it for them. (Which is my understanding of how this is supposed to work. If that understanding is wrong, I'm happy to be corrected.)

There is an optin / optout feature already implemented which sets undefined, true or false depending on your choice.

Hello to everyone following this post. I'll quickly introduce myself. I'm Eric, I'm a JavaScript nerd and I'm here to help! I'm your new point of contact maintainer. Please feel free to @ me anytime here and I'll do my best to answer you in a prompt and detailed manner.
First thank you for your continued support of this project, all the conversation and suggestions are amazing. Now that I'm here we will be resolving a lot of the current bugs, slating features for v3, modernizing in v4 and new features and integrations in v4.X
You'll notice me cruising through the current backlog of issues. I'm going to try and have them all responded too by the end of the month, a bunch of bugs resolved, and probably some features as well. and ready for the next release. This isn't a promise on the 3.1.2 release date or anything, I'm just saying stay tuned.
Oh yes, I'm locking this issue because it's gotten way off topic and I'm handling individual issues now regularly. I encourage you to reach out if you have questions or concerns or with your pull requests. However I ask you to create issues for feature requests or enhancements so there can be discussion around implementation before execution so making PRs are in the intended direction of CookieConsent.


Error clicking node in React Flow in jest test with @testing-library

Describe the Bug
We have test runned with jest and react-testing-library. When test is run, everything works fine until node or any element inside node is clicked:
TypeError: Cannot read properties of null (reading 'document')

      at Ke (node_modules/reactflow/dist/umd/index.js:10:15269)
      at HTMLDivElement.E (node_modules/reactflow/dist/umd/index.js:10:74213)
      at HTMLDivElement.<anonymous> (node_modules/reactflow/dist/umd/index.js:10:7374)
      at HTMLDivElement.callTheUserObjectsOperation (node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)
      at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:338:25)
      at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:274:3)
      at HTMLDivElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:221:9)
      at HTMLDivElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:94:17)
      at HTMLDivElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:231:34)
      at node_modules/@testing-library/user-event/dist/cjs/event/dispatchEvent.js:47:43
      at node_modules/@testing-library/react/dist/pure.js:64:16
      at batchedUpdates$1 (node_modules/react-dom/cjs/react-dom.development.js:22380:12)
      at act (node_modules/react-dom/cjs/react-dom-test-utils.development.js:1042:14)
      at Object.eventWrapper (node_modules/@testing-library/react/dist/pure.js:63:28)
      at Object.wrapEvent (node_modules/@testing-library/user-event/dist/cjs/event/wrapEvent.js:8:28)
      at Object.dispatchEvent (node_modules/@testing-library/user-event/dist/cjs/event/dispatchEvent.js:47:22)
      at Object.dispatchUIEvent (node_modules/@testing-library/user-event/dist/cjs/event/dispatchEvent.js:24:26)
      at Mouse.down (node_modules/@testing-library/user-event/dist/cjs/system/pointer/mouse.js:70:34)
      at PointerHost.press (node_modules/@testing-library/user-event/dist/cjs/system/pointer/index.js:27:24)
      at pointerAction (node_modules/@testing-library/user-event/dist/cjs/pointer/index.js:59:43)
      at Object.pointer (node_modules/@testing-library/user-event/dist/cjs/pointer/index.js:35:15)
      at node_modules/@testing-library/react/dist/pure.js:57:16

I have tried to add nodesDraggable={false} to ReactFlow and className='nodrag' to Node, but that doesn't help. We have added needed lines described in documentation to testUtils.ts. Nodes and elements inside nodes are rendered and pass test.
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
Unfortunately can't share any actual code, other than test case:
const user = userEvent.setup();
const { getAllByText, getByTestId, getByText } = render(<WrappedReactFlow />);
await waitForElementToBeRemoved(getByTestId('loading-spinner'));
expect(getAllByText(/node title/i).length).toBe(1);
const node = getByText(/node title/i);
await user.click(node);

That's pretty much is failing test case. Last line produces the error.
Wrapper includes mocks to redux store, API calls, history and GraphQL (moving to GQL, but still using some legacy for a while) and everything with those seem to work, as nodes are rendered.
Expected behavior
As a user I expect Node to be selected with no error and I can further test my app.
Screenshots or Videos
No response
Platform

OS: macOS, Linux
Browser: no browser
Version: 11.1.1
React 17
Jest 27.4.4
@testing-library/react 11.2.5
@testing-libaray/user-event 14.4.3

Additional context
No response

hey! Did you see this issue https://github.com/wbkd/react-flow/issues/2461#issuecomment-1263189140 ? Does it solve your problem?

I did, but now I did again and it worked, because I removed nodesDraggable={false} from ReactFlow. Thanks!

I am glad it worked out!

It's not very optimal thought for testing purposes, as I cannot select node at the moment either. But at least I can make some of the tests work now, it's a start.

Why can't you select a node?

I will open a new issue against d3-drag, as the previous one was closed without a fix
https://github.com/d3/d3-drag/issues/79

Upstream issue and PR raised

d3/d3-drag#89
d3/d3-drag#90

In the meantime, I think this can be resolved by either:
    userEvent.click(canvas.getByRole(/* */), {
      view: window,
    }),

or mocking window if running in a non browser environment, maybe something like:
    userEvent.click(canvas.getByRole(/* */), {
      view: new JSDOM().window,
    }),

I don't have access to the code where I had this issue anymore, but pretty sure my last comment above was working for us

Thanks @penx, user-event v14 API has changed the API and I haven't figured out to achieve the same thing there... :/


Custom query generation breaks if I include a where part

Hi,
I looked into the custom query part using moor files. Given the following code:

//Used as the base model for all tabels aka data contract
class BaseModel extends Table {
  TextColumn get id => text()();
  DateTimeColumn get lastchange => dateTime()();
  TextColumn get lastChangeBy => text()();
  BoolColumn get isDeleted => boolean().withDefault(Constant(false))();

  @override
  Set<Column> get primaryKey => {id};
}

class Users extends BaseModel {
  TextColumn get firstName =>
      text().withLength(min: 3).withDefault(const Constant("Max"))();
  TextColumn get lastName =>
      text().withLength(min: 3).withDefault(const Constant("Power"))();
  TextColumn get email => text()();
  TextColumn get position => text()();
}

@UseMoor(
  tables: [
    Users,
  ],
  include:{'queries.moor'}
)
class DbContext extends _$DbContext {
  DbContext()
      : super(FlutterQueryExecutor.inDatabaseFolder(path: 'backtrack.sqlite'));

  @override
  int get schemaVersion => 1;
}

And this simple moor file:
import 'dbContext.dart';

countAllUser: SELECT COUNT(*) FROM users WHERE isDeleted=0;

When I run flutter packages pub run build_runner build it breaks as soon as my query contains any WHERE condition with the following output:
[SEVERE] moor_generator:moor_generator on lib/data/dbContext.dart:
Error running MoorGenerator
Bad state: Unknown column null
[SEVERE] moor_generator:moor_generator on lib/data/dbContext.dart:
Error running DaoGenerator
Bad state: Unknown column null

If I remove the WHERE part of the query the code is generated, I'm sure its me but even after an hour I don't see what I did wrong. I need a soft delete function and of course it needs to be checked for each query to exclude the deleted data.

So I know that when declaring in SQL it'll convert snake_case to camelCase but i'm not sure if it also does it the other way around.
Try doing is_deleted = 0 or
  BoolColumn get isDeleted => boolean().named('isDeleted').withDefault(Constant(false))();

You are right, I just discovered this on my own by reviewing the code that was generated but you were quicker. This is the line from the generated code that made "aha!" moment for me:
GeneratedBoolColumn('is_deleted', $tableName, false,         defaultValue: Constant(false));

Thanks for the report, and sorry for the inconvenience. Moor converted camelCase getters in Dart to snake_case columns since its first version. That didn't really matter at first, since the sql parser was added in a later version. Changing that behavior now (or even back then) would be breaking, so it's unlikely to happen.
This is still a surprising behavior, and the Bad state: Unknown column null error is terrible UX from the generator. I've improved stability and error handling recently, so in the next moor version this query would fail with:
line 3, column 48: Unknown column. These columns are available: id in users, lastchange in users, last_change_by in users, is_deleted in users, first_name in users, last_name in users, email in users, position in users
  ╷
3 │ countAllUser: SELECT COUNT(*) FROM users WHERE isDeleted=0;
  │                                                ^^^^^^^^^
  ╵

I hope that makes it easier to understand what's going wrong.

Thanks for coming back and  I totally agree, with the new error message you mentioned I would have spotted it directly.


⚠ SceneTime has degraded performance

In 8d529ed, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1186 ms

Resolved: SceneTime performance has improved in 6079b79 after 6 minutes.


As User with Knowledge in Robot i want to be able to export the generated work on BlueXolo to an external file so I can archive them on any repository.

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
We need to be able to export the generated Keywords, Test Cases, Test Suites.
Describe alternatives you've considered
We already generate the information required so we can just copy the information in the desire path.
Additional context
N/A

If additional tasks are required, let me know to include them in this Epic


Cannot execute binary file - Aquatone v.1.7.0

Hi.. I am noob trying to get Aquatone v.1.7.0 installed and working on latest Kali build and I have followed the README file but everytime I try running Aquatone I get "Cannot execute binary file exec format error". Anyone know where I am going wrong?
I have version 0.5.0 working fine but I want to use the new version.
Thanks.

Hi there!
I also installed Aquatone on Kali following the README.
Just for a sanity check, you did unzip the pre-compiled binary to /usr/bin so  aquatone is already easily found in the PATH ?

Fails to execute after downloading the latest binary.


correct answer not passing

Challenge http://beta.freecodecamp.com/challenges/waypoint-target-the-children-of-an-element-using-jquery has an issue. Please describe how to reproduce it, and include links to screenshots if possible.

The test that checks for the correct color in was wrong, I have fixed it in https://github.com/FreeCodeCamp/freecodecamp/pull/1706.


Support pushing the generated project to Github

Context
Azure Spring Initializr is a project based on start.spring.io , it can generate projects with selected options, the generated projects can be downloaded in zip format or be previewed online.
Goal
Support to push the generated projects into github repository directly.

done by @fangjian0423


test: Automated tests for improved CRUD with JSONFrom - Mongo Ds

Description

This PR includes more CRUD cases with the new JSON form for Mongo Datasource

Type of change

New test scripts (non-breaking change which improves test coverage)

How Has This Been Tested?

Release cloud

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:green_circle: Total coverage has increased
// Code coverage diff between base branch:release and head branch: test/JsonCrudMongo

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
56.71 (0)
38.67 (0.01)
36.23 (0)
56.96 (0)

:green_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.94 (0.23)
41.67 (0.84)
36.21 (0)
56.99 (0.25)

/ok-to-test sha=0afb26d

/ok-to-test sha=0afb26d

/ok-to-test sha=1c9ecb5


Attempting to connect to MQTT...

Node disconnects periodically (every day), after that is stops sending sensor's data.
PS: After manually resetting the device it works as expected.
Here is the console log (after a few hours of beeing disconnected):
в†• Attempting to connect to MQTT...
Retrying (60000ms)...
в†• Attempting to connect to MQTT...
Retrying (60000ms)...
в†• Attempting to connect to MQTT...
Retrying (60000ms)...

Try pull #314 and set a higher keepalive (300 secs for example).
But even then it's not known why it doesn't reconnect.

fyi:
Homie.getMqttClient().setKeepAlive(300);
to insert before Homie.setup();

@pwrsoft have you tried @bertmelis's suggestion?

Yes, tried to do the suggestion - unfortunately the issue still happened again a few days ago.

Can you test with the AsyncMqttClient v0.7.0?

Seems to be stale issue.
Will be closed.
Feel free to reopen if there are more information.


Build error ld: library not found for -lmysqlclient for architecture x86_64

After performing prerequisite steps from the readme, still getting a link error
ld: library not found for -lmysqlclient for architecture x86_64
I'm using Xcode 8, beta 3, macOS 10.11.5

Just to confirm, the steps you refer to include creating a .pc file or symlinking to the existing .pc file in your MySql installation ? If the .pc file is there per instructions, I would double check that it has the same permissions as its neighbors, and verify that the paths point to a valid location.
I have not used beta3 yet based on issues reported with the swift Language version settings conflicting with auto generated project files, but typically the library not found indicates a missing or misconfigured package config file.
Hope that helps.
Tim

On Jul 20, 2016, at 7:08 AM, Anton Fedorchenko<EMAIL_ADDRESS>wrote:
After performing prerequisite steps from the readme, still getting a link error
ld: library not found for -lmysqlclient for architecture x86_64
I'm using Xcode 8, beta 3, macOS 10.11.5
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/PerfectlySoft/Perfect-MySQL/issues/12, or mute the thread https://github.com/notifications/unsubscribe-auth/AATZRq0L-dmmtj6KyE64axnH_EOHNYPGks5qXh3LgaJpZM4JQwZL.

Sorry, I meant to write beta 2. I have removed -fno-omit-frame-pointer from the mysqlclient.pc file after mysql installation. Permissions seem to fine lrwxr-xr-x  1 MyUser  wheel   54 Jul 20 15:54 mysqlclient.pc -> ../../Cellar/mysql/5.7.13/lib/pkgconfig/mysqlclient.pc

Ok, It worked somehow after reinstalling mysql and re-generating the project with swift package generate-xcodeproj.


Fix highlighted user in new chat page is covered by referral view

Details

When we scroll down the list with a keyboard, the focused/highlighted user is covered by the referral view because we scroll to the wrong location.
Fixed Issues

$ https://github.com/Expensify/App/issues/34112
PROPOSAL: https://github.com/Expensify/App/issues/34112#issuecomment-1882417567
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open new chat page
Scroll down the list with the keyboard arrow down > 10 times
Verify the list keeps scrolling to the bottom and that the focused user/option is not covered by the referral view (should be around the middle)

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/afb91389-0327-4ba4-a8cf-eb46854b409e

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/ead8b794-b61a-4c4c-8e6a-792e6fa4b49e

iOS: Native

https://github.com/Expensify/App/assets/50919443/21b73cf3-cf60-4dff-ae6e-d14280bc44af

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/b97cddd6-af64-4bf0-aaf1-f6c2b89bacd5

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/477dad73-725b-4362-8a09-7a64e6068411

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/99d6cdcf-3446-4ebf-8919-645eb1113de2

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/dangrous in version: 1.4.33-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

I think this PR caused this regression here: https://github.com/Expensify/App/issues/35396

I think this PR caused this regression here: #35396

https://github.com/Expensify/App/assets/102477862/fe6576ed-7c75-4763-9ea4-09ceacf170c6
Does not appear to be reproducible on latest main. This PR must not have caused it.

Yes, it was this PR, but this PR has been reverted already https://github.com/Expensify/App/pull/35386 😄

But that reverted #34485 🤔

Ahh you are right, I didn't read properly, that's my bad, sorry!

To confirm, I think we're all set here?

Yep

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.33-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Fix error in internally tagged enums with flattened fields

Goal
Fix internally tagged enum with struct variant containing inlined field
Closes #343
Changes
Instead of attempting to format the variant in the format_variant function, allow type_def to generate a fully formatted variant by giving it the variant's name and tag
Checklist

[x] I have followed the steps listed in the Contributing guide.
[x] If necessary, I have added documentation related to the changes made.
[x] I have added or updated the tests related to the changes made.

This also fixes an oversight in #244 by wrapping the name of struct tag fields in quotes, like already happened in enums. This allows a tag to be any string, rather than only valid JS identifiers, e.g.: kebab-case string


GSB: When looking at protocol refinements, only consider other sources on 'Self'

In a protocol requirement signature, a conformance requirement on 'Self'
can only be considered redundant if it is derived entirely from other
sources only involving 'Self' as a subject type.
What this means in practice is that we will never try to build
a witness table for an inherited conformance from an associated
conformance.
This is important since witness tables for inherited conformances
are realized eagerly before the witness table for the original
conformance, and allowing more complex requirement sources for
inherited conformances could introduce cycles at runtime.
Now, we will no longer emit such warnings. Since the 'overly minimized'
protocols that were obtained by fixing the bogus warning would in some
cases still work, we cannot diagnose the new violation as an error.
Instead, it is a warning.
Currently this warning fires for the SIMDScalar protocol in the
standard library, and _ErrorCodeProtocol in the Foundation overlay.
We should see if we can fix the protocols in an ABI-compatible way,
or just add a hack to muffle the warning.
Fixes https://bugs.swift.org/browse/SR-8198 / rdar://problem/77358480,
https://bugs.swift.org/browse/SR-10941 / rdar://problem/77358477,
https://bugs.swift.org/browse/SR-11670 / rdar://problem/77358476.

@swift-ci Please test

@swift-ci Please test source compatibility

@swift-ci Please test source compatibility


Cluster Networking

The PR looks good. I merged it. Can you raise PR to update links on the main page?

@sangam14 might help you out.


how can we get the raw video kitti

how can we get the raw video kitti

https://www.cvlibs.net/datasets/kitti/raw_data.php the raw video data is available here. Registration required.


Remove version: FreeBASIC.FreeBASIC version 1.10.1

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/fbc/files/FreeBASIC-1.10.1/Binaries-Windows/FreeBASIC-1.10.1-win32.exe/download
OK
(Automated message - build 923)

Close with reason: Package still available.;


Some more extensions to make working with StepVerifier a bit easier

and more concise
Some additional formatting was done by IDEA's auto-format.

@yevgeniy-kovalev Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Hey @yevgeniy-kovalev, sorry for the lag I missed that PR.
Interesting proposal, could you please rework this PR to integrate only the StepVerifier based extensions without the style change ? That would make it easier for me to review it and if we do style change I prefer to isolate it in a distinct commit.

Hey @sdeleuze!
No problems with lag, it's OK.
Could you please provide more details about 'integrate only the StepVerifier based extensions'? I mean, do you see it as removing all the new code from FluxExtensions and MonoExtensions or should the code be partially moved to StepVerifierExtensions?
As for formatting, it's just standard IDEA's one, so I'll remove it.
No offence here, just curious. Honestly, I'm not really experienced API writer, that's why there is a question :)

In a nutshell please isolate changes in different commits, so please:

Create a commit for StepVerifierExtensions changes
Create other commits for MonoExtensions and  FluxExtensions

@yevgeniy-kovalev Thank you for signing the Contributor License Agreement!

After reviewing your PR, I have decided to not integrate it because it duplicates some functions already available in Reactor Core (like verifyError()). Be aware I have integrated various fixes in master and I will continue to integrate other Kotlin extensions in the upcoming days.
Thanks for your contribution.

@yevgeniy-kovalev Could you have a quick look to the .test() extension I have just added to master?

Yeah, looks good! Definitely more expressive than mine.


[Feature Request] Add remote docker hosts

Currently, the Docker API defaults to localhost to get containers.
It would be great if we can add remote docker hosts to pull containers into Flame, something similar to Portainer.
Flame - Uses localhost by default.

Portainer - You can add multiple remote hosts.

@pawelmalak Sorry, I should have clarified. This request was to add multiple docker hosts.
Does this release support that? I couldn't find a way to do that.

Multiple remote/local hosts would be a god send.


Speech to Text Customization

Summary
Updated one of the methods to use the customizationID parameter. Added a test that transcribes an audio file using a trained custom model. Addresses issue #518.

Current coverage is 0.00% (diff: 0.00%)

Merging #529 into master will not change coverage

@@           master    #529   diff @@
=====================================
  Files         170     170
  Lines       12810   12837    +27
  Methods         0       0
  Messages        0       0
  Branches        0       0
=====================================
  Hits            0       0
- Misses      12810   12837    +27
  Partials        0       0

Powered by Codecov. Last update 2d45c4e...40e36a9


DrawNode 2.0: Add Wiki pages

Explain DrawNode 2.0 new API features and restrictions:
API

drawPie()
Filled Polygon
Individual Thickness
Scale/Rotation

Tricks 'n' Tips

Performance
Restrictions

I close it: Wiki is on the way


Returning multiple optimal solutions

Transferred from gitter
@qszhao

I just chatted with @huanfachen and he mentioned one special case in LSCP/MCLP. It may be possible to have multiple optimal solutions, will we allow the function to return all the optimal solutions or just one?

Problem description:
@jGaboardi

In a very basic situation of LSCP, if there are two facilities (A and B) that are equidistant to all client locations, either facility can be chosen to cover all clients. Therefore the optimal number of facilities selected will be 1, but either A or B could be selected, leading to two equally valid optimal solutions.

This appears to be very difficult to accomplish. Below are some resources for this:

multiple-optimal-solutions-in-pulp
finding-all-optimal-lp-solutions
retrieving-multiple-optimal-solutions-with-pulp
how-to-generate-multiple-solutions-to-linear-program-in-python