V2 - Company Not Signed CLA - Appropriate error message is not displayed when session expired

Prerequisite

Create a CLA group with CCLA enabled
Add github repository for the CLA group
Generate template

Steps to Follow

Login to Github as corporate contributor who has LFID and is cla-manager-designee for the project and company. Also make sure user is logged in to LFX member portal in the same browser session in same or different tab
Navigate to the repository used in prerequisite
Create PR
CLA check fails
Click on CLA NOT SIGNED
Contributor is redirected to Contributor Console
Click on Proceed as a Corporate Contributor
Select Company that has not signed CLA for the project
Leave it idle for few hours or keep performing some actions until bearer token session expires
Click Proceed
Click Yes
Observed error message API-GW : JWKS Plugin - Authorization header is missing. Appropriate user friendly error message should be displayed and user should be asked to login again or redirected to SSO login page to proceed further

@rinkeshbhutwala Can you please update the above error message for below endpoints?
POST : v4/company/' + companyId + '/claGroup/' + projectId + '/cla-manager-designee
PUT : v3/users
GET : v2/project/' + projectId
POST : v1/user/gerrit

@amolsontakke3576 If you are not passing authorization token while calling the API then only you get this response see if you can pass the token never get API-GW: JWKS Plugin - Authorization header is missing.  error message.

I kept the page idle for 2.5 hrs and was able to proceed further. If I face this issue again will reopen the ticket


Coverage

Make sure to npm install, then npm run dev, and try editing a file.
Also fixed the license string to be valid SPDX.

Changes Unknown when pulling 4adab975ce9f762521d03a098aef1dec216ac1db on hildjj:coverage into ** on erdtman:master**.


feat: add Python 3.11 support

Description

Integration tests
Adapter to test:

postgres
snowflake
bigquery
redshift
duckdb
athena

Python version to test:

3.11

Current dill version has no 3.11 support.


chore: update blog posts

resolve https://github.com/open-feature/docs.openfeature.dev/issues/306

Thank you for this contribution, and I am sorry that my tooling integration is marking your checks as failing.
Interesting discussion topic: for mdx a comment has the structure of {/* ...*/}`, and therefore the tooling is complaining. Should we deactivate this check?
The second approach to tackle this is to rename the mdx files to md as they don't contain any mdx functionality. Generally, I would always recommend using md when no mdx functionality is needed. I know you're just trying to improve the blog and not the initial creator. But it is a nice catch.
Not sure what we should do. Maybe @beeme1mr can suggest how we process here :)

Thanks for the description, I just suggest using the docusaurus functionality to the fullest, because as I see it, the blog should look like this, the description and the internal page are already a whole post. But if there is no need, I will close this PR

Hey @Arhell, thanks for kicking this off! Only showing the intro on the main blog page is a great idea. I went ahead and moved all the blogs to .md files and slightly refactored them to look a bit nicer.
This will work for now, but it made me look into ways to improve the blog page even more. The best Docusaus blog page I've found is on Supabase but it's very custom. I love how they created a nice landing page, showing each blog as a tile. The blogs have nice improvements like a back button, related articles, share this article integration, and more. I would love to incorporate some of those elements into our blog.


Improved error message when calling sum without a default value

If sum() is called, it tries to find a default value by constructing it with 0 (e.g. float(0)). This works for numbers, but produces obscure errors if the value cannot be constructed this way (e.g. issue #19525). The error message now states that the problem lies in the default value and suggests to supply one instead.

Please amend the commit message to explicitly say Fix issue 19525 if this fixes that issue.

Ah sorry, that should have been the commit title.

I don't think it really fixes the issue: the provided code example [1.minutes].sum() still doesn't work out of the box. This PR is really just a clarification of the error message for user defined value types (like Duration).

Maybe sum could fall back to Seed.init allthough that would rely on .init being a logical valid state (which might be problematic for structs with explicit factory functions)

@MoonlightSentinel I've been thinking about the T.init idea and I'm not sure yet.


[plugin] repository-azure: add configuration settings for connect/write/response/read timeouts

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
The Azure Repository Plugin supports only single timeout setting which translates to operation timeout in Azure SDK v12. However, there are connect/write/response/read timeouts which could be fine tuned for a particular environment but there is no convenient way to configure those right now.
The following new settings have been introduced:
azure.client.<client>.connect.timeout
azure.client.<client>.write.timeout
azure.client.<client>.read.timeout
azure.client.<client>.response.timeout

Issues Resolved
Closes https://github.com/opensearch-project/OpenSearch/issues/1762
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[X] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

It's probably worth adding a comment to the existing timeout setting to explain what it means now that there are additional timeout settings.

I think the official docs for each plugin is the best way to describe the settings, but comment has been added


Support dark mode

See https://nedbatchelder.com/blog/202007/dark_mode.html / https://nedbatchelder.com/blog/202007/dark_mode_continued.html

Closing in favour of #623


When choosing yarn, should show yarn command

When running a vue init webpack <project-name> If you choose YARN has a package manager it should show the commands from yarn... not npm.

should be yarn install

should be yarn run dev

At the end it doesn't really matter but this is something that has to be dealt in the template, not in cli. Feel free to submit a PR there 🙂


Add shape bool flag to cli

If we are using an SQL database then we need the structure of the underlying API requests to build migrations to create tables to import into. It is a bad practice  to dynamically create SQL tables. So the shape flag will create an output .sql file with the recommended "shape" of the migration based on sampling the API. Nothing will be upstream for these cases, to avoid collision.
gidari --config /path/to/config.yml --shape

@prestonvasquez i would like to work on this as part of Hacktoberfest 2022. Could you attach some beginner resources and assign it to me?

@amoghrajesh I'm not entirely sure yet on how this would work. However, it would end up being a "milestone" or "epic" and be broken into many issues. Do you have thoughts on a path forward?


DRILL-7565: ANALYZE TABLE ... REFRESH METADATA does not work for empty Parquet files

DRILL-7565: ANALYZE TABLE ... REFRESH METADATA does not work for empty Parquet files
Description

Fixed ConvertMetadataAggregateToDirectScanRule rule to distinguish array columns correctly and proceed using other parquet metadata if such columns are found.
Added new implicit column which signalizes whether the empty result is obtained during collecting metadata and helps to distinguish real data results from metadata results.
Updated scan to return row with metadata if the above implicit column is present.
Added unit tests for checking the correctness of both optional and required columns from empty files.

Documentation
NA
Testing
Added unit tests.

@KazydubB, thanks for the review, I have made requested changes.

@paul-rogers, did you have a chance to take a look at new changes?

@KazydubB, thanks much for taking a look! Then we're good to go.
+1


Add filter methods to interactors

This adds a method to interactors for each filter. The method returns the current value of the filter. So if for example, the TextField interactor has a value filter, then we can do something like this:
await TextField('Email').value() // returns the value e.g<EMAIL_ADDRESS>
These methods are somewhat useful on their own, though they should normally not be used for assertions.
// BAD:
await expect(TextField('Email').value()).resolves.toEqual('jonas@example.com');
// GOOD:
await TextField('Email').has({ value<EMAIL_ADDRESS>});

Because they are generally not safe against race conditions. As such, they are more useful for scripting, and debugging.
These methods also provide a foundation for interactor delegation, since they will be dual purpose usable for interactor delegation as well.

We've opted to go for methods for the filter-readers needed for filter delegation.


Question: what is the difference between "covered" and "included" ?

I think the descriptions of the Statuses are a bit ambiguous.
I get that "Covered" mean it(s in the core functionality of Vite. But "shipped out of the box with Vite" means the same to me.
Does it means "Included" are maintained by Vite team, available in @vite npm namespace ?
Have a nice day

Included means that the rollup plugin is used by Vite directly (like plugin alias). Covered means that equivalent functionality is available (through a plugin implemented by Vite, like json support)

oh OK. Makes sense that from a lambda developer like me who only use Vite, the two statuses are equivalent : nothing to add, just read the Vite doc


New function to set the invalidate function name

This is a probably useless proposal. I did it because before writing the invalidation duration log at https://github.com/CartoDB/cartodb-postgresql/pull/163 I was mistakenly thinking that every invalidation function cartodb has (telnet, http and service) had different names. However after writing it I realized that the function name was always the same, and just the content changed.
Just proposing here in case someone thinks it may be useful instead of directly sending it to the recycle bin. If not, please close de PR.
In case somebody things it's useful, just note it's WIP
/cc @rochoa

I'm closing this PR, it will be still searchable in github in case we need it.


[ASCII-2547] Make the GUI serve static files from FS + e2e test

What does this PR do?
This PR updates the way the GUI server serve GUI static files (CSS/JS/Images), it now reads it from the Agent installation directory instead of reading it from memory (embedded in the binary).
This PR also implements new e2e test to check GUI auth flow and static file serving.
Motivation
The goal of this PR is to reduce the RSS used by the Agent GUI server.
Describe how to test/QA your changes
I checked the modifications on Windows Server 2019 and 2022, Ubuntu and MacOS.

Ok for files owned by agent devx loops.
For the QA part, did you do the validation yourself? Do you prefer to have a second person doing it? If so, can you please assign the validation so that it happens before merge?

/merge


Podfile error after attempting to add ANY plugin (iOS specific)

Boring version stuff:

Cocoapods: 1.5.3,
Xcode: 9.4,
Flutter: 0.5.2-pre.8 (Master channel),
Dart: 2.0.0-dev.59.0.flutter-ff815d05a5,

Steps to Reproduce

Create a new flutter project
(Running the app on any device at this point works fine)
Add ANY flutter plugin to the pubspec.yaml file in the dependencies section (I was attempting to use firebase_database: 1.0.0)
Run the app on an iOS device (not hot reload/restart)

Judging from the nature of the error message, I guessing my symlinks might be screwed up. If that is the case I honestly have no idea how to fix it.
Logs
Pressing the run button or using flutter run in terminal:
Launching lib/main.dart on Nathan Bird’s iPhone in debug mode...
Signing iOS app for device deployment using developer identity: "iPhone Developer: Nathan Bird (E3Z3MWA8FC)"
Running pod install...
CocoaPods' output:
↳

    [!] Invalid `Podfile` file: No such file or directory @ rb_file_s_symlink - (/Users/nathanbird/flutter/bin/cache/artifacts/engine, Pods/.symlinks/flutter).

     #  from /Users/nathanbird/AndroidStudioProjects/podtest2/ios/Podfile:43
     #  -------------------------------------------
     #        symlink = File.join('Pods', '.symlinks', 'flutter')
     >        File.symlink(File.dirname(p[:path]), symlink)
     #        pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
     #  -------------------------------------------

    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.5.3/lib/cocoapods-core/podfile.rb:299:in `rescue in block in from_ruby'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.5.3/lib/cocoapods-core/podfile.rb:293:in `block in from_ruby'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.5.3/lib/cocoapods-core/podfile.rb:50:in `instance_eval'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.5.3/lib/cocoapods-core/podfile.rb:50:in `initialize'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.5.3/lib/cocoapods-core/podfile.rb:291:in `new'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.5.3/lib/cocoapods-core/podfile.rb:291:in `from_ruby'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.5.3/lib/cocoapods-core/podfile.rb:257:in `from_file'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/config.rb:191:in `podfile'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:150:in `verify_podfile_exists!'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/command/install.rb:37:in `run'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:52:in `run'
    /Users/nathanbird/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/cocoapods-1.5.3/bin/pod:55:in `<top (required)>'
    /usr/local/bin/pod:23:in `load'
    /usr/local/bin/pod:23:in `<main>'
Finished with error: Error running pod install

'flutter doctor -v':
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v0.5.2-pre.8, on Mac OS X 10.13.4 17E199, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4)
[✓] Android Studio (version 3.0)
[!] VS Code (version 1.23.1)
[✓] Connected devices (1 available)

! Doctor found issues in 1 category.
Michaels-MBP:podtest nathanbird$ flutter doctor -v
[✓] Flutter (Channel master, v0.5.2-pre.8, on Mac OS X 10.13.4 17E199, locale en-US)
    • Flutter version 0.5.2-pre.8 at /Users/nathanbird/flutter
    • Framework revision c65e9d19a4 (13 hours ago), 2018-05-30 16:51:25 +0200
    • Engine revision 16f5cd8106
    • Dart version 2.0.0-dev.59.0.flutter-ff815d05a5

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/nathanbird/Library/Android/sdk
    • Android NDK at /Users/nathanbird/Library/Android/sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4, Build version 9F1027a
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 22.2.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[!] VS Code (version 1.23.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected devices (1 available)
    • Nathan Bird’s iPhone • e4d3c5162a330e23ee66a46b101101d45f991a2c • ios • iOS 11.3.1

! Doctor found issues in 1 category.

cc @mravn-google

@theEpicality I cannot reproduce by following the indicated steps. The Podfile of Flutter master is different from yours, it seems. See https://github.com/flutter/flutter/blob/master/packages/flutter_tools/templates/cocoapods/Podfile-objc.
Are you updating an existing project rather than doing flutter create some_unused_folder? In that case, please be aware that Flutter tooling does not overwrite existing files. My guess is that your pre-existing Podfile has at some point been modified to follow the latest template in the folder setup part in lines 32-33, but not in line 42 where those folders are used. At least, I can reproduce the error you get by adding 'Pods' as first argument to File.join in line 42 of the Podfile created by Flutter for a brand new project. But this is all guesswork. Please let us know, if something else is at play here.

That fixed it.


index.js -> index.ts

@paulirish @samccone last migration file to .ts 🍻
P.S. Index file looks like newly created but if look at blame history, it's saved, I think it's a github diff issue...
Guys you can look commit after commit to watch diff better...

@pedro93 can we land this one?

Go right ahead 👍

Landed 💥
@samccone @pedro93 thx for good review, not really good stuff was from me.
🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻 🍻  then!


Full analysis page only showing followed playlists

Ran spottydata from the web build, and it only shows 1 playlist. It's the one playlist I "follow"/"like" from Spotify themselves. Unliking it causes the application to crash, throwing error

Error: Network Error at e.exports (https://www.spottydata.com/_next/static/chunks/508-f09f51cc7f007f1f.js:1:43584) at h.onerror (https://www.spottydata.com/_next/static/chunks/508-f09f51cc7f007f1f.js:1:39241)

Wondering if anyone else has this issue, perhaps a change in the API? I haven't checked the site in a long time, I don't know if it's actively maintained at the moment.

Hi Ethan. Thanks for raising the issue. I maintain the site as much as I can these days.
I'm curious about a couple of things:

Do you have any playlists outside your "likes"?
If yes, are they private?

It should grab both private and public playlists, but it might not be. I should have time to dive into this by weeks end. It's tough to test these things since I basically need a fresh account I can manipulate!

Great to hear from you! Love the tool. I have lots of both playlists, there are definitely some both public and private. My girlfriend also gave it a try with her account, and got an error as well. The main page pulls seemingly correct details about the total tracks (3764) and playlists (63), but the analysis page seems to have no listening data at all.

Looking at the logs on the backend, I'm seeing a lot of errors related to this:
http status: 400, code:-1 - https://api.spotify.com/v1/artists/?ids=

I'm wondering if there are playlists it pulls that it can't get artist_ids for. This can happen especially if you have a lot of local tracks saved to your profile. There are many other things that can cause it... I can probably add a check  in the code to make sure it finds artist_ids before making that request.

Ran spottydata from the web build, and it only shows 1 playlist.

This is a little concerning, however, since it feels unrelated.


[RFC] Add shorthand syntax for mapStateToProps

Hi,
This is a proposal for a shorthand syntax for connect.
I use Reselect and connect and I almost never use the props parameter in mapStateToProps.
I'd like this shorthand syntax so that instead of writing:
MenuUserPicture = connect(state => ({
    currentUser: currentUser(state)
}))(MenuUserPicture);

we could write:
MenuUserPicture = connect({currentUser})(MenuUserPicture);

Just to give another example from my app.
I find it annoying to have to pass the state attribute to all selectors, and also I often forget the () and write connect(state => {object}) which does not work. The shorthand syntax would permit me to not think about these things.
FolderContentContent = connect(state => ({
    selectedTags: AppCommonStore.selectedTagsSelector(state),
    folderContent: FolderContentStore.folderContentDataSelector(state),
    stamples: FolderContentStore.stamplePagesSelectors.stamples(state),
    stamplesLoading: FolderContentStore.stamplePagesSelectors.stamplesLoading(state),
    stamplesFirstPageLoaded: FolderContentStore.stamplePagesSelectors.stamplesFirstPageLoaded(state)
}))(FolderContentContent);

becomes:
FolderContentContent = connect({
    selectedTags: AppCommonStore.selectedTagsSelector,
    folderContent: FolderContentStore.folderContentDataSelector,
    stamples: FolderContentStore.stamplePagesSelectors.stamples,
    stamplesLoading: FolderContentStore.stamplePagesSelectors.stamplesLoading,
    stamplesFirstPageLoaded: FolderContentStore.stamplePagesSelectors.stamplesFirstPageLoaded
})(FolderContentContent);

But maybe this can be done outside of react-redux. As this is intended to be used with selectors maybe it is better to add this shorthand syntax to Reselect?
FolderContentContent = connect(combineSelectors({
    selectedTags: AppCommonStore.selectedTagsSelector,
    folderContent: FolderContentStore.folderContentDataSelector,
    stamples: FolderContentStore.stamplePagesSelectors.stamples,
    stamplesLoading: FolderContentStore.stamplePagesSelectors.stamplesLoading,
    stamplesFirstPageLoaded: FolderContentStore.stamplePagesSelectors.stamplesFirstPageLoaded
}))(FolderContentContent);

Interesting. I’m not opposed to adding this as it mirrors mapDispatchToProps shortcut. Curious what others have to say.

cc @ellbee @faassen @erikras

I would be +1 to adding this - I agree it's a very common pattern to use and would be great to mirror mapDispatchToProps.
As for the implementation, it would be great to check whether props are needed in any of the selectors (while performing the invariant check), and if so automatically optimize by returning a factory for the selector:
connect.js:
const mapState = isPlainObject(mapStateToProps) ?
    wrapMapStateObject(mapStateToProps) :
    mapStateToProps || defaultMapStateToProps

utils/wrapMapStateObject.js:
import invariant from 'invariant'

function mapValues(obj, fn) {
  return Object.keys(obj).reduce((acc, val, key) => {
    acc[key] = fn(val, key)
    return acc
  }, {})
}

export default function wrapMapStateObject(mapStateToProps) {

  const needsProps = Object.keys(mapStateToProps)
    .reduce((useProps, key) => {
      const type = typeof mapStateToProps[key]
      invariant(
        type === 'function',
        'mapStateToProps object key %s expected to be a function, instead saw %s',
        key,
        type
      )
      return useProps || mapStateToProps[key].length !== 1
    }, false)

  if (needsProps) {
    return () => (state, props) => mapValues(mapStateToProps, val => val(state, props))
  }

  return state => mapValues(mapStateToProps, val => val(state))
}

@tgriesser thanks for your feedback.
Yes it looks like passing props too does not cost much :)
Also I'm surprised that you comment positively on this because I've just discovered "structured selectors" of Reselect. I don't find the name very good but it was built after your issue and seems to almost do what I propose here...
What would my PR help you solve that you can't already with:
connect(createStructuredSelector({selector1, selector2}))
Not sure to understand your comment about using a factory. Is this the little thing added recently that almost nobody has to use but that can leverage better performances? ^^

What would my PR help you solve that you can't already with:
connect(createStructuredSelector({selector1, selector2}))

It would just prevent the need to wrap with createStructuredSelector each time you wanted to use this pattern, along with not requiring adding the reselect library.

Is this the little thing added recently that almost nobody has to use but that can leverage better performances?

Yes, but actually now that I think about it again, this wouldn't work in this situation. It'd require the entire selector memoized at the top level, which can only happen with something like createStructuredSelector. Still would be a useful addition though I think.

thanks for your feedback @tgriesser
I have no strong opinion on this as the createStructuredSelector is already in Reselect and I already use it, but being directly inside Redux would be a bonus.
@gaearon tell me when you have decided, I may rework a little my PR with some code of @tgriesser before merge.
@tgriesser btw, now that you removed your optimisation that finally does not work (don't know why but I trust you), couldn't we just use mapValues(mapStateToProps, val => val(state, props)) in all cases?

@gaearon are you still interested by this PR?
Tell me and I'll update my PR (because with recent optims I now understand better code suggested by @tgriesser )

I can’t promise to merge it but I’d very much like to see a final version of this and play with it.

@gaearon I've updated my PR with @tgriesser suggestions

People did not comment here, so comments received on twitter are:

@CyrilSilverman: the convenience gained is not worth the clarity lost.

@natenorberg: I like it. I actually keep accidentally writing it like that already

@sebas5384: I think the first choice is more easy to understand. Because you should code for other people

I think it's helpful to mention that this PR still allows the current form, so if you don't like it this proposed one, don't use it.

👍 from me.

:+1: from me too, is this being acknowledged by anyone?

We use a wrapper like that within our code so that we dont have to pass mapDispatchToProps all the time.

@jimbolla @gaearon @timdorr I suspect this will be doable in userland with connectAdvanced no?

@slorber Yes. A couple thoughts:

It's certainly implementable with connectAdvanced, and that was my intent behind extracting that method from connect, so that different custom connect APIs could be achieved in userland.
There are extension points in connect that could make this achievable in userland with less work than connectAdvanced, but they are not part of the official API at this time. Exposing those extension points is  more about the effort of writing tests and docs than the app code.
I still think this feature would be nice as part of the official API, and I think the code is refactored well to implement this fairly easily. Again, not a lot of app code, but more work to write tests and documentation.

Ok so I'll let the issue open for now
Also I think it would be convenient to have a convention when "selector" is automatically stripped. This would allow to write:
MenuUserPicture = connect({currentUserSelector, dataSelector})(MenuUserPicture);
and to inject {currentUser: ..., data: ...}
maybe not enough explicit but would significantly reduce boilerplate, and allow to keep "selector" in name of methods

@gaearon @jimbolla @tgriesser it's been a while that this PR is open and it seems I'm not the only one wanting this
Would this get merged if I port the PR to work on master, polish it a bit and add better documentation?

I would like this. Can it also support "factory" style? For example:
connect({
  someThing: (intialState, initialProps) => (state, props) => value
}

I'm thinking this would be optimal for use with reselect where one will probably do:
const makeGetSomeThing = () => createSelector( ... )

connect({
  someThing: makeGetSometThing
}

Hi @jimbolla
For now I've not really used these factories, do you refer to this?
Because what I see as signature in doc is (dispatch => (nextState, nextOwnProps) => stateProps which does not really look like your example signature. Can you give me a doc reference? It seems to me only connectAdvanced takes a factory, and only one
Also could we mix both styles?
const makeGetSomeThing = () => createSelector( ... )
const getCurrentUser = (state) => state.user

connect({
  someThing: makeGetSometThing,
  user: getCurrentUser,
}

I'm not sure it would be easy to detect weither makeGetSometThing is a normal selector or a factory as both are functions

@slorber : yeah, that's what Jim is referring to.  I have an example of using the factory syntax here : https://www.reddit.com/r/reactjs/comments/5dxasp/any_deepdiveadvanced_tutorials_on_reselect/

@markerikson I see your example but still it's different from what @jimbolla show in his code snipped
connect(makeMapState)

VS
connect({
 prop1: makeMapState1,
 prop2: makeMapState2,
])

Maybe I'm missing something, but can you give me the verbose version of the following snippet?
connect({
  someThing1: (intialState, initialProps) => (state, props) => state.something1,
  someThing2: (intialState, initialProps) => (state, props) => state.something2,
  someThing3: state => state.something2,
}

I know.  What I'm saying (and I think Jim is too) is that currently, passing an actual function as the mapState or mapDispatch arg supports the "factory function" approach.  Passing an object as the mapDispatch arg currently does not support "factory functions".  He's asking if your notional "pass an object for mapState would be capable of supporting a "factory function per field" approach.

Hmmm as far as I know if I get an object with functions as values, I can't know if the function will be a selector or a selector factory. At least I don't know how to make a distinction between (intialState, initialProps) => (state, props) => state.something1 and (state, props) => state.something1 because in both cases it's a function that takes 2 params
I took a look at current factory implementation and noticed this comment:

On first call, handles mapToProps if returns another function, and treats that
new function as the true mapToProps for subsequent calls.

This works fine because mapState is assumed to return an object, so when it does not and return a factory, we can init the selector and call it, which will end-up by returning the object we want to inject.
But in current scenario, the final selector is for a given propName, not for all the component props, so the expected value can be of any type, including functions, so it's harder to detect we are in the case of a factory (current test is typeof props === 'function').
What I mean is that if we are going to implement this feature, it will not work if the user is currently injecting functions through mapStateToProps like this:
connect(state => {
  fn: () => (...)
})

I don't really have a usecase for why a user might do something like that so please tell me if there is any?
for mapDispatchToProps it's clear that the user will want to inject functions so how can we know if that function is a factory or the function the user wanted to inject?
So, I we could support factory functions in mapState but not mapDispatch, but it requires assuming that user is not injecting functions through mapState (who's doing that anyway?)

Hi @slorber @markerikson and @jimbolla ,
I wasn't aware that this PR was here and I opened a similar PR that -obviously- got immediately closed by @markerikson. Sorry about that, I did checked in the opened issues if there was a feature request for this, but I did not check the opened PRs... my bad!
I would really like to see this feature shipped and I'm pretty sure that I know how to solve the "factory style" issue that's blocking this PR. Is it cool if I solve that issue in my branch? Or should I try to add a commit to this branch?

Hi again @slorber @markerikson and @jimbolla !
I've added the following commit in my branch that does support factory selectors as @jimbolla had requested in his comment.
I've also added the following test to make sure that this works... and it does 😄
Since this PR seems to be stale, would it be ok for me to suggest that I make the PR from my branch which as of right now has no conflicts with master?

as long as it works i'm ok with that but it's not my decision to merge :)

Would love this right about now! :)

@timdorr , @jimbolla , @gaearon : do we have any actual objections to this in principle, or is it just a matter of making sure it's implemented well and giving the thumbs-up?  Obviously it's been sitting around for a while.  We ought to either push it through, or say we're not going to go with it.

Hi,
Still wanting this feature and it seems I'm not alone :)
I'm free to rework the PR if needed, just ping me when the decision is made.

I have no objections.

I'm fine with it to. This PR just needs a rebase, since things have changed quite a bit since it was created.

The rebase was a bit complicated so I merged manually all changes to a new PR: https://github.com/reactjs/react-redux/pull/723

connect(map<selectors>, map<actionCreators>) seem like a good starting point for beginners. It is:

symmetrical,
uses concepts already introduced by Redux main documentation.
expressive and readable,
powerful enough (100% of our current usage on ~400 components).

It seems to be a saner starting point than connect(kindOfSelector, map<actionCreators> ).


Fix weekend days

prevDaysTextStyle and nextDaysTextStyle overwriting weekendTextStyle
check this issue

Thank you for the PR. Could you please remove the file that affects the build and just give us the PR on the .dart file?

Sorry, man, fixed all issues. Please check code now.

Looks great! Thank you.


Add to iobroker Repo?

Hey,
what about adding the adapter to the repo? :-)
Ingo

I've completed the steps and you already merged the repository. But I cannot see the adapter when I update the repository of my ioBroker installation. Does this have something to do with version mismatch in Github <-> npm?
Sven


how i can run on heroku

there is anyway to run on heroku ?

try
git clone https://github.com/iineva/ipa-server
cd ipa-server
npm install
npm start

https://github.com/iineva/ipa-server#heroku-deploy


build: allow building on Linux without Swift_FLAGS

When CMAKE_Swift_FLAGS is empty, the string substitution will be empty,
resulting in insufficient parameters to the REPLACE operation.  The
quoting ensures that an empty string does not cause that failure.

@swift-ci please test


feat(RecipeDetails): adding running tab

What does this PR do?
Following https://github.com/containers/podman-desktop-extension-ai-lab/pull/1227
Screenshot / video of UI
Uploading recipe-running.mp4…
What issues does this PR fix or reference?
Fixes https://github.com/containers/podman-desktop-extension-ai-lab/issues/1360
Require https://github.com/containers/podman-desktop-extension-ai-lab/pull/1227 and rebase done
How to test this PR?

Closing as too many conflict ~


[QUESTION] How to omit rows in a loop.

Package version, Laravel version
"maatwebsite/excel": "~2.1.0", / "laravel/framework": "5.2.*",
Expected behaviour
Only get rows in colomn A that has a valid date. (Intention is to import these dates in to a date column in my database/mySQL)
Actual behaviour
If not date, method/import fail.  My import file is a bank account statement. Some rows in the "date" column is not dates. It is text, and i would like to omit these rows
Exception stack trace
Screenshot of Excel file
Steps to reproduce the behaviour

Could you provide your code and screenshots of your excel file?

http://laravel.io/bin/Yy0nw

jul. 2016 kl. 13:34 skrev Deniz Aygun<EMAIL_ADDRESS>
Could you provide your code and screenshots of your excel file?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Maatwebsite/Laravel-Excel/issues/852#issuecomment-233605990, or mute the thread https://github.com/notifications/unsubscribe-auth/ALSsuzmoo_7faTbOzCTfhhbLf-6w6owGks5qXLZagaJpZM4JPlM8.

Here is an example of my Excel file that I would like to import. The data headers does not start at row 1. The Excel report I would like to import is dynamic and column headers is not on a fixed row. Is it possible to handle this?

I'm not really sure what you are asking. Like already asked, can you show us some code. It's very hard to understand what you are trying to do.


[SUPPORT] Hudi insert via presto fails

Tips before filing an issue

Have you gone through our FAQs?

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
A clear and concise description of the problem.
To Reproduce
Steps to reproduce the behavior:

Create table with the below syntax

Abhijeet<EMAIL_ADDRESS>3:43 PM (now)
to hoodie-users
Is it possible to insert in hudi datasets via Presto Inserts https://prestodb.io/docs/current/sql/insert.html
CREATE TABLE hive.hudi_poc.engmt_send_cow_1 (
_hoodie_commit_time varchar,

_hoodie_commit_seqno varchar,

_hoodie_record_key varchar,

_hoodie_partition_path varchar,

_hoodie_file_name varchar,

account_id varchar,

contact_id varchar,

created_on varchar,

campaign_activity_id varchar,

bucket varchar

)
WITH (
external_location = 's3://<your bucket>/engmt_send_cow_1',

format = 'PARQUET',

partitioned_by = ARRAY['bucket']

)
2.  Run the below command
INSERT INTO engmt_send_cow_1 (_hoodie_commit_time,_hoodie_commit_seqno,_hoodie_record_key,_hoodie_partition_path,_hoodie_file_name, account_id, contact_id, created_on, campaign_activity_id, bucket) VALUES ('20201024033502','20201024033501_16_1','account_id:1101960345071,campaign_activity_id:7f63f67b-f50c-49dd-b502-0bb9f93a0088,contact_id:1drf59f0-8fe5-11e6-xd45-d4ae529a8639,created_on:1575126360000','83f70002-2327-49fb-b05d-2a2002474476-1_10-9-283_20201023192913.parquet','bucket=071', '1101960345071', '1drf59f0-8fe5-11e6-xd45-d4ae529a8639', '1575126360000', '7f63f67b-f50c-49dd-b502-0bb9f93a0088', '071');
3. I get the below error
Query 20201030_193135_00008_293dc, FAILED, 5 nodes
Splits: 70 total, 52 done (74.29%)
0:01 [0 rows, 0B] [0 rows/s, 0B/s]
Query 20201030_193135_00008_293dc failed: Table format changed during insert
Expected behavior
I want to insert into hudi managed datasets without Spark or deltastreamer.Presto insert is one option I am trying.Is it being supported
Environment Description

Hudi version : 0.5.2 incubating

Spark version : N/A

Hive version : Hive 2.3.7-amzn-1

Hadoop version : Hadoop 2.10.0-amzn-0

Storage (HDFS/S3/GCS..) : S3

Running on Docker? (yes/no) : no

Additional context
N/A
Stacktrace
N/A

Writes are supported currently only via -

Spark Data Source
Hoodie WriteClient API (spark RDD)
Deltastreamer

and Flink support is on the works.

Thanks for the information @bvaradar
Is it possible that I use Merge on Read and then write my own avro row based formats and then run the compaction step every 15 minutes I can get a workable version of real time writes ?

@abhijeetkushe : The log formats used for storing delta records is not pluggable. You would have to look at HoodieLogFormatWriter/Reader and associated classes to understand this part. Trying to understand the reasoning better. Are you trying to implement writes through Presto ? If so, can you explore if Presto-on-spark is possible ?

Apologies for not responding to this earlier @bvaradar .We made an internal decision to explore EMR in continuous mode.Our frequency of events are very high
We also are thinking of trying to integrate Hudi with Nifi which is why a non spark based solution could work best.So we might explore both Spark integration with Nifi and the solution you suggested Presto on Spark


10 implement counter create

Description
Add:

command counter create

https://github.com/PoCInnovation/orbit-db-cli/issues/10
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have added the needed labels
[x] I have linked this PR to an issue
[x] I have linked this PR to a milestone
[x] I have linked this PR to a project
[x] I have tested this code
[ ] I have added / updated tests (unit / functional / end-to-end / ...)
[ ] I have updated the README and other relevant documents (guides...)
[ ] I have added sufficient documentation both in code, as well as in the READMEs

Additional comments
/

a pull requests will be created with all command


Add configuration for Sonatype

Update config and release configurations to release to sonatype / maven central repository instead of jfrog

I'm no expert at GitHub workflows, so take this with a grain of salt, but there's nothing obviously broken about this to me.

Not anymore! (ignore the force-pushes behind the curtain)


R of x gets passed dimensionless x

The functions R_n_of_x etc. get passed dimensionless x but this doesn't get scaled when passed to the FunctionParameter which depends on x [m], e.g.
        inputs = {"Through-cell distance (x_n) [m]": x}
        return pybamm.FunctionParameter("Negative particle distribution in x", inputs)

should be
        inputs = {"Through-cell distance (x_n) [m]": x * self.L_x}
        return pybamm.FunctionParameter("Negative particle distribution in x", inputs)

since thicknesses are scaled by L_x

actually, more consistent with other things (e.g. initial solid concentration) to write it as a function of dimensionless through-cell position, i.e.
        inputs = {"Dimensionless through-cell position (x_n)": x}
        return pybamm.FunctionParameter("Negative particle distribution in x", inputs)

Looking at this again, why do we separate the particle radius and its dependence in x into two separate parameters? Wouldn't it be clearer if it was always a single (dimensional input, dimensional output) parameter?

yeah that would be cleaner. i think we kept it separate so that we had a reference radius to use in the non-dimensionlisation, though i guess you just take the average for that

Yeah, or evaluate at x=0 and x=1 (might have issues with the average not being defined until discretisation)


feat: Added Login Feature.

Description -> This feature enables login endpoint so that it can be used in the Deploy CLI tool.
Achieved: Full login feature
Suspense: How to handle the Recaptcha thing on production? information required.

@Creatoon Create a new issue for taking into account recaptcha for the future. For now it's not a priority.


switch download to 0.1.4

build istio/presubmit

Can you increase istio.RELEASE to point to next release as well ?

Nevermind I ll do it directly on the repo

I wanted to just change the download that in case my archives aren't actually correct and more is needed tag or otherwise with 0.1.4 but I can ammend

Don t worry about it. I ll do it after.

Jenkins job istio/presubmit passed


Audio and Transcript Misalignment

Misalignment of audio and transcript by 2 lines (Frank Senior around 25.25)

This should be fixed now.  Pending testing


[Possible Bug] Arcane Infusions Always Unstable

So, I was going to do my firat infusion in this New tc world, boots of the traveller, fairly easy, and not a very high instablity, negligeble ad the book says
However, I had my setup, all symetrical by the altar (I did had no candles and stuff, but since it was of negligeble instability I thought that's okay)
Then it got very unstable, I died from taint poisoning, it consumed all my essentia, the items blew up and some taint started spawning
Later I tries the same infusion, same symmetry, same everything, but with 40 candles and some skulls (I wemt on a creative world) and the samw thing happened, Is this okay? It certainly doesn't feel okay
Also, not that this matter very much but as a linguistics enthusiast it surely does annoy me, the thaumanomicon isn't consistent, for example, in the Arcane Infusion entry it goes from first person to third, I really like the new first person thaumanomicon, but there some incosistences scatterwd around

I know for a fact that skulls/candles/etc. have to be as symmetric as possible as well. Perfectly symmetric ingredient/table placement with asymmetric skulls/candles will be as unstable as an unstable ingredient/table arrangement. However for me with a few candles and skulls (4 skulls and 12 candles) the  infusion altar will still say its unstable as soon as you start infusing even if you have the stabilizer underneath the central table underneath the infusion matrix (not sure if this is the correct spot, I think the thaumonomicon should be clearer about this), however that will only destroy/blow off items at an insignificant probability if at all.

Also, not that this matter very much but as a linguistics enthusiast it surely does annoy me, the thaumanomicon isn't consistent, for example, in the Arcane Infusion entry it goes from first person to third, I really like the new first person thaumanomicon, but there some incosistences scatterwd around

It annoys me too, I'm working on that at the moment.

Not sure if the stabilizer is working at all. I used it attached/pointed to the bottom of the central altar pedestal (under the matrix) and powered with a vis generator, as well as pointed to the infusion matrix from above also powered with a vis generator. "Minor" instability infusions (so far the thaumium fortress helm and chestpiece) go dangerously unstable for both. If neither of these are the correct positions, the research entry in the thaumonomicon definitely needs to be clearer about this. Also as a suggestion I think the particles from the stabilizer could be less subtle it took me a while to notice it was even on.
Additionally, all of my candles & skulls are between the outer pedestals & the central columns/altar, not sure if this does anything because I never really noticed an effect from this in TC4/5 since infusion was far less unstable.

Basic setup for Boots Of The Traveler:

Without tallow or skulls this will go unstable.
Stable configuration throughout infusion

Just tested that exact setup with the Thaumium Fortress Leggings, a Minor instability, with the stabilizer on and pointing directly at the infusion matrix, still goes dangerously unstable. Might work fine with Negligible but not Minor or above. I'll try my next one with an arcane stone floor since everyone seems to do that even though the Thaumonomicon doesn't mention it.

Yea, that seems weird tho...
I got scared when everyting started blowing up, I'll try and  move the infusion altar somewere clearer, cange te floor to arcane stone, currently it is greatwood planks, and make te setup that Raumis showed... hope that this works

All you need is a bunch of stuff around your altar to make a very high instability very stable.

Yeah, thay still feels like too much, I don't want to have a floating floor filled with candles and skulls (which I can't get in survival) just to be able to craft
I have 32 candles, and a Stabilizer, and still I can't do crafting witout it becoming dangerously unstable
I tried doing te vis amulet with this setup and it still got unstable and blew my items up, I tougth that the Stabilizer would be there to fix that

There's a Reddit post out there with all the math, suggesting formulas that can be useful to achieve complete stability. According to @AnrDaemon it's on the order of 400 candles or such...!

That's ridiculous '-'
I'm gonna have to make a hidden layer bellow the altar with a bunch of candles then (good thing my basic math skills aren't all that good, and I ended up crafting 2 stacks of candles when I just wanted to craft half a stack)

You can also fill the the spaces down on the same level out in a radius of 2 blocks with just candles. Thats not creative i have more mods. I just put them up there so the flux doesn't was them away.

Yeah, the stabilizer works for me... kind of, no crashes, it just barely helps with stabilization
like, without candles every infusion would get unstable
with some candles I can make negligeble instability infusions
and with the stabilizer now I can make minor instability infusions I believe

Unless something has changed (I know, this may feel dull by now, but it's a necessary disclaimer), the active area from which runic matrix drawing essentia and in which it looking for stabilizer is 5 blocks above, 10 below and 12 across to the sides. Again, I emphasize the role of Runic Matrix as an anchor point for all calculations.
Plenty of space to hide your stabilizers, if you are inclined to make your infusions completely stable.
And the relevant reddit post.

The rules behind the scenes have changed quite a bit since b14. For example 10 candles/skulls/whatever is now the cap - more than that is pointless. There is a bug in b14-b16 which ignores that cap, but it is fixed for b17.
Stability is now a resource that gets used every craft cycle. Think of it like hit points. Candles and such adds a small amount of passive 'regen' to that hit point pool every cycle, while Stabilizers adds a much bugger chunk. Stabilizers also allow you to add a buffer of stability before crafting even starts.
You can use multiple Stabilizers and they can accept a lot more power than a single vis generator can generate.
Saying that I have been tweaking the numbers and candles and such will offer a lot more stability out of the box.

Oh, I don't think I can suply a stabilizer with more than the power of a single vis generator since I'm only playing with Thaumcraft (well, some other non-game changing mods as well)
And, I believe the thaumonomicon isn't very clear on this: do the stabilizers have to placed symmetrically as well?

You can connect multiple genrators to the same block, you know?…

How? It doesn't visually attach unless it's directly behind the Stabilizer.  But… since there's no obvious ways to see is the Stabilizer is powered… also it is unclear what is its peak RF/t consumption… Testing is not easy.

Looking forward to these indicators in beta 17+ then I suppose. :)

That explains it. I had only one vis generator hooked up to my stabilizer.  Do vis generators take workbench chargers or will they in the future? Also I'm still not clear on what the stabilizer needs to be aimed at, the infusion matrix itself or just in the general area of the altar?

The Runic Matrix itself I believe.

The matrix itself. Once I reloaded the world, there was a gentle halo coming from stabilizer into the matrix' direction.
There's probably some synchronization issues there.

Yeah there’s a couple more issues there that might be synchronization-related; the infusion matrix text (seen with goggles) doesn’t seem to update when infusion isn’t occurring, it just keeps the last stability value from the last infusion, then all of the sudden today it reverted to very stable quite some time after my last infusion (maybe after restart and/or chunks reloading).

Why are we using RF / FE to power magic again?... Never quite got that
Anyhow, I could place more than one vis generator pointing at the same stabilizer, but the stabilizer only has on inpuit in its back side

I'm wondering the same. Besides the obvious bonus of integrating with more technical mods, not sure how this fits in the magical theme. Hoping there's additional lore or development or stuff that explains it.

Consider it returning to the roots (TC1/2).

[Suggestion] Maybe if the altar zap you first time, the Thaumonomicon gain a new Addendum at Infusion for explain some more specific stabilizing hints. What counts, what factors weighing more.


Deployment DSEQ 827274 fingerprint and ports changed after 3 days

Issue type
BUG
Akash version

v0.12.1
Akash token balance

balances:

amount: "1100765829"
denom: uakt

What happened
After 3 days the following deployment's node fingerprint and external ports change.  This leads me to believe that the container is periodically being recreated.  Original deployment was 05/19/2021.  The problem occurred the night 05/21/2021 into 05/22/2021
This deployment is a "Gravity Bridge Testnet 2 Validator Deployment"
DSEQ 827274 from account address: akash14s4tlmlvy0vsps05csf8l80m7nqxmau38tehp9
Original ports were:
http://gravity-bridge.paullovette:31059/status
http://gravity-bridge.paullovette.com:31059/status

Current ports are:
http://gravity-bridge.paullovette:30032/status
http://gravity-bridge.paullovette.com:30032/status

What did you expect to happen
Fingerprint and Ports to not change once the manifest is deployed by the provider.
How to reproduce it
Periodically try to access the current links above which are working as of posing this issue.  As noted above the problem occurred after 3 days.
Environment

Deploying from Ubuntu Linux 20.04 in an Oracle VirtualBox on Windows 10
Anything else we need to know?

Next steps
You may join developer chat for community support.

I just caught this today but I think it is indeed every three days the deployment fingerprint and ports are changing:
New port for 26657: (the others also changed)
http://gravity-bridge.paullovette.com:32416/status

I have been noticing this as well. The ephemeral ports change during a running deployment. I can understand them changing when you update the deployment (although this is challenging in itself) but changing during a running deployment is pretty difficult to manage.
Is this likely to be looked at soon? It impacts how we're advising people to integrate with Akash. If the ports can change at any time, it's pretty impossible to use Akash for anything other than port 80 hosting.

Luckily I've managed to take some screenshots of the deploy tool that outlines this issue.
Deployments yesterday. Note DSEQ 1397104 - port 32316:

Deployments today. Note DSEQ 1397104 - port 30407:

The same deployment with the changed port, but showing observed_generation as 1, so a new container hasn't been started at any point:

2 of the 4 deployments changed ports. Interestingly also the only two that had escrow charges, even though they're all running the same config


Documentation Testing

I would love to develop some testing with codeception within yii2. I'm however having troubles with simply getting started to setup the environment. I've been toying around for a while now and all I'm getting is a succeeded testing run because he detects no tests at all!
If anyone could get me started on how to get running i could add to the documentation myself later on.

Check how it's done in basic/advanced apps.

Basic concepts are well described in codeception docs.

@samdark well i found it very hard to understand how to configure a test environment for codeception and even after reading the docs still don't understand the differences between functional and acceptance testing.

don't understand the differences between functional and acceptance testing

There is no technical difference between functional and acceptance tests - it is a philosophic difference between them.
Acceptance test means the one explicitely defined by the customer or project owner, reflecting some high level system demand. While functional test means any test performed over the complete product.

That explains it much better thanks @klimov-paul


Implement retrying in master and backoff in workers

This PR contains 3 commits:

Change the way background Master thread is created. (The new implementation is more inline with Debezium implementation). Additionally, the Session and Cluster objects are properly closed.
Implement retrying in Master. Previously in case of any exception in Master there would be no retrying. After this change, if there is an exception (for example CQL query error), the Master is effectively restarted. To avoid unnecessary code complexity, a fixed back-off time is used (10 seconds).
Implement back-off in workers. In case of an exception in Worker (for example CQL query error), the Worker immediately queued a retry TaskAction. That could cause a big load on Scylla cluster (retrying as fast as possible). To mitigate this problem, I added a backoff before a retry. By default, an exponential backoff with jitter is used (10ms backoff doubling up to 30s).

Question to @haaawk: currently I store "worker configuration parameters" queryTimeWindowSizeMs, confidenceWindowSizeMs, workerRetryBackoff in Connectors object (as it was already accessible in all necessary places). Is this approach OK or should I store it somewhere else?

@avelanarius it seems that the parameters apply not only to kafka connector but also to the pure library as well. With current approach, can we change the param values in replicator and other apps that use core lib?

@haaawk Added the ability to change those parameters in CDCConsumerBuilder, so that in the future replicator/printer could change those values. Scylla CDC Source Connector already exposes those parameters to the user (with default values).


The overlay decorator misplaced to be on the right bottom corner of the given range.

Here is the code showing the highlight decorator correctly placed, but not overlay decorator placed:
var someDiv = document.createElement('div');
var range = new Range([1, 1], [1, 10]);
var marker = editor.markBufferRange(range);
someDiv.textContent = "IViewerContext";
editor.decorateMarker(marker, {type: 'overlay', position: 'head', item: someDiv});
editor.decorateMarker(marker, {type: 'highlight', class: 'linter-error'});

To position my hint above the text, I had to do:
var expressionLength = range.end.column - range.start.column;
someDiv.style.position = 'relative';
someDiv.style.left = - (expressionLength * editor.getDefaultCharWidth()) +  'px';
someDiv.style.top = - (2 * editor.getLineHeightInPixels()) + 'px';

Unexpectedly, setting position: 'tail' adjusts the start of the range!
Also, it still starts rendering from below the range's given row.
/cc @bolinfest @maxbrunsfeld @benogle

+1
Also, the document tells nothing about how to use the overlay decorator, e.g. the necessity of the item field.

this is still happening in 1.17.2. any update?

Facing the same issue.


dcs-type patroni is not documented in README

I guess the main vip-manager documentation is the README, but the new patroni DCS-type is not (yet) documented there.
Also, I guess if the Patroni REST API has basic auth (username/password) set, vip-manager cannot use it right now?

Yes, there is lack of documentation.
Yes, no support for auth yet.

Also, I guess if the Patroni REST API has basic auth (username/password) set, vip-manager cannot use it right now?

For some reason I thought vip-manager wouldn't work if I set authorization in the Patroni REST-API, but by default, the read-only endpoints are still reachable, so vip-manager works fine for me.
I was working on some basic auth stuff and had it building, but I need to find some time to test it properly.


Fix timeout testing

Two patches that make the timeout tests to pass in the Ubuntu CI infrastructure:

Ignore the proxy.
Use a reserved address space that is more guaranteed not to be routable.

Details and explanations are in each commit log.

Thanks for merging! As for the private cargo feature, well, I don't really have an opinion. If you want to try something and wonder how it would fit in Ubuntu's CI, feel free to ping, I can help with some testing :-)


Indentation error

Adding to string within a script using tags with spaces causes indentation of next line to go wrong.
The issue seems to be having a space between div and class

I'm not able to reproduce this issue in latest Insiders, if you are still seeing it you can try set "editor.autoIndent": "advanced" in your settings.


Seed Picker Emergency Recovery Is Unclear

It tool me a long time to learn how to sign a transaction using the wallet generated by seed picker.
Using the an Electrum wallet was an exercise in futility, and when I tried using an old trezor one, I wasn't able to use a hardware wallet.

It finally worked when I entered the seedpicker wallet as a Trezor in the device tab instead of "other. "
Since the seedpicker wallet is only supposed to be used in an emergency, I was still able to keep the multi sig wallet airgapped, until I signed with the emergency Trezor.
Trezor would not have zero knowledge of seed beforehand.
Anyway, I thought about doing a pull request. I want to amend the paper wallet with the Trezor recovery and perhaps explain the process

Thanks, a PR would be great!
The main issue is that I'm not happy with any of the 3rd device options for emergency recovery (and reusing a 2nd device exposes a quorum of your seeds to a single device/manufacturer), so I'm kind of kicking that can down the road:

Specter-DIY is great, but they're not available for sale :(
Trezor does work, but has serious limitations.
BitBox02 is not perfect (also doesn't use its SD card for signing so doesn't support an airgap), but at least is stateful. When they add support for Specter-Desktop I'm going to look at it in-depth.
My airgap CLI wallet multiwallet is great, but CLI is too hard for most people. I haven't yet released my gui version, which is better in every way except software wallets are still inherently problematic. Eternally quarantining is easier for most people vs CLI/tails so this may be viable.
Specter-Desktop can upload your seed to your internet-connected bitcoin core node, but this is a bad practice that should be discouraged.
BlueWallet is working on a multisig offering that is also inherently risky, but for normies a mobile phone is probably less insecure than a general purpose OS. Ditto Gordian/Fully Noded, but those products unfortunately make Electrum look easy-to-use :(

So basically, I'm looking for a third device I can recommend (even with limitations/warnings) before investing in re-writing this section. That's part of why I'm building the GUI wallet!

Got it. I like your airgap wallet. It looks promising.
It's probably just best to wait for that. Trezor does kinda suck, but it would work in an emergency. I haven't tried restoring the wallet with a ColdCard yet, but I'm fairly certain that would work too.


Lifecycle events - Any destroy/unmount/componentWillUmmount equivalent event?

Often times we need to perform some cleanup before a node is removed from DOM, such as clearing timeouts, etc.
Are there any such callbacks/events that will be called prior to unmounting?
Skimming through reconcile(), I don't see anywhere the presence of such logic before .removeChild() is called.

Yep, reconcile doesn't have unmount callback, and was designed without any lifecycle managing in mind.
The problems that I see with implementing unmount cb:

It will affect performance on clearing and removing nodes.
For lifecycles to work properly, all system need some way to propagate these events throughout the tree up and down, so you don't need to carry unmount housekeeping on each reconcile call level. Like if you have rendered list of components that have array inside each/some of them. This is the point where Virtual DOM systems fits really nice.

I have some ideas on how to redesign API to fit such cases better.
Will keep this issue open and update once will be implemented.


Add createComponent spec

What does this PR do:

Adds 2 new devDependencies: sinon and sinon-chai.
Adds a new test: createComponent.spec.js

Where should the reviewer start:

Diffs
npm install
Run npm test

Unit and/or functional tests:
Unit tests added and all passing.

:+1:


Enforce basic authentication for haproxy stat page

Please add stats auth {{__haproxy_username}}:{{__haproxy_password}} in the section "frontend http_stats" (and the necessary vars in the var file), because everyone who know and has access to the HAProxy stat page can put servers into maintenance mode or drain traffic from them wihtout authentication.
https://github.com/HCL-TECH-SOFTWARE/connections-automation/blob/9eb050fdad217266a0fed3e2e35ebaf9f0b20d62/roles/third_party/haproxy-install/templates/haproxy.cfg.j2#L28-L31
more information Exploring the HAProxy Stats Page (What You Should Know)

Hi Martin, thank you for the feedback. An internal ticket has been created and will be review by the squad


Topic deletion logic doesn't work

Describe the bug
The deleted topic is still displayed in the list after a refresh or a few minutes later. Tried deletion from UI and and through API.
Set up
./mvnw clean install -Pprod
docker-compose -f ./docker/kafka-ui.yaml up
Pre-Request
The cluster has topic with the name "Topic1"
Steps to Reproduce

Go to the Topic1 view
Click "Delete topic" and click "Confirm"
Refresh the page

Expected behavior
Topic1 is removed, not available in the topics list.
Screenshots
https://user-images.githubusercontent.com/44370201/126488625-35c37b11-6766-40e3-96fe-57d9c099f9be.mov
Additional context
(Add any other context about the problem here)

I suppose it is because Kafka not delete topic immediately, it only mark topic for deletion. The deletion actually happens at the time when Kafka decide to do so. Also actual topic deletion operation will be completed if cluster configured with "delete.topic.enable=true" option. For me, best way is to show that particular topic marked for deletion.


Move to ReportBatchItemFailures Mode. Fixes #22

The idea here is to support the newly released (https://aws.amazon.com/about-aws/whats-new/2021/11/aws-lambda-partial-batch-response-sqs-event-source/) SQS features for per item batch failures with SQS. The docs can be found here  (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting) with some typos because the case of the interface is wrong. See https://github.com/awsdocs/aws-lambda-developer-guide/issues/320
Benefits

Never return errors from the handler. Avoid concurrence blocks!!!
Allow folks to use whatever Batch size makes sense for them.

OK, I ran this thru its paces and everything seems good. Did ~100K jobs where each had a small % of failing and needed to be reported as an item failure. Seems visibility timeout is working well too for our mimic of the Sikekiq backoff. Here are some CloudWatch metrics of each of the 3 batches of ~100K jobs. Only difference between them is the BatchSize. First was 1, second 2, third 5. Here is what the data show me:

By removing handler job failures with ReportBatchItemFailures we can SCALE as expected!
SQS & Lambda always finds the concurrent sweet spot after scaling up quickly. Few minutes.
Batching works as expected. But did not (for this test) reduce concurrency needs. YMMV.

Jobs Lambda Metrics

Jobs SQS Queue Metrics

CloudWatch Insights for ActiveJob Retry


ApexUnit is unable to distinguish test class names by their namespace.

We've got a rather large code-base with about 100 test classes. This code is part of a managed package. The code also depends on other managed packages, with their own package namespace. So, our development environments contain both un-namespaced Apex test classes that are part of the package we're developing, plus namespaced test classes that are part of managed packages that are installed in the developer org. In some cases, the test class names collide across packages. For example, the installed package with the namespace "PackageA" contains a test class called Test_CustomQualification, and the package under development also contains a test class called Test_CustomQualification. If I create a test class manifest that contains Test_CustomQualification, ApexUnit seems to be unable to distinguish the two identically named test classes, and occasionally runs PackageA.Test_CustomQualification instead of the un-namespaced class that I intended to run.

I'm thinking that one possible way to solve this would be to add a command line option that would allow you to specify a comma separated list of package namespaces to exclude. So, in my scenario, I would exclude "PackageA" test classes during execution.

Hi @tfuda ,
Thanks for reaching out. We will look into the issue. Currently the tool picks up only one test class and namespace was not considered. We will look to make changes to facilitate this request.
Thanks,
Adarsh

This is an enhancement request that was not under the initial scope

Perhaps a more simple solution would be to confine the tests to those test classes in the org's default namespace. Right now it appears that the code does something like this [SELECT * FROM ApexClass WHERE Name = :nameFromManifest], without considering ApexClass.NamespacePrefix. It seems to me that the most common use case for ApexUnit is to run your local unit tests (those in the org's default namespace, which may, or may not be blank). Typically you aren't concerned with running test classes that are part of installed managed packages. The complicating factor with this approach is that I don't know of a reliable to determine the org's default namespace without first querying the ApexClass table to retrieve the NamespacePrefix of a class that you KNOW will exist in the default namespace of the org. I'll do a bit of digging to see if I can come up with a better way of determining the default namespace that doesn't require any carnal knowledge of the Apex classes in the org.

The issue is resolved in https://github.com/forcedotcom/ApexUnit/pull/18
All classes by default are resolved to the default namespace.


New operator: switchTap

I want to wait until an observable completes but  I want to ignore the result. Basically I want to execute an asynchronous operation inside a flow of observables but I don't want to replace the current value of the pipe, I just want to execute async operations and wait until they finish. switchMap/mergeMap will solve the problem but they also replace the current value. All I need is an asynchronous tap.
of(1).pipe(switchMap(() => of(2))).subscribe(console.log); // expected: 1
Proposal: switchTap
export function switchTap<T, R>(next: (x: T) => Observable<R>): MonoTypeOperatorFunction<T>;
export function switchTap<R>(observable: Observable<R>): MonoTypeOperatorFunction<R>;
export function switchTap<T, R>(
  arg: Observable<T> | ((x: T) => Observable<R>)
): MonoTypeOperatorFunction<T> {
  const next: (x: any) => Observable<T | R> =
    typeof arg === 'function' ? arg : (x: any): Observable<T> => arg;
  return switchMap<T, T>(value => next(value).pipe(ignoreElements(), concat(of(value))));
}

Usage:
of(1).pipe(switchTap(of(2))).subscribe(console.log) // 1
or with a function:
of(1)
      .pipe(
        switchTap(value => {
          console.log(value); // value: 1
          return of(value + 1);
        })
      )
      .subscribe(console.log); // 1

What do you think?

with introduction of pipeable operator, we do recommend to create custom operator on user level (https://github.com/ReactiveX/rxjs/blob/master/doc/operator-creation.md#publish-your-operator-as-a-separate-library) instead of adding it into core.


Console.logging from async mode

hey, thanks for working on this project! it's super neat.
I'm trying to do an async call and then print some data to the terminal, and I'm a little confused by the example. Boiled down, something like this:
setTimeout(function() { console.log("hello!"); }, 3000);

How would I get that console output to show in iPython?
Thanks!
Kevin

Ah, I get that there's a _.async callback I can create, but when I try to use it like this:
_.async(function(deferred) {
    setTimeout(function() {
        console.log("hello!");
        deferred.resolve();
    }, 3000);
});

I get the following error:
ReferenceError: _ is not defined
  at evalmachine.<anonymous>:1:1
  at Object.exports.runInThisContext (vm.js:74:17)
  at run ([eval]:171:19)
  at onMessage ([eval]:75:41)
  at process.emit (events.js:110:17)
  at handleMessage (child_process.js:324:10)
  at Pipe.channel.onread (child_process.js:352:11)

However, the console output appears!

I am not seeing the "_" is not defined error. What I did see was "setTimeout" is undefined and that was because of missing globals, which I now added.
Thanks for reporting.


Incorrect 'Last updated' timestamp on transaction summary

Go to https://beta.flathub.org/donate
Enter desired amount and press 'Make Donation' - note time - e.g. 12:00:00
Whoops! Error: Failed to load Stripe.js - happens for every attempt so I guess it's expected
Press 'Go to User Wallet'
Press 'Cancel Transaction' next to the generous donation - note time - e.g. 12:00:30
Press 'View'

Current behavior:
'Date created' and 'Last updated' timestamps are the same
Expected behavior:
'Date created' is 12:00:00 in this case
'Last updated' is 12:00:30 in this case

It looks like this is a backend issue as frontend component is using the updated date: https://github.com/flathub/website/blob/4b9a3540613853ccaa7a2caa835ce4625951e005/frontend/src/components/payment/transactions/TransactionListRow.tsx#L24

This seems to be gone with the csp issue resolved


add debug mode for rancher machine with rke2

Problem
in rke2 provisioning mode there is no way to enable debug mode for machine driver.
Solution
This PR fix the the problem by checking if global rancher log level is trace and if this is the case set --debug when launching machine provisioning pod

fix #39377


feat: implement checkAutoDeductions for CairoVM

Description
In order to make sure that all assigned memory cells are consistent with their auto deduction rules, we need to implement a checkAutoDeductions method for CairoVM structure.
References

Reference to the Rust implementation: https://github.com/lambdaclass/cairo-vm/blob/8a2ef24c1ca258f1d1d230cbbd1478cd1d4cf9db/vm/src/vm/vm_core.rs#L674-L697
Reference to the Python implementation: https://github.com/starkware-libs/cairo-lang/blob/caba294d82eeeccc3d86a158adb8ba209bf2d8fc/src/starkware/cairo/lang/vm/virtual_machine_base.py#L470-L475

Please assign this to me

Please assign this to me

Assigned


Jun'23 UKD-UKD-S6 (C WP3.4) Quarterly Update

IPC form available at  https://ls.st/ikc-qu
include under achievements that deliverables have been approved by Recipient Groups.
mention any change requests
review LSST:UK Risk Register

04/JUL/23

Link sent to google form sent out 15/JUN/23

11/JUL/23

submitted by @sugatakaviraj
copied uploaded to WP3.4 (S6) wiki page by @tms-epcc


feat: MergeSort

Feature Request
Describe the Feature Request
Implement a MergeSort algorithm in Cairo 1.0. Based out of this Cairo 0 implementation.
Describe Preferred Solution
It includes utils methods on Array like split_array and fill_array as those are needed for the sorting algorithm to work.
The main mergesort_elements function has the following signature
fn mergesort_elements(mut arr: Array::<u32>) -> Array::<u32>

An internal function _merge just merges two arrays together :
fn _merge(
    mut left_arr: Array::<u32>,
    mut right_arr: Array::<u32>,
    mut result_arr: Array::<u32>,
    left_arr_ix: u32,
    right_arr_ix: u32
) -> Array::<u32>

The first implementation is not generic as we would need to be able to restrict generic type parameters by trait in order to apply < operator on elements.
If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

[x] Yes
[ ] No

Hello there, may I take this one?

Hello there, may I take this one?

I've already done most of the work on it, will submit a PR. Happy to get your help on it tho!

I've already done most of the work on it, will submit a PR. Happy to get your help on it tho!

Ah cool no worries! I'll try to get another one 🙂 Just saw the pr, looking good 💪


Cannot select column with upper case letter in name

Desc
I try to query a column with upper case letter in its name and get an "Invalid identifier" error.
Reproduce
mysql> create table test (Column_1 int, column_2 int, ts timestamp, TIME INDEX (ts));
Query OK, 1 row affected (0.02 sec)

mysql> select Column_1 from test;
ERROR 1815 (HY000): Failed to execute query: select Column_1 from test, source: Failed to execute sql, source: Cannot plan SQL: SELECT Column_1 FROM test, source: Error during planning: Invalid identifier '#column_1' for schema fields:[test.Column_1, test.column_2, test.ts], metadata:{"greptime:timestamp_column": "ts", "greptime:version": "0"}

mysql> select column_2 from test;
Empty set (0.01 sec)

Looks like not a bug, you can quote the column name:
mysql> select 'Column_1' from test;
+------------------+
| Utf8("Column_1") |
+------------------+
| Column_1         |
+------------------+
1 row in set (0.01 sec)

There is a discussion in datafusion https://github.com/apache/arrow-datafusion/pull/2211#issuecomment-1098242516


WeeChat relay protocol & SSH tunnel support

As there is issue about Quassel support (https://github.com/communi/communi-sailfish/issues/73) I thought I could open this.

Documentation: https://weechat.org/files/doc/stable/weechat_relay_protocol.en.html

It doesn't require SSH tunnel support, but WeeChat-Android (WeeChat relay client for Android) supports it and it avoids the need of opening a port as you can just SSH tunnel to plain text port.

+1
Currently I'm using the irc-relay protocol of weechat together with sailautossh for creating an ssh-tunnel on-the-fly, which works pretty well. This combination works reasonably well, but true weechat support would be better, of course ;)

@lyro I'm interessing about your solution ?
How that's work ? I want to acces to a remote weechat client from my communi.
Do you use relay feature in weechat to connect to it throught the communi client ?
Thanks for help.

@espritlibre Yes, I'm using the relay feature.

I believe neither of the communi authors have the resources to implement full-blown WeeChat support at this time. If someone feels up to the task, you are welcome to submit a pull request.

I just try to use weechat relay and communi but that's KO.
In weechat i configure
/relay add weechat 9001
/set relay.network.password ********
And in communi I use IP of server and port and the pass specify..
With glowing-bear.org it's OK but circle turn and turn with communi and not list a channel.
Do you see a problem ?
Thanks

WeeChat Relay supports two protocols: IRC & Relay Protocol.
The IRC relay should work as Communi Sailfish is a IRC client, but it's limited to only iRC buffers and probably single network per IRC relay.
This request is about the WeeChat Relay protocol which relays everything including core buffer, script buffers and all networks.

OK, I just understood that when i read /relay help ...
And for my usage i had to use a relay weechat
So +1 for me for support weechat relay

Realise that I never commented here. I had some work started on this:
https://github.com/rburchell/communi-desktop/commits/master-weechat
The part that was "hard" and missing was UI for configuring these sort of connections. A relay connection multiplexes multiple server connections, and AFAIR Communi doesn't really expect that: assumes a single server is a single connection. That is an unsolved problem, and I'm not sure when/if I'll get back to do that.
I imagine that this should somehow create virtual connections from everything on the relay connection. That seems the most ideal UI, even if it isn't the easiest to achieve.

I would not recommend using that code without some audit/cleanup, btw. Protocol handling is always a nasty thing, and I don't think I did a full degree of due diligence in making sure it was safe.

I close this here. I doubt we implement things like this as we removed the quassel support and will clean up the mess it caused.


Show Search Results With PDS Styles

💪 Motivation
I want to see these json results https://pds.nasa.gov/api/search-en-gamma/1.1/classes/collections??keyword=mars&wt=json in PDS styles
📖 Additional Details
The api results are returned in JSON. Style the results to show human readable as stated in the designs:
⚖ Acceptance Criteria
The json results should look similar to the screen shot of the designs above.
⚙ Engineering Details
Use material ui components to show a similar layout to the designs.

Showing results like this now:

Need to clarify some details from @edwardbarraza when he gets back.
Used a caret instead of an circle arrow as shown here. There aren't any in material ui.

Will continue #77

The code is available in wds-react repository in the main branch


arm64 iOS simulators don't support array layers unlike the actual devices

Calling vkGetPhysicalDeviceImageFormatProperties with the arguments below fails on the arm64 iOS simulator on my Apple Silicon MacBook Pro:

format: D32_SFLOAT_S8_UINT
image type: VK_IMAGE_TYPE_2D
tiling: VK_IMAGE_TILING_OPTIMAL
usage: VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT (36)
flags: 0

Works fine on the physical devices MacBook Pro (2021), iPad Pro 12.9" (3rd generation) and iPhone 12, but not on the simulators.
Note that vkCreateImage will succeed with the same arguments, but calls to vkCreateImageView for the created image will fail with the following error: [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCreateImageView() : This device does not support rendering to array (layered) attachments. and returns VK_ERROR_FEATURE_NOT_PRESENT.
I'm also seeing -[MTLSimTexture newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:]:1371: failed assertion 'Device does not support texture swizzle.'. Might be another issue though. Maybe the simulators simply don't support these features from the Apple side, and not MoltenVK?

Closing this as it seems that it's indeed on Apple's side.
https://developer.apple.com/documentation/metal/developing_metal_apps_that_run_in_simulator?language=objc for reference if someone else gets confused by the same issue. "Simulator doesn't try to exactly simulate the GPU from the iOS or tvOS device you are simulating. For example, if you are simulating the iPhone XS, Simulator does not try to emulate the capabilities of an A12 GPU. Instead, Simulator translates any calls you make and directs them to the selected GPU on the host Mac." still does not mean that we get access to newer Metal family features on Apple Silicon, for now.


Android: NativeModules.FileTransfer does not exist

Related to #13
I'm on RN 0.32 and your module gives me "Cannot call upload of undefined" because NativeModules.FileTransfer does not exist.
Your module seems to depend on NativeModules.FileTransfer, but this does not exist for me (I console.log it out and it's NULL)

Any luck?

@aroth @bouchertommy Is this module still maintained?

@GeoffreyPlitt  I haven't had the chance to look -- especially not first thing on a Monday. Yes, this module is maintained, but in my spare time and I've been quite busy these days.
I hoped to take a look at this issue within a week or so.  Can you please provide sample code? It'll simplify & speed up matters on my end.

Thanks!
RN 0.32, on Android, any call to RNUploader.upload() will fail with "Cannot call upload of undefined". So it's broken for all Android users, as of RN 0.32, perhaps earlier versions too.
The problem is that NativeModules.FileTransfer is NULL now, and your module seems to depend on it being there.

That's the problem -- this module doesn't yet officially support Android.
Two options:

Apply the changes in this PR: https://github.com/aroth/react-native-uploader/pull/13
Install from this fork: https://github.com/g6ling/react-native-uploader

Ah, thanks!


Ensure keyword list only contains strings

Hi
I ran into an issue when using flags fetching keywords from multiple of the available sources were one or more keyword ended up in the keyword_list variable as an integer, this means that the call to sorted would fail as strings and integers cant be compared.
This fix ensures that the list only contains strings before trying to sort.
However, I do not think this is the fastest/optimal solution. I might be better to ensure that all the individual lists added to keyword_list is only containing strings.
Happy to help debugging more, I didn't have too much time looking into this, but it is coming from activating one of the following keyword flags:
[export]
exiftool = true
exiftool_merge_keywords = true
exiftool_merge_persons = true
finder_tag_keywords = true
keyword_template = [ "{place.name.country}", "{place.name.area_of_interest}", "{place.name.city}", "{place.name.state_province}", "{searchinfo.venue_type}", "{searchinfo.venue}", "{searchinfo.activity}", "{searchinfo.holiday}", "{searchinfo.season}",]
person_keyword = true

Thanks for the PR! I think At first this puzzled me as osxphotos handles all nearly all metadata internally as unicode text.  However, I notice you're using exiftool_merge_keywords and I just did a test: if I set an int keyword in exiftool (e.g. 2021) exiftool handles it fine but when reading the keywords back out with exiftool, it converts it to an int in the resulting json.  I think this is culprit.  I'll merge your fix then go fix the exiftool handling.

Thanks for the PR! I think At first this puzzled me as osxphotos handles all nearly all metadata internally as unicode text.  However, I notice you're using exiftool_merge_keywords and I just did a test: if I set an int keyword in exiftool (e.g. 2021) exiftool handles it fine but when reading the keywords back out with exiftool, it converts it to an int in the resulting json.  I think this is culprit.  I'll merge your fix then go fix the exiftool handling.

@all-contributors please add @kradalby for code

@all-contributors please add @kradalby for code

I think that sounds reasonable. I figured ut must be somewhere in the back and forth with exiftool, but didn't have the time to find it exactly. It would probably be more efficient to find the concrete place so there is not a full loop and cast for each keyword for all photos.

I think that sounds reasonable. I figured ut must be somewhere in the back and forth with exiftool, but didn't have the time to find it exactly. It would probably be more efficient to find the concrete place so there is not a full loop and cast for each keyword for all photos.


Use rustix instead of nix?

Both crates are quite similar to each other, but rusyline already pulls rustix via fd-lock. Thus migrating to rustix would make dependency tree of rustyline smaller. Additionally, rustix is developed a bit more actively and provides the nice linux_raw backend feature (i.e. much less errno stupidity).

rustix doesn't seem to support select

Per select documentation:

All modern applications should instead use poll(2) or epoll(7)

Is there a reason why rustyline can not use one of those?

Only because replxx does the same:
https://github.com/AmokHuginnsson/replxx/blob/1f149bfe20bf6e49c1afd4154eaf0032c8c2fda2/src/terminal.cxx#L639

I think migration to rustix should be a good opportunity to remove dependence on select then, no?

https://blessed.rs/crates#section-common-subsection-system

Do you want to say that because rustix is not on that (unofficial) list it's inferior to nix?
rustix is developed more actively, has a member of the rust-lang org in the list of maintainers, and has almost twice more in the number of recent downloads than nix.

Thus migrating to rustix would make dependency tree of rustyline smaller

Wrong:
rustyline % cargo tree --no-default-features
├── nix v0.27.1
│   ├── bitflags v2.4.0
│   ├── cfg-if v1.0.0
│   └── libc v0.2.148

vs
rustyline % cargo tree --features with-file-history
│   └── rustix v0.38.17
│       ├── bitflags v2.4.0
│       ├── errno v0.3.4
│       │   └── libc v0.2.148
│       └── libc v0.2.148

=> one more dependency: errno

As mentioned in the OP, most users pull rustix through fd-lock since with-file-history is a default feature.
Sigh... If you do not want to migrate to rustix, just say so and close this issue. I personally will not be happy about it, since in my project only rustyline pulls nix, while rustix is pulled by several other dependencies, but it's your crate and your decision. I can deal with it on my side either by leaving everything as-is or by eventually migrating to an alternative.

rustix doesn't seem to support select

If I get it correctly, then rustyline still uses select(2) internally? This will lead to panics at runtime on any application that have a file descriptor greater than FD_SETSIZE (see also https://github.com/nix-rust/nix/issues/1087).
FD_SETSIZE can be reached quite quickly when using sockets and threads, so please consider switching to nix::poll::poll instead. As someone who has been recently bitten in the arse by cross-language usage of select(2), I would be happy to provide a patch that replaces the nix::select::select call by nix::poll:poll.

Just for your information, select seems to be mandatory on MacOS:
See #802


Instrument SetStatus from default OTel default global impl

Originally posted by @MrAlias in https://github.com/open-telemetry/opentelemetry-go-instrumentation/pull/523#discussion_r1408318459

👋 i'll grab this one

#591


fix getCommitteeAssignment performance issue

fixes #2690
on my laptop, the performance increased from ~3-4ms to < 1 ms (when testing with a state generated by generatePerformanceState())

performance increased from ~3-4ms to < 1 ms

Can you share the full details of the benchmark including run count and name of the runs?

performance increased from ~3-4ms to < 1 ms

Can you share the full details of the benchmark including run count and name of the runs?

@dapplion I ran the following test locally and got the following results (a little faster when i initially ran on master):
master:
avg perf:  0.591
this PR:
avg perf:  0.099
import {config} from "@chainsafe/lodestar-config/default";
import { BeaconState, Epoch } from "../../phase0";
import {CachedBeaconState, createCachedBeaconState} from "../../src/allForks";
import {generatePerformanceState} from "../perf/util";

describe.only("getCommitteeAssignment perf test group", function () {
  this.timeout(0);

  const numRuns = 1000;
  let perfCumulative = 0;
  let epoch: Epoch, state, cstate: CachedBeaconState<BeaconState>;

  before(() => {
    epoch = 23638;
    state = generatePerformanceState();
    cstate = createCachedBeaconState(config, state);
  });

  after(() => {
    console.log('avg perf: ', perfCumulative / numRuns);
  });

  for (let i = 0; i < numRuns; i++) {
    it("getCommitteeAssignment indivdual test", () => {
      const start = Date.now();
      const ca = cstate.getCommitteeAssignment(epoch, 0);
      const perf = Date.now() - start;
      console.log("perf: ", Date.now() - start);
      perfCumulative += perf;
    });
  }
});


ManikantaSirangu

The Readme file is currently lengthy and complex, making it challenging for newcomers to comprehend how to contribute effectively to the project.
To enhance accessibility and clarity, I propose relocating the Contributing section to the beginning of the Readme file and streamlining its content where feasible.
I kindly request assistance from anyone willing to dedicate time to address this issue and improve the project's accessibility for all contributors. Thank you!

Hii, I am Bala Chandra Satya Sai Manikanta Sirangu.

@caiton1


model generated by model_generation but not able to invoke.

I tried to convert tensorflow model to tflite using model_generation/distilbert.py.
I was able to convert and save the model without error, but could not allocate_tensor with python API and invoke with interpreter also failed with RuntimeError
RuntimeError: Regular TensorFlow ops are not supported by this interpreter. Make sure you apply/link the Flex delegate before inference.Node number 0 (FlexShape) failed to prepare.
What should I do to fix this error?
Here's my colab to reproduce the error
colab tf-nightly-gpu==2.2.0.dev20200115

I have the same problem and I am not sure how to fix it. Maybe replacing the erf operator would be a workaround: modeling_tf_distilbert.py#L44

@o20021106 Hello, I met the same problem. Have you solved it? Thanks!

My problem was solved by changing supported_ops in python to converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS]

My problem was solved by changing supported_ops in python to converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS]

Yup, helped. Thanks!

Can I continue to use this package?tensorflow-lite-with-select-tf-ops-0.0.0-nightly.aar

My problem was solved by changing supported_ops in python to converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS]

Can I continue to use this package?tensorflow-lite-with-select-tf-ops-0.0.0-nightly.aar


Add storybook-router

Hi,
https://github.com/gvaldambrini/storybook-router
Is importing types from other lib declarations supposed to work?
import type { LocationShape, GetUserConfirmation } from 'react-router';
Does not seem to do the validation job, but default to any.

There's an open issue about it here: https://github.com/flowtype/flow-typed/issues/16

I've talked with @calebmer about this. He said he tries to get to this within 3 weeks.

@steida Here's a good news! At least from what I understood.

You should be able to import from within declare module. Let me know if it doesn’t work 😊
This would look like:
declare module 'storybook-router' {
  import { /* ... */ } from 'react-router';

  /* ... */
}

@calebmer
You know what? It doesn't check the type from 'react-router'

@calebmer Could you give me any information about your work? import type in declare module still doesn't works for my case. I try to find your commit or any recent contribution related with that problem, but sadly, I can't find it.

Closing in favour of #1459.


Add AutoOffsetReset

In the Java client, auto.offset.reset docs says:
What to do when there is no initial offset in Kafka or if
the current offset does not exist any more on the server
(e.g. because that data has been deleted)

This PR implements this behavior for FirstOffset (earliest) and LastOffset (latest) values.
For example:
ReaderConfig{
  GroupID: "my-group",
  AutoOffsetReset: LastOffset,
}

would configure the consumer group to start reading from the last offset when the group is new, or when it encounters a deleted offset (which happens when messages exceed a topic's retention policy).
I still need to write a test for initializing a new group to read from the latest offset.
It's difficult to test the case where messages exceed retention, because of server config and timing (it takes ~5 minutes). So far, I have some test code here. Not sure it can be integrated into the test suite.
https://kafka.apache.org/documentation/#configuration

The java client actually supports a third case where auto.offset.reset can be defined as none which results in an error being returned if there is no offset defined.

I decided to punt on that case because we don't need it and it might complicate the PR. But, it would be good for this library to match the Java cilent as much as possible, IMO.

adding an initial seek AutoOffsetReset when not offset is found for a consumer group?

That should be here, but I still need to write a test for that.
https://github.com/newrelic-forks/kafka-go/pull/7/files#diff-ed6ec976ee948cb81f2bbef47adb704dR495

Added the test for AutoOffsetReset on new consumer group startup.
This should be good to go. Could use one last review pass.


Video call scheduling

At the WG meeting it was agreed the HAL team would meet to thrash out a way forward for the HAL. This would include:
The agenda of that meeting to cover:

How we organize embedded-hal (one crate vs many)
How we "mainline" items
What we do about the state of things (v2, v3) right now

I propose Thursday 27 Feb at 1900 Europe/London. VC details to follow.
@rust-embedded/hal please confirm whether you can or cannot make this time. Please also suggest further agenda items if required.

Works for me.

Works for me too

oops, guess i missed this one. did it happen / did anyone take minutes?

@ryankurte That meeting did not happen, due to being too short on notice to arrange.
@jamesmunns Do you have any preferred date? I'll be travelling next week so that won't really work for me.

Oops. I proposed a time and totally forgot to follow up and set up a call. My bad.
Next week I've only got Tuesday evening free.

Next week I'm at a conference.

How about on the 11th, directly after the WG meeting?

I can do 2020-03-11T20:00:00Z.

I believe, meeting will be on 10th, but this date works for me too

I believe, meeting will be on 10th, but this date works for me too

ahh yes, sorry, i intended that to be on the 10th @ 20:00 GMT but forgot to convert the date (i live in the GMT+13 future so this is a morning meeting for me 🙃)
:tada: for 2020-03-10T20:00Z
:rocket: for 2020-03-11T20:00Z

So confirming availability on 2020-03-10T20:00Z (directly following the embedded WG meeting / ~22 hours from now)

[x] @ryankurte
[x] @therealprof
[ ] @thejpster
[ ] @Disasm

Once y'all have confirmed I'll ask someone (probably @jamesmunns) nicely to add a calendar event with a hangouts chat

So confirming availability on 2020-03-10T20:00Z (directly following
the embedded WG meeting / ~22 hours from now)

Works for me.

I can attend/set up a meeting. It'll be on Zoom.

The meeting details are:
https://zoom.us/j/894390824
Password 070334

thanks team!
meeting notes: https://hackmd.io/ck-xRXtMTmKYXdK5bEh82A?view#Final-Summary


Update Beautacus default currency to euros

Change the default currency to EUR to prevent errors being thrown when searching products.

PR: https://stash.hybris.com/projects/C3PO/repos/beautacus/browse?at=refs%2Fheads%2Ffeature%2FGH-2703

Closing ticket as it's no longer needed due to USD sample data being available once the ticket below is merged.
https://github.com/SAP/cloud-commerce-spartacus-storefront/issues/2708


The size of the dataset.

Thank you for your excellent work! Could you please provide the storage sizes for the train, validation, and test partitions of the dataset?

Thank you for your reply! It is very helpful!


add keys to equality constraints

Simple PR that adds keys to Equality Constraints

@yetongumich can you please re-run the failed jobs? They failed because of network issues and I can't seem to re-run it myself (wanted to help you out there).

Unluckily I can't re-run it either. I'll just make another push to the branch and hopefully it will re-run automatically.


Update manifest version on each build (will trigger updates)

Replace the version in the source.extension.vsixmanifest file too. It should trigger updates in Visual Studio.

looks good, please un-draft it and I'll merge


Fixing conductor execution times

This PR solves the issue related in #1061
I will be glad to hear what you guys think about this solution!

Pull Request Test Coverage Report for Build 2540

7 of 7 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 68.985%

Totals

Change from base Build 2530:
0.02%

Covered Lines:
9264

Relevant Lines:
13429

💛  - Coveralls