net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "modify" "MODIFY"

Describe the bug
parser error.
To Reproduce
Steps to reproduce the behavior:

Example SQL: select id,name,modify from t_table
Parsing this SQL using JSqlParser with this statements
Exception

Expected behavior
parser success.
System

sqlserver2012
Java 1.8
JSqlParser 4.1

Greetings.
MODIFY is a preserved keyword and you would need to quote such a column-name.
Also, when using SquaredBracketQuotation [ ] you will need to explicitly activate it in the Parser as it collides with the more common Array Constructors.
Please close this case after verification as this not an error.

Can you give an example

Greetings.
your can activate Transact-SQL compliant SquaredBracketQuotation like this:
boolean useSquareBracketQuotation = true;
String statementSql = "select id,name, [modify] from t_table";

Statement statement = CCJSqlParserUtil.parse(
    statementSql
    , parser -> parser.withSquareBracketQuotation(useSquareBracketQuotation)
);


Be less aggressive in calling SSL_shutdown.

Maybe helps avoid the crash described in issue #2212

So this was a slight red-herring, in that the Via crasher added on to this as well. @vmamidi and I both think this is a good fix, but we can defer it for now, and consider a future back port after this has baked on master for a while. I.e. we don't need this for 7.1.0.
Thanks!

I did test with this BTW, and it worked fine.

Althought the patch doesnt fix the crash ( #2212 ), it looks better anyway.
And I think @zwoop met a bug in libssl.

https://rt.openssl.org/Ticket/Display.html?user=guest&pass=guest&id=3321
http://seclists.org/oss-sec/2014/q2/233

Cherry-picked to 7.1.x


implementation for NSCalendar.copy()

Implementation for NSCalendar.copy() is required to use API NSCalendar.components(in timezone:fromDate:)
since NSCalendar is mutable, we cannot simply return 'null'. Create new copy, update fields like 'locale', 'timezone' and return copy.

resolved conflicts after rebasing.

@swift-ci please test

Looks like the build failure is tangential. This should be ok to go soon.

@parkera build failure with ci doesn't seems to be due to this fix. is it solved?

Let's go ahead, this one should be ok.


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 2136 ms

Resolved: Samsung performance has improved in 93c53b1.


Enabling SSL connections

Thanks! I left some comments.
How do you test that it works?

I have merged additional-hooks into master. Rebase please :)

Done :)

Hm, there are duplicated commits here now. But that's OK, I'll be able to rebase it on top of master when merging.
I'll try to test this and merge it this week.

Yeah, now I remember why I scarcely use git rebase :p

Current status of the PR
I've managed to launch chatty (through Alher) with SSL on my laptop multiple times, which produces something along the lines of
15:29:01 [freenode] -!- Alheran<EMAIL_ADDRESS>15:29:01 [freenode] -!-  ircname  : BEAM
15:29:01 [freenode] -!-  channels : #QueerDev
15:29:01 [freenode] -!-  server   : sendak.freenode.net [Vilnius, Lithuania, EU]
15:29:01 [freenode] -!-           : is using a secure connection

However, once I run the bot on one of my servers, the TCP connection is closed after irc_handshake (on freenode, so it seems unrelate with #9).
I'd need someone else to run the code on their machine, and maybe being enlightened about the reason.


Bypass version check in toolchain metadata if version matches one used by MinGW

Addresses https://github.com/gradle/gradle-native/issues/1107
Context

Gradle currently refuses to recognize some versions of the MinGW gcc compiler distributed by Debian or Ubuntu because the version line does not contain major.minor. See https://github.com/gradle/gradle-native/issues/1107
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

Thank you for your contribution!
This PR is complete and simple enough, it will be merged immediately.

@bot-gradle merge


Tracing in distributed environment every XX request

Hi Kristof!
We having troubles using trace rate > 1. It seems somehow it broke in our distributed micro services architecture and spans are not combined in long chained calls.
Do u have any idea where to look into to try and diagnose the cause?
We use custom implementation for our needs based on your original version.

Closed as not being able to reproduce.


Date range picker

This is an awesome library, thank you for it :)
I was wondering if it is possible to filter the data on the UI for date range. For example, I have a sample data (similar to your Motrean weather example).
2014-01-01,-16.5,-24.6,-20.6,0,0
2014-02-02,-22.6,-27.3,-25,0,1.4
2014-02-03,-19.2,-24.3,-21.8,0,0
2014-03-04,-8.6,-23.3,-16,0,0
2014-04-05,0.3,-12.6,-6.2,12.2,1.8
2014-06-05,0.3,-12.6,-6.2,12.2,1.8
2015-05-06,7.1,-11.1,-2,14.3,0.4

I want to be able to pick the data from 2014-03-04 to 2015-05-06
is there any option to allow user filter specific field for range?
thanks in advance

Unfortunately this is not possible at the moment or likely to be supported in the near future as this library is not aware of attribute types in the input. One way forward would be #191 but I don't have the time to implement this :)


Add context to grid

When user context is enabled in admin, items clicked from grid should be opened in the section context

Done in https://github.com/bcc-code/bcc-media-app/commit/7753a72344566b5ad3712c7de081825bc80817e3


Consider project rename

I'm finding kivydesigner to be a bit long and hard to type out. Might be worth considering other easer-to-type names.
Maybe kvstudio? I've played with kvrad but not sure about the ring.

Actually 'kivyrad' might be a bit better than both.


chore: remove expiration setting from the event and user count

Due to performance issues, I'm removing the expiration setting when incrementing the event and user count.
I will add a cronjob to delete keys once daily instead of checking the TTL every time we increment the counter.
Also, I'm changing the key format so we can easily scan the keys by day when we delete them.
environment_namespace:kind:feature-id:variation-id:timestamp
↓
environment_namespace:kind:timestamp:feature-id:variation-id

Could you stop removing pipeline implementation since I use it in the event counter?


[BrokenLinksH2] Fixed the link path

Fixed the link path

Docs Build status updates of commit 3034760:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Odata-docs/changelog/webapi-7x.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Global effort to fix broken links
@madansr7
The Content & Learning team is fixing broken links on docs.microsoft.com for the rest of H2. This effort will eliminate potential accessibility, security, and usability issues. This PR includes only link fixes and does not change other content. I’d very much appreciate your timely review and feedback on the link changes I’ve suggested. Thanks!


[Improvement] Reduce the write time

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
We use the SEND_CHECK_INTERVAL to check the blocks whether finished. Although we send small data, we will still use 500ms to wait.
How should we improve?
We add the event FinishBlockEvent. We post the event to a blocking queue. When we finish sending data, we will create a new event and add the event to the queue. We will poll the FinishBlockEvent from the queue instead of waiting for 500ms.
like
queue = new BlockingQueue();
Event event = queue.poll(500, TimeUnit.MS);

Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

If no one have interest on this issue, I will create a pr for this.


Encountered 401 on rebuild

Hello,
I am getting an error on rebuild with this flake. Here is the output of the error:
No username given. Using anonymous account with dedicated server subscription.
Connecting to Steam3... Done!
Logging anonymously into Steam3... Done!
Using Steam3 suggested CellID: 79
Got AppInfo for 896660
Using app branch: 'public'.
Got depot key for 896661 result: OK
Processing depot 896661
Downloading depot manifest... Got manifest request code for<PHONE_NUMBER>546016341516446 result: 0
No manifest request code was returned for<PHONE_NUMBER>546016341516446
Encountered 401 for depot manifest<PHONE_NUMBER>546016341516446. Aborting.

Unable to download manifest<PHONE_NUMBER>341516446 for depot 896661
App 896660 was not completely downloaded.
The operation was canceled.
Disconnected from Steam

I don't know what is important information so please ask if I should send something. My flake is on unstable and when I updated my flake.lock file I get this error. For now I can revert to an old version of the lock file and still rebuild fine but I thought flakes kept this kind of thing from happening. (still a noob here)
Any Ideas?

Okay I correct myself. If you look at this search, you can see that a 401 error with the DeoptDownloader is fairly common and usually indicates that the specific manifest has been removed. It is nothing to do with me being on unstable, just that when I updated it tries to update the Valheim server to the manifest ID in the latest update, apparently the manifest ID here is not available anymore.
I don't know why they aren't available anymore, perhaps someone knows? Seems like they should keep old versions but I'll leave that be...
I forked and updated to what was listed as latest public and it builds fine. I'll submit a pull request.

Sounds like publishers are allowed to remove depots.  Closing in favour of #19.


Riverpod Generator Stack Overflow

Describe the bug
When running dart build_runner watch -d  --use-polling-watcher I get errors.
Executing task: C:\flutter\bin\cache\dart-sdk\bin\dart.exe run build_runner watch -d  --use-polling-watcher

[INFO] Generating build script completed, took 321ms
[INFO] Setting up file watchers completed, took 11ms
[INFO] Waiting for all file watchers to be ready completed, took 512ms
[INFO] Reading cached asset graph completed, took 210ms
[INFO] Checking for updates since last build completed, took 866ms
[INFO] Running build completed, took 37ms
[INFO] Caching finalized dependency graph completed, took 129ms
[SEVERE] riverpod_generator on lib/app/state/animation.viewmodel.dart (cached):

Stack Overflow
[SEVERE] riverpod_generator on lib/app/state/places_view.viewmodel.dart (cached):

Stack Overflow
[SEVERE] riverpod_generator on lib/app/state/selected.viewmodel.dart (cached):

Stack Overflow
[SEVERE] Failed after 178ms

To Reproduce
I have a lot of generative actions: [INFO] Succeeded after 28.1s with 61 outputs (1152 actions)
I noticed the more actions I have the more often I get this error. The only way to fix it is to clean the cache dart run build_runner clean and to rerun the build.
Expected behavior
The build should at least try to delete the cache or parts of the cache and rerun the build. Otherwise I only get the error and have to delete the cache manually

Please provide a way to reproduce the issue.

@dario-digregorio Could you try running dart run build_runner build -d -v? This should give you a stacktrace, which I will need

Hi, here is the stacktrace:
I deleted the allPurchasedProductIdentifiersProvider and I can see that the builder uses the cached file. It does not matter if I change anything in the file, it still will use the old cached version. At least when I use watch. Sometimes changing the file a few times works. But sometimes it doesn't. The only solution that always works is to use dart run build_runner clean.
 dart run build_runner build -d -v
[INFO] Entrypoint:Generating build script...
[INFO] Entrypoint:Generating build script completed, took 190ms

[INFO] BuildDefinition:Initializing inputs
[INFO] BuildDefinition:Reading cached asset graph...
[INFO] BuildDefinition:Reading cached asset graph completed, took 176ms

[INFO] BuildDefinition:Checking for updates since last build...
[INFO] BuildDefinition:Checking for updates since last build completed, took 748ms

[INFO] Build:Running build...
[INFO] Build:Running build completed, took 25ms

[INFO] Build:Caching finalized dependency graph...
[INFO] Build:Caching finalized dependency graph completed, took 102ms

[SEVERE] envied_generator:envied on lib/app/state/purchases.viewmodel.dart (cached):

Could not resolve annotation for `AutoDisposeProvider<List<String>> allPurchasedProductIdentifiersProvider`.
package:source_gen/src/type_checker.dart 114:7              TypeChecker._computeConstantValue
package:source_gen/src/type_checker.dart 139:21             TypeChecker._annotationsWhere
dart:core                                                   Iterable.isEmpty
package:source_gen/src/type_checker.dart 73:20              TypeChecker.firstAnnotationOf
package:source_gen/src/library.dart 51:34                   LibraryReader.annotatedWith
dart:async                                                  _SyncStarIterator.moveNext
package:source_gen/src/generator_for_annotation.dart 52:42  GeneratorForAnnotation.generate
package:source_gen/src/builder.dart 355:33                  _generate

[SEVERE] json_serializable on lib/app/state/purchases.viewmodel.dart (cached):

Could not resolve annotation for `AutoDisposeProvider<List<String>> allPurchasedProductIdentifiersProvider`.
package:source_gen/src/type_checker.dart 114:7              TypeChecker._computeConstantValue
package:source_gen/src/type_checker.dart 139:21             TypeChecker._annotationsWhere
dart:core                                                   Iterable.isEmpty
package:source_gen/src/type_checker.dart 73:20              TypeChecker.firstAnnotationOf
package:source_gen/src/library.dart 51:34                   LibraryReader.annotatedWith
dart:async                                                  _SyncStarIterator.moveNext
package:json_serializable/src/json_part_builder.dart 59:22  _UnifiedGenerator.generate
package:source_gen/src/builder.dart 355:33                  _generate

[SEVERE] riverpod_generator on lib/app/state/purchases.viewmodel.dart (cached):

Could not resolve annotation for `AutoDisposeProvider<List<String>> allPurchasedProductIdentifiersProvider`.
package:source_gen/src/type_checker.dart 114:7             TypeChecker._computeConstantValue
package:source_gen/src/type_checker.dart 139:21            TypeChecker._annotationsWhere
dart:core                                                  Iterable.isEmpty
package:source_gen/src/type_checker.dart 95:20             TypeChecker.firstAnnotationOfExact
package:source_gen/src/library.dart 67:34                  LibraryReader.annotatedWithExact
dart:async                                                 _SyncStarIterator.moveNext
package:riverpod_generator/src/parse_generator.dart 23:37  ParserGenerator.generate
package:source_gen/src/builder.dart 355:33                 _generate

[SEVERE] freezed on lib/app/state/purchases.viewmodel.dart (cached):

Could not resolve annotation for `AutoDisposeProvider<List<String>> allPurchasedProductIdentifiersProvider`.
package:source_gen/src/type_checker.dart 114:7   TypeChecker._computeConstantValue
package:source_gen/src/type_checker.dart 139:21  TypeChecker._annotationsWhere
dart:core                                        Iterable.isEmpty
package:source_gen/src/type_checker.dart 73:20   TypeChecker.firstAnnotationOf
package:source_gen/src/type_checker.dart 80:7    TypeChecker.hasAnnotationOf
dart:_internal                                   WhereIterator.moveNext
package:freezed/src/parse_generator.dart 29:37   ParserGenerator.generate
package:source_gen/src/builder.dart 355:23       _generate

[SEVERE] Build:
Failed after 145ms

That appears to be a completely different error, isn't it?
I don't see a stackoverflow
That specific issue was recently fixed in source_gen: https://github.com/dart-lang/source_gen/issues/682
So it should go away soon enough

That is right. I did not see this error for quiet some time. When it happens again I will reopen this issue :) Thank you for your time!


Clarify Submission Process When Editing Order

Improve clarity of checkout process when editing an order. Suggested changing test on action buttons:

In cart: "Checkout"  -> "Confirm"
During checkout: "Submit Order" -> "Update Order"

Implemented in https://github.com/MRKTBOX/mrktbox-web/commit/76ea315341189693029aa85a8d4d51fd3b3706d0 and deployed in https://github.com/MRKTBOX/mrktbox-web/commit/b644f9e64d1984bc67b65c15a4df31f4dfdb9af7 (v0.1.3).


Common docker network for kogito-ci-build image and testcontainers

In ASF jenkins we use quay.io/kiegroup/kogito-ci-build docker image to build all the project.
The containers have docker.sock passed as volume, and when using testcontainer in the project build, in effect the testcontainers are siblings of the build container. But they don't share a network, thus any reference to localhost in tests or configuration fails.

Solved by apache/incubator-kie-kogito-pipelines#1093


Js sys once over

Getting ready for #519
We will see if CI is happy, since cargo test -p js-sys --target wasm32-unknown-unknown isn't working for me right now :-/ (#549)

Fixed a bunch of errors in the tests from the by-ref transformation, but still getting some unknown errors (I assume inside some macro generated code):
$ cargo check --tests --target wasm32-unknown-unknown
    Checking js-sys v0.2.14 (file:///home/fitzgen/wasm-bindgen/crates/js-sys)
error[E0277]: the trait bound `&wasm_bindgen::JsValue: std::convert::From<&str>` is not satisfied
  |
  = help: the following implementations were found:
            <wasm_bindgen::JsValue as std::convert::From<Function::ArrayPrototype>>
            <wasm_bindgen::JsValue as std::convert::From<Generator::GeneratorResult>>
            <wasm_bindgen::JsValue as std::convert::From<Object::Foo42>>
            <wasm_bindgen::JsValue as std::convert::From<Object::Foo>>
          and 56 others
  = note: required because of the requirements on the impl of `std::convert::Into<&wasm_bindgen::JsValue>` for `&str`

error[E0308]: mismatched types
  |
  = note: expected type `&wasm_bindgen::JsValue`
             found type `wasm_bindgen::JsValue`

error: aborting due to 2 previous errors

Some errors occurred: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: Could not compile `js-sys`.

To learn more, run the command again with --verbose.

Phew OK I think I got it.

👍


Download for Windows Setup is broken.

https://featherwallet.org/download/
The downloadlink to the newest 2.1.0 windows installer is broken.

Fixed, thank you.


Add support for HTML5 number input type

As per specification input tag with type="number" are meant to be for numeric values.
I have tested the code with modified check "if(this.is('input:text'))"  to be "if(this.is('input:text, [type="number"]'))", but seems like the number input type causes some side effects and the length cannot grow more than 4 symbols.
My update was here:

// If we've specified to take the number from the target element,
// we loop over the collection, and get the number.
if( number === true )
{
// If this element is a number, then we add a keyup
if( this.is('input:text') )
{ .... }
}

It will be good if there is a support for the new HTML5 input type number.

I do not believe this can work for number fields. There are several problems the biggest one is that 12,000.00 is not a valid number fields, so the HTML5 field will show an error right away that the format is incorrect. Even if you disable that error the form will not submit that field (it will be empty value). So this cannot work for the html5 number fields.

That's correct, It's impossible to have thousands separators working with number fields.

The only possible way to do this would be to implement a hidden shadow field of 'number' type (which should trigger html5 input options) and use a cloned-in-place text input field to display the formatted number... although this might have some layout and form submission issues, but is a potential way forward.

I was thinking the same thing, but it will get quite complicated to do this switcharoo I believe.

I solved this problem
$(document).ready(function() {
			$(".money").keypress(function () {
				if($(this).attr('type') == 'tel') {
					$(this).attr('data-type', 'tel');
					if($(this).is(':focus')) {
						$(this).attr('type', 'text');
					}
				}
			});

			$(".money").focusout(function () {
				if($(this).attr('data-type') == 'tel') {
					if(!$(this).is(':focus')) {
						$(this).removeAttr('data-type');
						$(this).attr('type', 'tel');
					}
				}

			});
		});

A number formatting plugin needs to work with number fields so I'm a little confused as to why this issue hasn't been fixed yet especially given that the primary problem mentioned is that HTML5 number fields don't allow a thousands separator. Why not just disable the thousands separator for number fields?


3 lights setup

Hi,
Thanks for this awesome work!
I face an issue with a 3 light setup :

2 lights on
1 light off

I want to set this special light to off. When doing so, it looks like the plugin faces an issue to keep the state of the scene and therefore turns itself off again.
I am happy to help and will try to look at the code if I have some time.
Have a great day,
Thomas.

Hi Thomas,
Thank you for pointing this out. Just to confirm your scene is configured with 2 lights on and 1 off? Does this happen with a combination of on and off in general that you know?
Cheers,
Hugo

Hi Hugo,
I'll try to replicate this on a virtual env this evening and send you all informations as soon as possible!
Issue could be on my side....
Thanks for your time.

2 Tuya lights
1 Yeelight light

Hi Hugo,
Sorry for the delay, the issue was in my configuration and I was able to handle it :)
Sorry for the inconvenience and thanks for the time!


Added player's choice for playing pawn

In the original version the board's pawns are iterated over each turn so players can't choose what pawn they want to use and have to alternate between the pawns. In this change set I have added the functionality that enables players to choose what pawn they want to use in addition to the move and build choices. The players now only receive the board when playing their moves (I kept the old functionality for placing the pawns) and need to return the pawn number, in addition to the move and build positions. I have adapted the existing players to play accordingly.
For your information, this is my first pull request so I'm a bit uncertain how does this process work, so any guidance and advice will be welcomed! :)

Hi @daniPclos, thank you for contributing to this project !
I'm playing Santorini mostly in 2v2 with everyone playing a pawn and playing one after the other, so I was surprised to know that you can select the pawn that you want to play. When I realized, the project was already well started and making an AI is simpler when you don't have to select the pawn you need to play, so I didn't change it in this project.
Creating a pull request with a nice comment is the best you can do for a pull request.
However, I can't accept the changes until :

The code is formatted with Python Black (this project code linter)
The tests are passing
The documentation (the Readme) is up to date with the changes

However, those are not the most fun changes to make, so I've made them in the pull request #3. I've also made other changes that I hope you won't mind, fill free to copy this branch and test it, leave a review if you want or to ignore it ( ͡ᵔ ͜ʖ ͡ᵔ) .
Thank you again for your contribution  and good luck with whatever you are doing with this project.


fix:  re-join thread after leaving thread and returning with back button

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/37612
PROPOSAL: https://github.com/Expensify/App/issues/37612#issuecomment-1975660450
Tests

Navigate to any 1:1 chat conversation
Join a thread by replying to any sent message
Click on 3 dots in threaded message and leave conversation (User should return to original DM conversation)
Select back button(User should return to threaded message just left)
Select "Join" in header
Verify that: User should be able to join conversation and "join: in header disappears

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

Offline tests

QA Steps

Navigate to any 1:1 chat conversation
Join a thread by replying to any sent message
Click on 3 dots in threaded message and leave conversation (User should return to original DM conversation)
Select back button(User should return to threaded message just left)
Select "Join" in header
Verify that: User should be able to join conversation and "join: in header disappears

[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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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/129500732/7da4c88c-0c90-4a4c-bce9-c3a6e54da823

Android: mWeb Chrome

https://github.com/Expensify/App/assets/129500732/6be3ddeb-852f-4c00-8aea-01e954183af2

iOS: Native

https://github.com/Expensify/App/assets/129500732/cc2d5760-e6dd-40d0-9684-81597d33d473

iOS: mWeb Safari

https://github.com/Expensify/App/assets/129500732/1612da2f-0ac0-406f-8d0c-b4e39fec5e0f

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/129500732/ec43123b-c10a-44a5-84a0-a6ae4b3e4bc5

MacOS: Desktop

https://github.com/Expensify/App/assets/129500732/ef23d5e4-0cf0-4aaf-a022-5c7a8127e20f

We can make the check stricter by using prevIsFocused and run openReport only if isFocused changes from false to true, if we do that we can also add the report to the dependency list of useEffect

Curious about this point you made in your proposal. Is there any downside to adding it?
I'm seeing that if we don't rejoin the thread, the useEffect you added will be called multiple times when the other user sends any message.

Ah actually I think this might already be fixed on main.

@dukenv0307 Can you confirm if there's any need for the changes in this PR?

I still reproduce this in main
@dukenv0307 Huh, weird it's not working again for me on main! Will review this now.

: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/MariaHCD in version: 1.4.53-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.4.53-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Change the appearance of the GUI

The GUI looks too dull at the moment.
Make changes to the appearance of the GUI by changing the layout, size, colour scheme, etc.

plss assign to me

@TharunK41 @its-abhishek  this issue is not open yet, waiting for all the other important features to be sorted out so that we can work on the appearance after that. Gimme few more hours and I will open it :)

can in please work on this
Y L Krishna Pani
pes2ug21cs616

can i get this issue assigned to me?
PES2202200178

I would like to work on it

hi can i work on this? PES2UG21CS570

@Hiyanachnani  are you willing to work on this?

@ad1tya24 @tanishkapasarad who's willing to work on this?

Hi can I be assigned to this?

@Hiyanachnani are you willing to work on this?

yesss @charan2308

I'm willing to work on this

@Hiyanachnani work on this issue. Please update if you're working on it within 10 mins or I'll have to assign it to others in queue

hey can i work on this

please review pr


Undo and Redo keybindings in Paint Activity

@llaske in the Paint Activity there is an option for undo and redo but there are no key bindings for them. It is very common across all software to map undo to ctrl+z and redo to ctrl+y. Paint activity should also support these key bindings

These shortcuts make no sense for children.
They are not familiar with shortcuts and it's often too complex for them to press two keys simultaneously.

Makes sense, thanks @llaske


node: Some cleanup for a test in pkg node

Consolidating another test.

Codecov Report

Merging #794 (78a8d5f) into main (fcb2600) will increase coverage by 0.19%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #794      +/-   ##
==========================================
+ Coverage   53.00%   53.20%   +0.19%
==========================================
  Files         117      117
  Lines        6750     6750
==========================================
+ Hits         3578     3591      +13
+ Misses       2808     2796      -12
+ Partials      364      363       -1

Impacted Files
Coverage Δ

ipld/retriever.go
90.69% <0.00%> (+2.32%)
:arrow_up:

das/daser.go
76.31% <0.00%> (+2.63%)
:arrow_up:

node/store.go
72.11% <0.00%> (+2.88%)
:arrow_up:

header/core/listener.go
58.49% <0.00%> (+5.66%)
: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 fcb2600...78a8d5f. Read the comment docs.


hci-deadlines site not found

hci-deadlines.github.io (Human-Computer Interaction conferences) are not found.
https://github.com/paperswithcode/ai-deadlines/blob/dfc6a47d7c405d3f2ac55646221fb6711709120a/README.md?plain=1#L56
https://github.com/paperswithcode/ai-deadlines/blob/dfc6a47d7c405d3f2ac55646221fb6711709120a/README.md?plain=1#L82

Hi thanks for letting us know but you might need to contact @makinteract about this.


feat: Support JSONLD [DEV-1931]

Facing this issue in issuing a jsonLD credential
jsonld.InvalidUrl: Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.
Pending
Fix the build.yml github workflow

Task linked: DEV-1931 Build full support for JSON-LD credentials into credential-service & setup veramo to user this

Closing as JSON-LD issuance is now supported in Veramo


converted to rpy2 version >= 3.0; inferring R_HOME env variable

R_HOME is most likely os dependent as well as conda/ pip.
Might need additional refinement

Codecov Report

Merging #29 (aef8930) into master (8209455) will decrease coverage by 12.56%.
The diff coverage is 35.29%.

@@             Coverage Diff             @@
##           master      #29       +/-   ##
===========================================
- Coverage   40.37%   27.80%   -12.57%
===========================================
  Files          24       24
  Lines        3180     3186        +6
===========================================
- Hits         1284      886      -398
- Misses       1896     2300      +404

Flag
Coverage Δ

basic-test-run
27.80% <35.29%> (+0.13%)
:arrow_up:

full-test-run
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mspypeline/core/MSPPlots/BasePlotter.py
17.33% <0.00%> (-24.66%)
:arrow_down:

mspypeline/__init__.py
37.93% <85.71%> (+6.55%)
:arrow_up:

mspypeline/file_reader/MQReader.py
17.43% <0.00%> (-40.00%)
:arrow_down:

mspypeline/plotting_backend/matplotlib_plots.py
13.30% <0.00%> (-16.79%)
:arrow_down:

mspypeline/file_reader/BaseReader.py
57.14% <0.00%> (-16.33%)
:arrow_down:

mspypeline/core/MSPInitializer.py
77.53% <0.00%> (-7.25%)
:arrow_down:

mspypeline/helpers/Utils.py
57.93% <0.00%> (-4.83%)
:arrow_down:

mspypeline/modules/Normalization.py
94.70% <0.00%> (-1.77%)
:arrow_down:

mspypeline/core/MSPPlots/MaxQuantPlotter.py
4.34% <0.00%> (-0.97%)
:arrow_down:

Continue to review full report at Codecov.

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


Change schema of post_init, pre_init

Currently we have:
    pre_init:
      - type: text
        value: |
          # simDetectorConfig(portName, maxSizeX, maxSizeY, dataType, maxBuffers, maxMemory)
          simDetectorConfig("{{PORT}}", {{WIDTH}}, {{HEIGHT}}, {{DATATYPE}}, {{BUFFERS}}, {{MEMORY}})
      - type: comment:
        value: I made a comment.

or (because text is the default):
    pre_init:
      - value: |
          aravisConfig(const char *portName, const char *cameraName, size_t maxMemory, int priority, int stackSize)
          aravisConfig("{{PORT}}", "{{ID}}", {{MEMORY}}, 0, 1)

But it should be:
    pre_init:
      - text: |
          # simDetectorConfig(portName, maxSizeX, maxSizeY, dataType, maxBuffers, maxMemory)
          simDetectorConfig("{{PORT}}", {{WIDTH}}, {{HEIGHT}}, {{DATATYPE}}, {{BUFFERS}}, {{MEMORY}})
      - comment: |
          this is a comment

@coretl I had changed it so that text was default, thinking that was achieving what you asked for but that is not right because value: is not a useful description.

OK will do.

This is done in #109


libwebp: refactor & 0.4.1 -> 0.4.2

Also added missing OpenGL related dependencies allowing vwebp support.

Nice thanks. Opengl support is problematic on non-nixos, can we disable it by default?

It was never there before, so disabling it would have no effect.  I'll change it to be disabled by default.

Built locally, thanks. I guess the main users are browsers, let's see how it behaves.


Implement endpoints to create a dossier for a user

Subtask to set up the backend endpoints for the user story defined at #7
Create endpoint to create a dossier for a user
[Story Points: 2]
[Priority: High]
[Risk: Medium]

https://drive.google.com/file/d/1UEHtgkw4Hr3LppdfpxmWTQ76tsI6GMRE/view?usp=drive_link


Swift Package Index

To have more visibility (and to be a good citizen of the ecosystem) we should add the package to the Swift Package Index

Done in this issue


Create a fapi-search.github.io site with Material for Mkdocs CI/CI

Completed with https://github.com/fapi-search/fapi-search-docs/commit/9aacdbd2c685c09e3e84a785c5cbfa20a91e5369


Useless signing?

Hi Team,
at the #L42 val and mac are already equal strings (in case signing was successful), should they be signed anyway before equallity check?
Cheers, Alex

Sorry to keep on the bike shed, but why not just use https://github.com/SalesforceEng/buffer-equal-constant-time?—either the module or just copy/paste the code.

I mean why use sha1? Is the implementation of that function always going to be constant time? (sorry, I don't know how sha1 is implemented).
Anyway, a loop seems much simpler: https://github.com/SalesforceEng/buffer-equal-constant-time/blob/a48282ae383e6728d1dea74e2de43e8a8a434326/index.js#L8-L34. Pretty standard stuff, have seen it elsewhere: https://gist.github.com/jtan189/3804290#file-javapasswordsecurity-java-L103-L109.

sha1 is not about the constant time, but on the contrary - it ensures randomness.

Do we know that the faster CRC32 wouldn't suffice? It's less random than SHA1, but how much information can be gleaned from a single CRC byte? I'm just concerned that we may be unnecessarily eating clock cycles.

If the purpose is to prevent timing attacks, why aren't you using a constant time comparison? SHA1 is computationally expensive, and you are doing it twice on each request for a signed cookie. I've been testing XOR comparisons with benchmark.js and find them to be constant time on my machine.
Moreover, by comparing the cryptographically random signatures instead of SHA1 hashes, you are forcing the attacker to find collisions in 256 bits instead of only 160. It seems that a constant-time comparison is not only faster, but more secure.
Do constant-time comparisons have a machine-dependence that makes them unreliable? What's the deal?

(The reason I ask is that I would like to verify session ID signatures as a means for reducing the impact of DDoS attacks. I'll confirm the ID too, but that may require hitting the database. I want to keep the cost of each invalid request to a minimum by only hitting the DB if the signature verifies. I don't need the signature otherwise. But if adding the signature is itself costly, it's not clear how much benefit I gain.)


Mobile app can create post without a topic, when permissions are set not to allow that.

Mobile app users can still create "no topic" posts even if permissions are set to disallow it and desktop users cannot.  Tested on iOS.

@vanclute Thanks for the report. I've split off the second issue in your latter comments as #4379.
This would be a good issue for someone to fix. The approach will look something like:

Store the relevant setting in RealmState, and populate it in realmReducer, much like the existing property canCreateStreams.

If it's not already in the InitialData type, add it.

At ComposeBox, add the setting to the props and connect call, and use it.

@vanclute Thanks for the report. I've split off the second issue in your latter comments as #4379.
This would be a good issue for someone to fix. The approach will look something like:

Store the relevant setting in RealmState, and populate it in realmReducer, much like the existing property canCreateStreams.

If it's not already in the InitialData type, add it.

At ComposeBox, add the setting to the props and connect call, and use it.

I want to work on this. Can you assign me?

I want to work on this. Can you assign me?

@gnprice I would to like to work on this issue as i think dhanmoni is not working on it

@gnprice I would to like to work on this issue as i think dhanmoni is not working on it

@zulipbot claim

@zulipbot claim

@gnprice I would like to work on this issue, if it's not been resolved yet!


Add new Helm value setting 'st2.apikeys' to import ST2 API keys

Closes #36

The feature in K8s/HA is ready, however it's blocked by ST2 regression when st2 apikey load doesn't work in an idempotent way and can't import already imported API keys:
ERROR: 409 Client Error: Conflict
MESSAGE: Tried to save duplicate unique keys (E11000 duplicate key error collection: st2.api_key_d_b index: key_hash_1 dup key: { : "56928c2d9637ce44338e9564d4b939df8b258 ...." }) for url: http://<IP_ADDRESS>:9101/v1/apikeys

Similar bug was fixed before, but it reappeared for some new reason.
I'm working on fixing ST2 next.

Can now confirm the fixed behavior and working Helm values functionality after getting new Docker images based on latest st2 with https://github.com/StackStorm/st2/pull/4542


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 2961 ms

Resolved: Samsung performance has improved in cc3ec4a.


Automate reverting deploys

As a devops engineer (or anyone else involved in deploys) I want a quick way to undo deploying a container.
This should be relatively easy - ideally we'd only need to run a couple Azure CLI commands.

Get the UID for the container (most recent -1)
Deploy that container to the candidate slot
Swap to it

GitHub Action workflow that resets a prod branch back to its status from 2 days ago
name: Reset Branch

on:
  workflow_dispatch:

jobs:
  reset-branch:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout Repository
      uses: actions/checkout@v2

    - name: Reset Branch
      run: |
        # Set the branch name you want to reset
        BRANCH_NAME="your-branch-name"

        # Calculate the date from 2 days ago in ISO 8601 format
        TWO_DAYS_AGO=$(date --iso-8601=seconds -d '2 days ago')

        # Fetch the commit hash from 2 days ago on the branch
        COMMIT_HASH=$(git log --before="$TWO_DAYS_AGO" --format="%H" -n 1 $BRANCH_NAME)

        # Reset the branch to the commit hash
        git reset --hard $COMMIT_HASH

        # Force push the reset branch
        git push --force origin $BRANCH_NAME


DASHBUILDE-241: Perspective editor's menu bar navigation component

Initial implementation including tests and a couple of preview videos:
Example 1 (menu bar with target div): The menu bar takes over an entire nav group and redirects the selected perspective display to a target  => https://issues.jboss.org/secure/attachment/12422640/dashbuilder_menu_bar_targetdiv.mp4
Example 2 (menu bar plus tiles): The menu bar shows level 1 items only whereas the tile widget shows the remaining levels, according always to the item selected in the menu bar => https://issues.jboss.org/secure/attachment/12422641/dashbuilder_nav_point_tiles.mp4
@romartin @jhrcek Can you guys review please?

Jenkins execute full downstream build

@dgutierr I reviewed this with @kkufova who will provide some additional issues she found, hopefully today, tomorrow at the latest.

Hello @dgutierr,
Thank you for submitting this pull request! There is one bug I found and reported: DASHBUILDE-243.
However, there are some more issues I would like to know your opinion on.
Firstly, there is a strong connection between Navigation identifier and Navigation source. I think these two options should be renamed to be more descriptive, as it is not clear that they are supposed to be used together. Also, I noticed that in order to make this connection work, you need to set these parameters in the correct order, as any later changes are not applied. See the following video for more details. I uploaded the video to the DASHBUILDE-241 Jira.
https://issues.jboss.org/secure/attachment/12422749/kkufova'sFoundBug.webm
Next, I think the parameters Navigation identifier and Target div should be somehow logically separated, as it does not make sense to me to set them both.
Next, I noticed that when you set the Number of levels parameter wrongly, the menu shows the groups, even though it is not possible to display anything after clicking on some group. See the video:
http://file.brq.redhat.com/~kkufova/screencast-07-25-2017-05-03-04-PM.webm
Also, I discovered that it is not possible to remove an added component in some situations. Could you please let me know where to file such a bug that concerns the Perspective Editor? See the video:
http://file.brq.redhat.com/~kkufova/screencast-07-25-2017-04-48-26-PM.webm

@jhrcek @kkufova Thank guys for looking into this.
I agree with you both this feature is a bit overwhelming an initially confusing so I tried to describe in detail the purpose of every setting in the configuration modal and how the overall mechanism works => See https://issues.jboss.org/browse/DASHBUILDE-241?focusedCommentId=13440497&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13440497
Please have a look.
@jhrcek
2.- Does Menu Bar component do something when it's navigation identifier is not set?
This is an optional setting that can be combined with target div.
3.- It's possible to set "Navigation source" in Menu Bar configuration?
Good question. Currently it might depend on a parent. Something to discuss. In the future we might have menu bars with a different look that could depend on a parent navigation widget. To be honest I'd not limit about future possibilities.
In my opinion, some feedback from UXD about better ways to present the configuration options might help.
@kkufova
1.- "Firstly, there is a strong connection between Navigation identifier and Navigation source. "
Agree. We should involve UXD here.
2.- "Next, I think the parameters Navigation identifier and Target div should be somehow logically separated, as it does not make sense to me to set them both."
3.- "Next, I noticed that when you set the Number of levels parameter wrongly, the menu shows the groups, even though it is not possible to display anything after clicking on some group."
This scenario makes sense when the component acts as the navigation source for another component.
4.- "Also, I discovered that it is not possible to remove an added component in some situations. Could you please let me know where to file such a bug that concerns the Perspective Editor?"
I also stumbled with the same issue. Please file a JIRA in https://issues.jboss.org/projects/AF/   @ederign  is in charge of the layout editor.

Also pushed the changes required to make the tab list widget support these new concepts. See videos attached at https://issues.jboss.org/browse/DASHBUILDE-244

Jenkins execute full downstream build

downstream build is failing apparently because of recent uberfire changes:
cannot find symbol ...  class JGitUtil

This cannot be tested locally in kie-wb until the build failure is fixed. @kkufova please at least try with dashbuilder showcase

Done. I reported the bug about removing added components (AF-574).
@dgutierr, I tried the changes locally using the Dashbuilder Showcase and I found some small issues. Please let me know what you think!
Firstly, could you please explain the logic behind the perspective that is displayed by default? See this video:
http://file.brq.redhat.com/~kkufova/default-item.webm
I would expect that after clicking on Klara's, the very first item displayed will be either nothing or perspective located in the firstGroup and firstPerspective. Instead of that, a perspective from thirdGroup is displayed. It is not possible to set the default item that will be displayed. In the situation depicted above, it is only possible to set Klara's as default, which is not satisfactory.
I noticed that for some reason, adding second Tab List Component is problematic (a popup that does not make sense is displayed). The same issue occurs when you try to remove these components.
http://file.brq.redhat.com/~kkufova/second-tab-list.webm
Next, this issue is similar to the one I mentioned in my first comment. I noticed that modifying parameters is not applied automatically. To be able to see the changes, the user needs to "reload" the component using some more high-level component. I think all the changes should be applied right away, as it seems like updating the component did not work at all. See the following video for more information:
http://file.brq.redhat.com/~kkufova/updating-components.webm
Is there a way to solve this?
Also, @dgutierr, looking at the help popovers available next to each parameter, I think I would be able to rephrase some of them to be more straightforward and easier to understand. Would you be interested in such help?

Closing this PR as navigation stuff has finally implemented in a different way => https://github.com/dashbuilder/dashbuilder/pull/361


[improve][broker] AuthenticationState authenticate data once

PIP 97: https://github.com/apache/pulsar/issues/12105
Motivation
In order to implement PIP 97, it is essential that we remove all blocking calls to provider.authenticate(authData). Two places where we currently call the synchronous authenticate method are in the OneStageAuthenticationState and the TokenAuthenticationState class constructors. Since authenticate will be replaced with authenticateAsync, we won't be able to rely on authenticating the authData in the constructor. Further, it is inefficient to verify authentication data twice, which currently happens for TokenAuthenticationState in the ProxyConnection and the ServerCnx.
This PR seeks to make explicit a paradigm that is already followed in the Pulsar code base. Specifically, that the contract for using an AuthenticationState class is as follows:

Initializing the class by calling {@link AuthenticationProvider#newAuthState(SocketAddress, SSLSession)}
Calling {@link #authenticate(AuthData)} in a loop until the result is null.
Calling {@link #getAuthRole()} and {@link #getAuthDataSource()} to use for authentication.
Calling {@link #refreshAuthentication()} when {@link #isExpired()} returns true.
GoTo step 3.

When PIP 97 is complete, step 2 will replace authenticate with authenticateAsync.
Modifications

Add AuthenticationProvider method: newAuthState(SocketAddress remoteAddress, SSLSession sslSession). This method does not take AuthData to make it a bit clearer that class constructors are not meant to perform authentication. This method's default definition is OneStageAuthenticationState. Users that want a custom AuthenticationProvider to use a different AuthenticationState implementation must override this method.

Add @Deprecated annotation to newAuthState(AuthData authData, SocketAddress remoteAddress, SSLSession sslSession) and to several class constructors that were used by that method. Note: leave the implementations the same for broker extensions that use this method. This is the only backwards compatible portion of this PR.

Update ProxyConnection and ServerCnx to use the new newAuthState method. This change could break custom AuthenticationState implementations as described in the first bullet point.

Update TokenAuthenticationState and OneStageAuthenticationState to only authenticate tokens in the authenticate method.

Verifying this change
There are new tests and there is already some test coverage.
Does this pull request potentially affect one of the following parts:

[x] The public API

This change affects the AuthenticationProvider interface.
Documentation

[x] doc-not-needed

We document the authentication interfaces in the code, and I've added docs there.
Matching PR in forked repository
PR in forked repository: https://github.com/michaeljmarshall/pulsar/pull/14

After thinking about this more, I think we should probably take a different direction. I'll follow up with another PR.

This work will end up as multiple PRs and I think I've found a way to avoid confusing breaking changes. The first PR that was initially covered in this PR is here: https://github.com/apache/pulsar/pull/19282. The second is here https://github.com/apache/pulsar/pull/19283. I expect at least one more.


Template string highlighting and export default interface highlight

Fixes for issues #63 and #60.
Let me know if I have not done this correct.
Thanks for yats.

Thanks! And sorry for the late reply. I'm very busy recently.
Would you like add a vader test? Example is in the test directory.
Feel free if you cannot set up the test environment. I can add it later by myself.

@HerringtonDarkholme As far as I know, you cherry picker some commits from this, can this be closed or is this PR waiting for something?

Hey, I tried to fix the tagged template highlighting, but my approach would cause more backtracking.  To fix I'm not sure how to do it. Feel free to suggest a new approach or some area to look at?  Not sure how to avoid backtrack.


[Future scope] Distinguish 'inferred' vs 'partial' contracts

What are you changing in this pull request and why?
Neither of these things exists yet — but they are distinct, and one is likely to exist much sooner than the other!
Context:

https://github.com/dbt-labs/dbt-core/issues/7432#issuecomment-1677142478

@mirnawong1 Thanks for the review - good to merge sooner!

thanks for the confirmation @jtcohen6. fixed the merged conflict and merging this for you now ✨


search: Show user pills in search typeahead.

Fixes #23365, continuation of the work done in #26360
Screenshots and screen captures:
Before:

After:

The case with multiple filters works, but it looks like we still need to fix the case when there are multiple users associated with the same filter:

You can't put a comma after a search operator like that - and that also wouldn't work on CZO (you wouldn't get the search results you'd expect). Does it work for you if you don't put a comma after the email address?

That search definitely works on CZO for me, and is what we have documented.

With a comma -- looks like that's missing in your screenshot.

Ohhh I see, a conversation with two people i.e. a group conversation, where both the emails are connected to the same dm:. Okay, I can look into that. What should that look like in the typeahead? I'm guessing two user pills with a comma between them?

Started a conversation here about it: https://chat.zulip.org/#narrow/stream/101-design/topic/user.20pill.20search.20suggestions.20.2327997/near/1693299

closing in favor of just working on pills

Heads up evy, I am continuing this work. Favourable if you could take time out to review it :)


(jetson-inference) Training Image Classification Models error:Found 0 files in subfolders

Required Info

Camera Model
D435i

Firmware Version

Operating System & Version
Ubuntu 18.04

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
NVIDIA Jetson

SDK Version
.2.0

Language
python

Segment
Robot

I want to use jetson-inference to train an image classification model. I followed the steps in this video https://www.youtube.com/watch?v=sN6aT9TpltU&list=PL5B692fm6--uQRRDTPsJDp4o0xbzkoyf8&index=12, everything went well before I reached the 26th and 40th minutes of the video, but when When I started training, an error occurred. As shown in the figure, picture is not found, it will automatically go to the location of data/tools/val instead of data/tools/train. Although I can execute pictures in val, will it be a problem? Sorry, I'm not sure if this question can be asked here.
This problem is similar to mine, but it can't solve my problem. Provide reference
https://github.com/pytorch/examples/issues/236

Hi @b2992872  My research found a similar case to yours about this kind of RuntimeError when using jetson-inference/python/training/classification/data
https://forums.developer.nvidia.com/t/jetson-inference-collecting-your-own-detection-datasets/158681
In that case, the solution utilized by the jetson-inference was to move the images from the 'train' folder to their empty 'val' folder.  So if in your case the images are being moved from train to val automatically by jetson-inference then it is already performing the solution on your behalf.

This is unexpected. Is there a way for me to judge whether the training results have converged? , Because it is 100% successful, even if there is no goal, it is 100%

There is a pytorch collection example on the jetson-inference GitHub called pytorch-collect.  This suggests using a tool called camera-capture to set up the train, val and test folders and define subfolders within those three main folders.
https://github.com/dusty-nv/jetson-inference/blob/master/docs/pytorch-collect.md
Are you able to train data without errors and collect 10 to 20 percent of the image set if you follow this guide, please?

Yes, I followed this example exactly. I collected 100 training images and 20 validation images, but each level was 100% during training. According to the example video, it will only approach 100%.

I researched the question and did not find any statements that having all 100% images is wrong.  Looking at your tabletop images above, they have a well-lit 'studio quality' to them, compared to the dimly lit conditions with changing natural background lighting that the dinosaur animated image and the image of the man apparently have.  I would be inclined to take the word of jetson-inference that they are 100% images.  You could of course randomly choose a different 20 images from the set of 100 and run the training again if you prefer to validate the results though.

Thank you for your help, I have tried to take pictures with an additional light source, the result is the same, I will go to jetson-inference for help, I hope you have a good day.

Hi @b2992872  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Editor highlights a word GO ending as a GO delilmiter (also affects execution)

Hi, i found the following issue with the latest version of dbeaver (4.2.2)
In a sybase server trying a select statement having an object with name ending in "go", the editor highlights the go in the word and ignores it from the query.
For example, executing:
SELECT * FROM dbo.OINGO_BOINGO
would return the following error
dbo.OIN not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output).

It is a bug in SQL parser. Thanks for report.
Workaround: quote your table name, use lower case or check Ignore native delimiter option on SQL Editor/SQL Processing preferences page.


Review Client Functionality: Api Action Signature

These are all considerations for future IWC Improvements, would definetly cause a semver minor version bump, if not major
Currently api actions fit the following signatures:
A non-callback action:
client.{api}().{action}({resource},{config})

Where resource is a string, and config is an object.
If the action is a write action (set), config has an entity property in most cases.
Would separating out the entity of the action (value of the resource) and catering the config object as an options object be a better choice? Additional parameters in config set the lifespan/permissions/pattern(filter child resources) of the resource.
ie:
client.data().set("/foo", {entity: "Hello World!"});

becomes
client.data().set("/foo",{}, "Hello World");

or
client.data().set("/foo","Hello World", {}); // {} can be ignored as it is inferred internally
client.data().set("/foo","Hello World");

with an option added:
client.data().set("/foo", "Hello World", {lifespan: "Bound"});

callback actions:
a watch currently:
client.data().watch("/foo", configObj, callback);

As a watch is a reactive read, there need to have the entity as its own parameter seems low, it wont be utilized as it is not setting the value and would add clutter to the signature.
an intent registration:
client.intents().register("/foo/bar/run", {entity: intentRegistration}, callback):

All intent register actions have the requirement of the {entity: intentRegistration} object, it would be cleaner if the intentRegistration object was a parameter and the config object was just for optional properties:
client.intents().register("/foo/bar/run",intentRegistration, config, callback);

or

client.intents().register("/foo/bar/run", intentRegistration, callback, config); // where config can be undefined

References have been implemented and tested on feat-apiEnhance
Reference variables are used to shorten the footprint needed to use the IWC. They prefill message details and only expect entity values and callbacks (if applicable). Callbacks/Promise resolutions for reference variable uses will return the response entity as apposed to the entire response packet in the legacy structure (legacy structure will be 100% supported and valid, will not be deprecated). If a promise rejects for a reference variable, the reason will be returned rather than the entire error packet.
NOTE: api's no longer have to be accessed with client.data(), they can be reached via client.data, although client.data() will still work (deprecated) it will just point to the object client.data
To fully support legacy code, reference's are generated with the ref method of an api:
Data Api
var ballRef = client.data.ref("/balls");

to set the entity of /balls:
ballRef.set("My Ball!");

to get the entity value of /balls:
ballRef.get().then(function(val){
   //val = "My Ball!"
});

to watch the changes of /balls:
ballRef.watch(function(changes){
    // new value in changes.newValue
    // old value in changes.oldValue
    // ect..
});

to delete the /balls node:
ballRef.delete();

Intents Api
var intentRef = client.intents.ref("/json/coord/map");

register functionality to the intent resource (note method only needs the value (packet entity) as the input. This matches the invoke below):
var intentFunc = function(value){...};
intentRef.register(intentFunc);

invoke an  intent:
intentRef.invoke("Function Input Here.");

Reference variables usage will not break  current implementations when introduced
For instance, intent registered function previously needed to expect an object input with an entity field to get its value from. If you register an intent function with the new reference approach, and invoke with the old approach, valid output occurs:
var intentRef = client.intents.ref("/text/view/hello");
intentRef.register(function(input){
 // input = "HELLO WORLD!"
});

client.intents.invoke("/text/view/hello", { entity: "HELLO WORLD!"});

The same applies to opposite situation (invoke new, register old):
client.intents.register("/text/view/hello", function(response){
    // response.entity = "HELLO WORLD!";
});

var intentRef = client.intents.ref("/text/view/hello");
intentRef.invoke("HELLO WORLD!");

The new structure should aid in heavy manipulation of nodes
The footprint shrinks greatly, take the example below of modifying a data api node 3 times synchronously:

Arbitrary example, sets the value of /foo to true -> false -> 2

Old
var dataApi = client.data();
dataApi.set("/foo",{entity: true}).then(function(){
    return dataApi.set("/foo",{entity: false});
}).then(function(){
    return dataApi.set("/foo", {entity: 2}
});

New
var fooRef = client.data.ref("/foo");
fooRef.set(true).then(function(){
    return fooRef.set(false);
}).then(function(){
    return fooRef.set(2);
});

Next steps
Working through this signature evaluation/enhancement I noted the set action returning the new value of the node could prove useful. This would alleviate local dirty state holding.

Will have set's response entity be the new entity value of the node
Will add updated docs/tutorials. This change will cause lengthy documentation updates. While there is no backwards compatability loss of this addition, this will mark version 1.2.0 and tutorials for 1.1.X will be archived (still available on site).
Tests added for default packet contents. The ref function accepts an object as the second parameter to determine the default values of any action called on it, this includes permissions.

Docs Tutorials done, see iwc website for details on 1.2.0 release


Normal face when died

Happens only with player and, from my experience, only if player got 2 ticks of damage in 1 time.

Fixed by f6a7c3742e47d247b992cca4dd11ddcac521c2d0


Add stricter checking for potential coding errors

This PR adds a plugin at maven compile time to throw errors on common mistakes.

I've tried a few things to see if I can verify that this produces bytecode compatible jars, and I cannot find a good verification mechanism quickly. As such, it may make more sense to simply have a separate POM and, if it really is a desired check, to have a travis job run mvn clean compile compile-test -f code-validator-pom.xml or similar.

@xvrl Since there is some uncertainty about the behavior of the compiler vs what is really being used currently, and if it modifies byte code at all, I have modified the PR to have a separate POM which contains the error checking stuff. You can now compile it with the command
mvn -f errorprone-pom.xml clean compile test-compile

@drcrallen do you think it would possible to make it a maven profile? this way we could also add other things such as findbugs or other tools that we may not want to run all the time pretty easily.

@xvrl  Yep, that works:
mvn clean compile test-compile -Dcompiler=errorprone

+1

As a note, the profile is called strict, so you can simply say mvn clean compile test-compile -P strict


[DNM] Added minimal setuptools version setup requirements

Some of our dependencies require a minimal version of setuptools and
we need to be sure that this is installed before requirements are
installed.
Fixes: #1859
Signed-off-by: Sorin Sbarnea<EMAIL_ADDRESS>

@decentral1se I am not sure that this change is fixing the reported problem before we merge this lest find a way to reproduce the error we seen with testinfra.

Oh dear, I am so used to clicking this delete branch button that I now did it on someones elses! Sorry!

:smile:

@decentral1se :) BTW we've set up https://github.com/apps/delete-merged-branch so that it'd take care of merged things if they are in our repo...

@ssbarnea your "DNM" tag got me puzzled. I couldn't understand what it means for a while.
I want to inform you that we have https://github.com/marketplace/wip GitHub App integrated and it only understands WIP, Work in progress and 🚧 marks.
See https://github.com/ansible/molecule/pull/1869/checks?check_run_id=83024113 for details.

@webknjaz I will remember this. Mainly in OpenStack DNM is more popular than WIP but with very similar meanings (DoNoMerge). The different is that DNM is usually added to stuff that should not be merged even if the work on it is done (conflicts, or further debates). WIP usually means "i am working on it". Now you know the difference and why both are useful.... I had to google first time myself to find the meaning of DNM.

@ssbarnea FWIW I wrote a tutorial reimplementing WIP app with my framework: https://tutorial.octomachinery.dev/en/latest/octomachinery-with-checks-api.html
Maybe at some point, we'd deploy actual app where we'd control extra conditions and stuff. It's also possible to have more illustrative feedback :) as in https://github.com/webknjaz/comment-reactor-pyconsk-324/pull/3/checks?check_run_id=84343706


VirtualService have the validationMessages

Bug Description
My kuberntes version is v1.22.15, and istio version is 1.15.1.  I create a DestinationRule for test:

which have the subsets v1 and v2, then I create a VirtualService:

but the VirtualService has the error message:

but when I access my pod throught the virtualservice ,it's normal.
And when I delete the "subset:v1" in the virtualservice, the validationMessages is disappeared, when I add the "subset:v1" the validationMessages is appeared, Why does this happen？
my istio proxy-config cluster have the version info：

Version
istio version is 1.15.1

Additional Information
No response

Run command: istioctl analyze.  The output has the detail of configuration errors.

istioctl analyze

I run this command in the appeared the error virtualservice's namespace, but no error:


borrow tracking: add a test for zero-sized protectors

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 94f5588fafcc7d59fce60ca8f7af0208e6f618d4 to master...


Update deploy procedure, possibly adopt cibuildwheel

This hack is no longer needed:
https://github.com/scikit-hep/awkward-1.0/blob/4ba42ac43707555d5847a50deb200b6f157f78bd/.ci/azure-deploy-awkward.yml#L111-L112
Reported by @henryiii.
But maybe we should go further and adopt cibuildwheel (not sure what that involves).

But maybe we should go further and adopt cibuildwheel (not sure what that involves).

(I can help with that, probably next week)


YARRRML external references

Hello.
Are YARRRML external references supported in Morph-KGC? According to the specification, it is possible to define some sort of "constant" data outside of a data source: https://rml.io/yarrrml/spec/#external-references.
I have tried to define these references in a mappings file but Morph raises the following exception:
user@machine:~/directory$ python3 -m morph_kgc config.ini
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/mapping/mapping_parser.py", line 530, in _parse_data_source_mapping_files
    mapping_graph += load_yarrrml(f)
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/mapping/yarrrml.py", line 562, in load_yarrrml
    yarrrml_mapping = _normalize_yarrrml_mapping(yarrrml_mapping)
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/mapping/yarrrml.py", line 236, in _normalize_yarrrml_mapping
    if type(mapping_value['sources']) is list:
KeyError: 'sources'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/__main__.py", line 32, in <module>
    rml_df, fnml_df = retrieve_mappings(config)
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/mapping/mapping_parser.py", line 21, in retrieve_mappings
    rml_df, fnml_df = mappings_parser.parse_mappings()
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/mapping/mapping_parser.py", line 476, in parse_mappings
    self._get_from_r2_rml()
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/mapping/mapping_parser.py", line 507, in _get_from_r2_rml
    data_source_rml_df, data_source_fnml_df = self._parse_data_source_mapping_files(section_name)
  File "/home/user/.local/lib/python3.10/site-packages/morph_kgc/mapping/mapping_parser.py", line 532, in _parse_data_source_mapping_files
    raise Exception(yaml_parse_exception)
Exception: 'sources'

I think the problem is that Morph is expecting sources for the mapping, but in the examples provided in the specification no sources are defined.
Thank you.

This is not supported. Actually I did not know about external references. Implementing them should not be difficult.


In Safari, sometimes the gradient is not displayed on load

It doesn't happen every time, I still have to figure why it happens. It shows up if any of the values is changed.
Edit: Found the issue, property is not set properly:
--dri-gradient-position: calc(37.49999999999999% + NaN);

It seems that there is an edge case in Safari when JavaScript is executed before CSS is loaded. In that case --dri-thumb-width is not available to JavaScript. It is mandatory for width and gradient calculations, so as a fix I added a property to allow users to pass it manually:
https://github.com/Stanko/dual-range-input/commit/d87c1c427fec82230450ffe410858faf2b0fa0d5
If somebody has a more elegant solution, please let me know.


Fix nat_gateway_enabled=false Invalid index error

what

Fix #44
Same test from #45 applied and still fails
Readded test after merge of #47 and using us-east-2 as advised
Tried to retain the output_map AZ => null design choice when nat_gateway_enabled=false. However:-

I get an aws_route ExactlyOne error if the nat_gw_id is null when nat_gateway_enabled=false
When I filter out null ngw_ids in private.tf then I get value depends on resource attributes that cannot be determined until apply when nat_gateway_enabled=true

Hence changed output_map AZ => null design choice with empty map

why

Users should be able to create subnets without NAT gateways

references

closes #44

@Nuru resubmitted as per description. I kept the tests in the us-east-2 region as advised in #45
I couldn't see a way to keep the mapping to null, but if you can please update. Thanks

Thanks again for your review and fix @Nuru.
I'm just checking the new implementation.
Private subnets without routes to NAT gateways are going to be reasonably common especially considering the more modern network architectures permitted by the gateway load balancer.
Certainly it was one of the reasons I selected this module.
I'll perhaps join your sweetops slack group to see if I can find any more context behind this decision.


Documentation

New Tic-tac-toe repo transfer requires documentation for progress up to current version.

[ ] Fill in project README.md
[ ] Update Package.xml and CMakeLists.txt
[ ] Create a Wiki for past issues, solutions and configurations
[ ] Create READMEs for scripts folders
[ ] create doc folder with project images (rviz configurations and such, not sample images)


Add colour value for Prime Minister's office

Currently this is being hard coded on GOV.UK[1] and needs to be consumed from GOV.UK Frontend as we have for all other departments.

https://github.com/alphagov/govuk_publishing_components/pull/3143

From talking to @owenatgov while this is purely for GOV.UK's use, we might as well just leave it out of GOV.UK Frontend for the time being.


[FEAT] Change pip to micromamba in tests.yml

Now that seagliderOG1 is published to pypi, try to change tests.yml to use micromamba for environment instead of pip.

Why are tests not running?

Checked but there is no outage on https://www.githubstatus.com

May need to roll back. I'm going to merge this even though the tests didn't run.  Not sure whether the actions will only update on merge.


dual stack cluster support - installation tests

Implements dual stack cluster in workflow to test Pre and Post installation checks

/skip-all

Looks like it's working, with no bug needing to be fixed in the antctl code. This is great!

:)

/skip-all


ModuleNotFoundError: No module named 'megaparse.api' - in docker setup

When running 'sudo make dev', i get the below error:
 => => exporting layers                                                                                0.0s
 => => writing image sha256:70203052eb52378760709c628b60f98870d3e701267cf2f010aeb943ea9766c2                       0.0s
 => => naming to docker.io/library/megaparse:latest                                                                0.0s
 => [megaparse] resolving provenance for metadata file                                                             0.0s
[+] Running 1/0
 ✔ Container megaparse  Recreated                                                                                0.0s
Attaching to megaparse
megaparse  | INFO:     Will watch for changes in these directories: ['/app']
megaparse  | INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
megaparse  | INFO:     Started reloader process [1] using StatReload
megaparse  | /usr/local/lib/python3.11/site-packages/pydantic/_internal/_fields.py:132: UserWarning: Field "model_name" in UploadFileConfig has conflict with protected namespace "model_".
megaparse  |
megaparse  | You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`.
megaparse  |   warnings.warn(
megaparse  | Process SpawnProcess-1:
megaparse  | Traceback (most recent call last):
megaparse  |   File "/usr/local/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
megaparse  |     self.run()
megaparse  |   File "/usr/local/lib/python3.11/multiprocessing/process.py", line 108, in run
megaparse  |     self._target(*self._args, **self._kwargs)
megaparse  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/_subprocess.py", line 80, in subprocess_started
megaparse  |     target(sockets=sockets)
megaparse  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 65, in run
megaparse  |     return asyncio.run(self.serve(sockets=sockets))
megaparse  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
megaparse  |   File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
megaparse  |     return runner.run(main)
megaparse  |            ^^^^^^^^^^^^^^^^
megaparse  |   File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
megaparse  |     return self._loop.run_until_complete(task)
megaparse  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
megaparse  |   File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
megaparse  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 69, in serve
megaparse  |     await self._serve(sockets)
megaparse  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 76, in _serve
megaparse  |     config.load()
megaparse  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/config.py", line 434, in load
megaparse  |     self.loaded_app = import_from_string(self.app)
megaparse  |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
megaparse  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 22, in import_from_string
megaparse  |     raise exc from None
megaparse  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 19, in import_from_string
megaparse  |     module = importlib.import_module(module_str)
megaparse  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
megaparse  |   File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
megaparse  |     return _bootstrap._gcd_import(name[level:], package, level)
megaparse  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
megaparse  |   File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
megaparse  |   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
megaparse  |   File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
megaparse  |   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
megaparse  |   File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
megaparse  |   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
megaparse  |   File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
megaparse  | ModuleNotFoundError: No module named 'megaparse.api'

while building the image, this is the only error i see:
=> ERROR [megaparse] importing cache manifest from megaparse:latest   1.6s

https://github.com/QuivrHQ/MegaParse/issues/158 might be related? I am observing the same issue the last tag (0.0.21) still seems to build the container though

I get the same on docker compose up

@chloedia can you take a look

bump I'm very interested in using this software but it throws this error.

I also get this error. I'm interested in using this for a project I'm working on

Work around fork to unblock your research:
https://git.unturf.com/engineering/unturf/megafarce


Optimizing over .bar files and/or JuMP.registered functions

Currently, the MWE below:
using JuMP, BARON
m = Model(BARON.Optimizer)
@variable(m, x)
f = x -> x
JuMP.register(m, :f, 1, f, autodiff=true)
@objective(m, Min, x)
@NLconstraint(m, f(x) >= 1)
optimize!(m)

Returns an error: ERROR: UnrecognizedExpressionException: unrecognized function call expression: f(x[1])
This problem can be solved with other NL solvers such as Ipopt.
I know that BARON requires constraints of a certain form, and thus cannot handle arbitrary functions as f above.  My approach thus far to transcribe nonlinear optimization problems into JuMP.Models (such as .bar files) has been to pose them in a functional form, since JuMP NL programs are picky in syntax, and I didn't want to transcribe large problems by hand.
My questions are two-fold. (1) Is there a way to transcribe .bar optimization files directly into JuMP.Model? Or alternatively (2) is there a way to use BARON.Optimizer to optimize over JuMP.register'ed functions? Thanks in advance for the help!

Not sure I understand (1) completely: Do you wish to take a valid .bar file and use it to construct a JuMP.Model? There's currently no way to do this, but it could conceivably be done. You might find some of the internal routines in BARON.jl useful, e.g. https://github.com/joehuchette/BARON.jl/blob/756f2ff5f6b28f35d8553e035c44fdc9f20b12e5/src/util.jl#L258-L302.
(2) Unfortunately not. BARON expects an explicit expression graph, and only supports a small library of functions. A registered function in JuMP is a "black box" in the sense that JuMP does not have access to the expression graph; it instead computes derivatives through forward mode autodifferentiation. In order to use BARON.jl with JuMP, you cannot use registered functions, and there's really no way around that.

Those were exactly the questions I was asking, thanks @joehuchette. I will likely have to transcribe some other way.


Improve OpenURL()

Please read individual commit messages for each commit for explanation of why.

Thanks for the improvement @jubalh. Agree on all of your comments!


Redefine the executor task slots

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

For executor resources, like available task slots, available memory, previously for push-based task scheduling, the source of truth is managed at the scheduler side. For single scheduler, it's not a big problem by just managing them in memory. However, for multiple schedulers introduced by #59, the cost is too much to maintain the executor resources in the shared coordinator with locks, serializations, deserializations, especially when there are thousands of tasks to be scheduled.
Describe the solution you'd like

It's better to maintain the source of truth of executor resource at the executor side rather than the scheduler side. It's the executor who should know better its resources and who should decide which task to be scheduled for multiple schedulers case. The scheduler can still have the executor resource info as a hint for task scheduling. However, it's not a source of truth. For each scheduler, the task scheduler philosophy is to schedule tasks managed by itself as even as possible to the executors.
Solution:

In the executor, we will introduce queues for each scheduler and will schedule tasks received in a round robin way.
In the scheduler, we will only manage the executor resource info in memory rather than persist them in a shared storage.

Describe alternatives you've considered

Additional context

How would you support all-at-once scheduling in this setup for streaming execution?

How would you support all-at-once scheduling in this setup for streaming execution?

Do you mean long running tasks for streaming case? If so, I don't think there will be many jobs and tasks and I don't think you need multiple schedulers for analyzing plans and scheduling tasks. If for single scheduler, you don't need save every update to the backend storage, neither.

How would you support all-at-once scheduling in this setup for streaming execution?

Do you mean long running tasks for streaming case? Would you submit hundreds of SQLs or jobs to the scheduler for the streaming case? If not, I think single active scheduler will satisfy your needs. Then you don't need active multiple schedulers, and for single active scheduler you don't need to save every update to the backend.
For #59, I think it will work well when there are few tasks and few tasks update. However, when there are thousands of tasks for a job, even a stage, the lock and serialization and deserialization cost would be huge. That's why we added memory cache for the scheduler state previously. However, the cache layer has been removed by #59. 😭

How would you support all-at-once scheduling in this setup for streaming execution?

Do you mean long running tasks for streaming case? Would you submit hundreds of SQLs or jobs to the scheduler for the streaming case? If not, I think single active scheduler will satisfy your needs. Then you don't need active multiple schedulers, and for single active scheduler you don't need to save every update to the backend.
For task scheduling, firstly we should refine the scheduling policy for each executor by employing round-robin way as previous code did. Then for one scheduler, it will evenly schedule its responsible tasks to the executors. Here, we can regard every executor's task slots as a hint to achieve to even task scheduling. Then it will also be fair for multiple schedulers to assign tasks to the executors, for both interactive tasks and long running tasks. And it's the executor who knows better its resources and task running situations. And it's better for the executor to decide which task to run or to pend.
For #59, I think it will work well when there are few tasks and few tasks update. However, when there are thousands of tasks for a job, even a stage, the lock and serialization and deserialization cost would be huge. That's why we added memory cache for the scheduler state previously. However, the cache layer has been removed by #59.

By streaming I just meant scheduling the entire DAG at once so batches are streamed between stages instead of using a disk-based shuffle and full materialization of each stage. Infinite streaming is not really something we need or something Ballista plans to support as far as I know.
For all-at-once scheduling I don't think round-robin scheduling would work. The individual tasks would need to synchronize execution. So if, for example, a task from stage 2 is scheduled on one executor it would block its executor slot until its input partitions start executing on their executors. Under certain conditions I'm fairly certain this could deadlock the system. To avoid that you would have to implement some complicated synchronization logic on the executor side.
I agree that the current implementation involves too much overhead but I think there is a better way to iterate on the current design without radically changing things (and I believe limiting future improvements). Broadly I think the way we were planning to address this is to break the scheduler into two separate workloads

A single leader which is responsible for task scheduling on the executors and can leverage in-memory state to alleviate distributed locking and IO concerns. Executors would report task updates to the coordinator which would handle all scheduling and asynchronously replicate scheduling state to the persistent backend.
N followers which would serve grpc requests (job status, execute query, etc) and handle physical planning, etc.

We would then of course use etcd for leader election in the distributed case (or have the single scheduler do both workloads in the standalone case). If the coordinator dies then we elect a new leader which would load the coordinator state from the persistent backend.
As an incremental step I think we could refine the locking. For simplicity sake, we use a global lock on the active jobs, but we could certainly refine that to use a lock only on a particular job (which is all that is really required for scheduling purposes).

@thinkharderdev and I had a short sync up. We can firstly working on #130. Then flesh out the task slots management


[Proposal] Reset array_keys when filtering a Collection

The current implementation is the following
    /**
     * Run a filter over each of the items.
     *
     * @param  Closure  $callback
     * @return \Illuminate\Support\Collection
     */
    public function filter(Closure $callback)
    {
        return new static(array_filter($this->items, $callback));
    }

array_map has the side effect that it will keep the array keys as they were originally
As a result, when json-i-fying the filtered result, the result will not be a simple array, but an object with key=>value pairs.
For example:
{"4": {"name": "Koen"}, "7": {"name": "Taylor"}}

VS
[{"name": "Koen"}, {"name": "Taylor"}]

I suggest we change the filter method into this:
    /**
     * Run a filter over each of the items.
     *
     * @param  Closure  $callback
     * @return \Illuminate\Support\Collection
     */
    public function filter(Closure $callback)
    {
        return new static(array_values(array_filter($this->items, $callback)));
    }

Which will clean up the keys, and turn everything back to normal.

This might solve the problem @vespakoen mentioned:
    $collection = collect($collection->values());

This might solve the problem @vespakoen mentioned:
$collection = collect($collection->values());

It takes out the values, and then make it a collection again.

You save my day, man :P

This might solve the problem @vespakoen mentioned:
$collection = collect($collection->values());

It takes out the values, and then make it a collection again.

Laravel 5 and later returns a new Collection instance when running values. Because of that, running collect should not be necessary. Resulting in;
$valuesCollection = $collection->values();


Correctly render continue routing

Nodes with continue: true were being ignored,
and only the first match in the routing tree was
being highlighted.
Additionally, each node was incorrectly being set
to continue=true if nothing was received from the
API. The API sends nothing if continue=false (the default).
This change should also be applied to the code in master.
See comments for redacted pictures.

It's difficult to show, so perhaps it would be best to show this to someone in person like @beorn7, but I confirmed that the multi-routing with the continue option on a single "catch-all" route works successfully, and the other routes cease the tree search when they don't have continue: true in their config.

:+1:

Merge into master is not really trivial. I guess we have to cherrypick the change here.

Yes, there's no way to merge into master.


Core libraries still use generic methods comment-based syntax

I noticed that our core libs still use the comment-based syntax for generic methods. Not sure if that's intentional? See https://github.com/dart-lang/sdk/blob/master/sdk/lib/core/iterable.dart#L157
I wanted to see how Dart uses generic methods to teach myself. Perhaps others will, too?
Thanks!

See: https://codereview.chromium.org/2529393002/
It might be triggering some problems with dart2js mirrors, so it's not landed yet.

:-/ It would have been nice to get this in the same release as the generic method feature.

Thanks for the update, @lrhn

This has landed.