[snapshot] 'iPad Pro (12.9-inch)' screenshot size 1 pixel off when running via iOS11/Xcode9

New Issue Checklist

[ X] Updated fastlane to the latest version
[ X] I read the Contribution Guidelines
[X ] I read docs.fastlane.tools
[X ] I searched for existing GitHub issues

When running snapshot with Xcode 9 build tools & the latest Fastlane ver (fastlane 2.55.0) with SnapshotHelperVersion [1.5], using '--ios 11.0', the iPad Pro screenshots are off by 1 pixel. Resulting screenshots are 2048 × 2731 instead of 2048 × 2732.
=======
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.6

Ruby
2.4.1

Bundler?
false

Git
git version 2.13.5 (Apple Git-94)

Installation Source
~/.rvm/gems/ruby-2.4.1/bin/fastlane

Host
Mac OS X 10.12.6 (16G29)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.4.1/lib

OpenSSL Version
OpenSSL 1.1.0f  25 May 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode-beta.app/Contents/Developer/

Xcode Version
9.0

System Locale

Variable
Value

LANG
en_AU.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.55.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.0

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.5.1

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.3.0

terminal-table
1.8.0

plist
3.3.0

public_suffix
2.0.5

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

excon
0.58.0

faraday
0.13.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

json
2.0.2

mini_magick
4.5.1

multi_json
1.12.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.1

bundler
1.15.4

faraday_middleware
0.12.2

uber
0.1.0

declarative
0.0.9

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.1

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
1.5.6

memoist
0.16.0

os
0.9.6

signet
0.7.3

googleauth
0.5.3

httpclient
2.8.3

google-api-client
0.13.4

io-console
0.4.6

openssl
2.0.3

generated on: 2017-09-06

That's weird, anything fastlane snapshot can do to fix it? We just take a screenshot from the device using the xcodebuild command line tools

Might go away with xcode 9.0 release, should we just keep this open till then? I'll check next Xcode update if it's resolved.

Sounds great :+1:

Happening here too, running xcode 9. My iPhone 6 Plus screenshots are 3 pixel taller than what they should be.

I am also seeing this on 'iPad Pro (12.9-inch) (2nd generation)' with Xcode 9.  The image on disk generated by snapshot is in fact 2048 by 2731.  Snapshot then decides this is an unsupported size, showing this message:

Unsupported screen size [2048, 2731]

We have the same issue when capturing screenshots using fastlane and XCode 9. However, manually taking the screenshots from the simulator results in screenshots of the correct size, so we suspect there's something wrong with the programmatic screenshotting feature that was added to the simulators shipped with XCode 9.

We have the same problem. iPad 10.5, iPad 12.9, iPhone X has incorrect size issues. iPhone 5, iPhone 6, and iPhone 6s sizes are ok.

Hey everyone, could you all just confirm that you are using the most recent version of Xcode that Apple released last week? Just want to make sure that everyone is on the same page here. In doing some testing on my machine, I am seeing that iPad 12.9 inch screenshots are sometimes coming out wrong, but iPhone X is looking perfect to me. Also, some people are saying that iPhone 6/6 Plus are wrong, and others are saying that they are correct, so I just want to make sure we are starting from the same place. Thanks!! 🐙 🚀 📷

Hi David. I am using the latest Xcode from App Store and not the beta
version. Also, I am using the latest version of Fastlane. Thank you.
On Tue, Sep 26, 2017 at 9:51 AM, David Ohayon<EMAIL_ADDRESS>wrote:

Hey everyone, could you all just confirm that you are using the most
recent version of Xcode that Apple released last week? Just want to make
sure that everyone is on the same page here. In doing some testing on my
machine, I am seeing that iPad 12.9 inch screenshots are sometimes coming
out wrong, but iPhone X is looking perfect to me. Also, some people are
saying that iPhone 6/6 Plus are wrong, and others are saying that they are
correct, so I just want to make sure we are starting from the same place.
Thanks!! 🐙 🚀 📷
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fastlane/fastlane/issues/10259#issuecomment-332263178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AeyremJVAsz6Re3lE2fkUS03GkMf5Zi_ks5smSuMgaJpZM4PNp13
.

I'm also in the same boat as @Mikrasya.  I'm running Xcode 9.0 (9A235) and Fastlane 2.59.0.  Right now I'm unable to upload apps because the screenshots for iPad are 1px off.

Hi @ohayon. I've verified that iPhone X and iPad 10.5 sizes are ok. I still have issue with iPad 12.9 inch.
For both iPad 10.5 and iPhone X, I am having another issue: https://github.com/fastlane/fastlane/issues/10259 . That was the reason I reported that I've had issues with those sizes.

I'm using the release version of XCode 9 and have the problem with iPad 12.9 inch in landscape (screenshots are 2731 x 2048). iPhone X works fine.
I also have the issue with iPad 10.5 described in #9651, but I suspect this is just the same error message, but shown for a different reason (10.5 maybe not supported yet?), since the pixel counts look correct.

@KrauseFx can you fix this plz?

Hey @Mikrasya, I think you linked to this same issue in that comment, is there another issue you are having with iPhone X?

Sorry. Here is the other issue: https://github.com/fastlane/fastlane/issues/9651

Getting the same issue as well with Xcode 9.0 and fastlane 2.60.0:  Unsupported screen size [1668, 2224] for path './fastlane/screenshots/en-US/iPad Pro (10.5-inch)

Some issue happens here.

I found this comment while searching for information:
The resolution should be 2731 x 2048, not 2732. 2048 x 2048 = 4,194,304 / 1536 = 2730.66667, it makes no sense for Apple to bump it to 2732. 1 extra line of pixels doesn't do anything for UI. It would make the aspect ratio 683 : 512 instead of a perfect 4 : 3.
https://www.imore.com/ipad-pro-once-again-shown-testing-new-app-analytics
So, wrong pixel issue might be more nuanced.
For the time being, I have manually resized the images from 2731 to 2732 and submitted my app. Thanks.

I do know that Xcode 9 has a lot of simulator issues. One I found is:  https://twitter.com/marcoarment/status/915981380743446529    could the screenshot method being used be related?

Same issue :  Unsupported screen size [2048, 2731] for path './en-US/iPad Pro (12.9-inch)

Maybe a viable solution would be to automatically compare the sizes and resize if needed?

I hacked together a Python script which uses imagemagick to get the height of the images and resize if needed. I call the script from my fastfile using the sh action after snapshot. If your screenshots are landscape, you'd need to adjust the code as necessary.
https://gist.github.com/zineer/962b682c9dce01542225a9c9ced5359c

Has anyone filed a RADAR? If so, what's the number?

Hey Everyone! We are going to look into this issue this week for sure. Just to be totally clear, it seems like this is only happening on iPad Pro devices of both 10.5 and 12.9 sizes. Is does that sound right to everyone?

Yea thats what it was occurring on. Im also looking at todays Xcode 9.0.1. Looks like it fixed all the simulator names and by default the simulators now run iOS 11.0.1 when reset.

Thanks @bassrock, I'll make sure to test it on 9.0.1 😄  🚀

So, I have spent some time trying to reproduce this in Xcode 9.0 on iOS 11.0 simulators and in 9.1 with 11.0.1 simulators and was unable to see the same issue 😞 . Can anyone here share a sample project that causes this to happen? Also, if you all were seeing this in 9.0, would you mind giving it a shot in the new Xcode 9.1? (note: you may need to add ios_version: '11.0.1 to your snapshot options in your Fastfiles because it looks like there is an issue in xcodebuild where doing xcodebuild -version -sdk prints out info about 11.0 instead of 11.0.1 and we use that command in fastlane to determine the latest version of iOS simulators on your machine.
Apologies for the inconveniences! Let us know whats up! 🚀

I have the same problem with XCode Version 9.0.1 (9A1004), doing fastlane snapshot -i 11.0.1,
[08:31:45]: Framing screenshot './de-DE/iPad Pro (12.9-inch) (2nd generation)-05Login.png'
[08:31:45]: Unsupported screen size [2048, 2731] for path './de-DE/iPad Pro (12.9-inch) (2nd generation)-05Login.png'
[08:31:45]: Framing screenshot './de-DE/iPad Pro (12.9-inch)-01HomeScreen.png'
[08:31:45]: Unsupported screen size [2048, 2731] for path './de-DE/iPad Pro (12.9-inch)-01HomeScreen.png'
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.6

Ruby
2.2.4

Bundler?
false

Git
git version 2.2.1

Installation Source
~/.fastlane/bin/bundle/bin/fastlane

Host
Mac OS X 10.12.6 (16G29)

Ruby Lib Dir
~/.fastlane/bin/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
9.0.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.62.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.5.2

rouge
1.11.1

xcpretty
0.2.6

terminal-notifier
1.7.1

unicode-display_width
1.1.3

terminal-table
1.7.3

plist
3.2.0

public_suffix
2.0.5

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

excon
0.55.0

faraday
0.12.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

json
1.8.1

mini_magick
4.5.1

multi_json
1.12.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.0

bundler
1.14.6

faraday_middleware
<IP_ADDRESS>

uber
0.0.15

declarative
0.0.9

declarative-option
0.1.0

representable
3.0.4

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.13.6

generated on: 2017-10-20

This seems to happen when you resize the screen once, for example because the iPhone 8 Plus is too big for a 15" MacBook screen in terms of pixels. You'll never be able to resize it back to 100%. If you don't touch any scaling the simulator should always be fine, but quite unusable for larger devices because they're larger than your screen

I'm still getting this error on the latest XCode 9, ios 11.0.1. It happens only on iPad Pro 12.9 inch for me

Still there with Xcode 9.1 and iOS 11.0

I just dropped the 10.5 inch iPad from my screenshots and it works. The issue may be the screen sizes that iTunes Connect now takes.  https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/Properties.html#//apple_ref/doc/uid/TP40011225-CH26-SW2
The 10.5 inch isn't even listed.

Issue still persists with XCode 9.2 and iOS 11.2. My screenshots for iPad 12.9 inch are still 2731x2048. I've tried resetting the simulators to no avail.

I have the same issue.
How are the screenshots generated?
xcrun simctl io booted screenshot screenshot.png creates a screenshots with correct size.

See comments above. I believe that this is a generic XCode simulator issue, not a fastlane issue.

As I couldn't get the iPad Pro 12,9" to scale on my 15" MacBook screen I was searching for a solution to make pixel-perfect snapshots. The magic settings was disabling "Optimize rendering for window scale". I'm not sure if this setting is readable by programs using the Simulator but not having this switched off definitely can cause problems on bigger devices.


append_if_no_line appends line always...

The following code block:
append_if_no_line 'Set MULE_HOME' do
  path '/home/muleesb/.bash_profile'
  line 'MULE_HOME=/muleesb/mule-enterprise-standalone-3.7.2'
end

Should write the line to the file in path and not write the line if the line already exists. It writes the line on every converge.

Confirmed bug using the append-if-no-line-ubuntu-1504 suite with new tests.
Thanks for reporting this @larryebaum

Fun, this shouldn't actually be happening...
        * append_if_no_line[Operation 1] action edit
           - Updating file /tmp/dangerfile
         * append_if_no_line[Operation 2] action edit (up to date)

Verified incorrect behavior in Chef v12.21.3 as well as in Chef v13.1.31

  f.puts new_resource.line if found

  unless found
    converge_by "Updating file #{new_resource.path}" do
      f.puts new_resource.line
    end
  end

Adds the new line if found or unless found.

Closed by #55


removed define production on server bundle

As reported by @tkant
NODE_ENV=test oc dev . 3030
console.log(’NODE_ENV: ‘ + process.env.NODE_ENV);
Its throwing 'production'

Bear in mind that this will leave all of react's dev warnings in place (see https://facebook.github.io/react/docs/installation.html#development-and-production-versions).
Given that oc-registry processes should be executed with NODE_ENV=production then it shouldn't really matter. Do we have docs around best practices for running the registry? Perhaps an example Dockerfile?

@tkant that's was one of the reason we had this in place (see @matthewdavidson comment). I think will be better to keep it as it is, until we properly deal with react and co. (Not sure that this will happen within the server.js part, but I can see that for now that's the only way around)

It is not recommended to access process from the component. This is why the registry maintainer can set the env on the registry configuration and make it accessible from the context: https://github.com/opentable/oc/wiki/Registry#setup

Thats right, but don't you think that injecting context here and there in the code makes it less maintainable. We should always try to make things modular. Just a suggestion :)

Or is there any other way we can get the registry's configuration parameter in any of the open-component available?

@tkant
Basically, the registry maintainer makes this information available on each instance, so that in your component you'll be able to access it. Only difference is instead of accessing it via process.env you'll get it via context.env.
// registry

var registry = new oc.registry({
  env: { name: "production", otherStuff: "hello" }
  ...
});

registry.start(...);

// your component
module.exports.data = (ctx, callback) => {
  const isProd = ctx.env.name === 'production';
  ...
}

@matteofigus I understood the context thing in the first place. The way I had wrote our OC is we are requiring config.js at top of many module. So my data provider have them on top of server.js.
One solution is to create a global var. But I really don't like polluting global space. :(

Ok, maybe I find difficult to understand as I design the components differently. Can you share a component example for letting us understand better your use-case? Thanks

Ohkk.. Here is how I had done.
Divided my modules based on feature we have. Those features uses config var to make appropriate backend calls. So my server.js (which is data provier) its like this:
'use strict';

const config = require('./configs').getConfig();
const bootstrap = require('./app/bootstrap');
... // other helpers

module.exports.data = function (context, callback) {
 // we can get context.env here but how can I use it in other modules which I had included above.
 // 1 option is to call require inside this and assign it to some global variable. For that as well I need to
 // move all require statements which utilizes my config.
}

For config I had wrote this:
'use strict';

const env = require('./env.json');

module.exports.config = function () {
  var nodeEnv = process.env.NODE_ENV || 'test'; // here we can initialize the nodeEnv with global var
  return env[nodeEnv];
};

env.json contains something like this:
{
  “test”: {}
  “production”: {}
}

So I can also move the require statements in some other JS and include it inside module.exports.data

@matteofigus I would love to see how you wrote OCs.. can you point me to some repo ?

Ah! I see.
The way we do it is very similar but slightly different. We still have something like env.json. The difference is, we do all the requires first, then we get the right stuff inside the context. So basically everything you require exposes then a constructor where you can pass the context through.
Simple mode, the way we usually do this:
const config = require('./config.json');
module.exports.data = (context, callback) => {
  var settings = config[context.env.name];
  ...
}

Or you can still have your js wrapper but you need to require it first and then initialise it later:
const config = require('./config.js');
module.exports.data = (context, callback) => {
  var settings = config.getConfig(context.env);
  ...
}

You are right, I think an example would be good for this scenario. I definitely can put something on the wiki 👍

Thanks @matteofigus 😃


Update README.md

Document ability to pass arguments to component

Just saw at the end you do mention passing in vnodes. I am still on 0.2.5 so somewhat missed that.


check this out d3 + react

<EMAIL_ADDRESS>

nice, I like d3 but thanks

seems d3 + react is the future

for charting


feat: upgrade polkadot 0.9.42 & create cargo workspace

Creates a cargo workspace where deps are shared between packages: easier upgrades
Moves tfchain_tft_bridge pallet here for eaier upgrading
Upgrades all deps to latest and greatest polkadot-0.9.42

Need to:

[x] bump CI rust version to make it compile on the builder
[x] fix all warnings (regenerate weights)
[x] fix benchmarking warnings
[x] test if it's compatible without system breaking changes if we upgrade the runtime
[x] test with devnet fork

Ready to be deployed, new client should be integrated in the components that use the go-client.

Some warning still remain, but will be fixed with #394


Issue #227: Favor .send over .end in documentation

I found out about this issue through 'Up For Grabs'. So, I wanted to help and contribute even though I'm a newbie. I changed .end  to .send and vice versa.

Looks great! Thanks for fixing that :-)


refactor: error boundary screens

This PR resolves []
Description
As we were working on sticky tab stuff we realized that some of the error boundary screens weren't working properly and due to the changes we did (fullBleed: true) it broke a bit the design of this page.
This PR fixes that and readjusts the screens to be always correcly aligned utilizing the <Screen /> palette component.
As a bonus I also removed all the references of the RetryErrorBoundaryLegacy which was used in some places (and it was overriding the new error boundary that we already have in place in the providers of the app.
Nothing changes behavior wise since they both used under the hood the same view 🤷♂.
⚠ I didn't touch the Override that we do in MyCollection since it is due to using specific error messages related with the errors in this screen 🌟
Screenshots:
Partner

Before
After

Artwork

Before
After

Sale

Before
After

weird that on sale we get unable to load vs the error screen 🤷♂
Follow ups:
We might need to find a better way to handle the artwork page, since due to hiding the bottom tab bar the Screen component is not adjusted correctly and it has the bottomTabBar height as padding top for some reason 🤔 but it was broken before and this PR is already an improvement (see artwork before and after screenshots)

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

error boundary screens - gkartalis

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Fixes also the artist page non found issue that was mentioned on #8679 .

Before
After

Very nice PR 💯


BLOG: Cosmos Overview

Project Description
Cosmos-SDK fleshed out overview on SDK GitHub repo
Status
Gautier initiated the skeletal overview of the SDK but passed the torch onto Frederico to flesh it out.
Project Deadline: Apr 28

See #774


Review 11: Chat Feature

Overview
The focus for this code review will be centered around the chat page.
Please pay attention too:

Javascript issues
React components

Review Branch
review-xxx
Files to review

Any files in the chat directory such as: ChatComponent.jsx, MessageForm.jsx, etc..

Checklists

Architecture
Design
JS
React
Testing

Due date
Monday, April 15th 11:55pm
For more information
The review process is documented at: http://courses.ics.hawaii.edu/ics414s21/morea/review/reading-idpm-review.html

ChatComponent.jsx

JS-07: L132 Avoid console.logs

There's two chat directories, one in ui dir and one in components dir with same file names. It would be better to merge or rename the directories to avoid confusion

What happens after accepting or denying a message? Does accepting mean you can keep chatting?

Yep, nearly duplicate chat directories should be merged.

ChatComponent.jsx

Ref Usage: Properly utilize useRef for focusing messages, but ensure cleanup to prevent memory leaks, especially if references change frequently.
Subscription Management: Ensure subscriptions (e.g., Meteor.subscribe) are managed correctly to avoid unnecessary re-renders or data fetching.
State Management: Consider debouncing the setCurrentMessage function or managing rapid state changes better to optimize rendering performance.
Error Handling: Implement robust error handling for Meteor method calls, especially in sendMessage and handleUserSelected functions, to enhance user experience.
UI Feedback: Provide clear UI feedback for loading states (both conversations and messages) and error states to inform the user appropriately.
Message Sorting: Verify the sorting logic in both messages and conversations to ensure that the UI always displays the latest information correctly.
Accessibility: Improve accessibility, especially in dynamic content updates and focus management within the chat interface.
Code Duplication: Reduce duplication and enhance modularity, possibly by breaking down the component into smaller subcomponents.
Styling Consistency: Ensure consistent styling across different browsers and devices, especially for custom scroll areas and interactive elements.

Chatinterface.jsx

Logging: Remove console.log statements for production readiness to keep the console clean and secure sensitive information.
Error Handling: Expand error handling in Meteor.call for conversations.initiate to provide user feedback through UI notifications rather than just console errors.
UseEffect Dependency: Ensure that useEffect hook's dependencies are properly managed; currently, it only depends on activeConversationId. If the Conversations data might change externally, consider additional dependencies or refetch strategies.
State Management: Simplify state updates by ensuring that all state-related logic is contained and does not rely on external mutable references that could lead to bugs in asynchronous operations.
UI Responsiveness: Verify that the layout (split into 1/3 and 2/3 columns) adjusts well to different screen sizes and enhances usability on mobile devices.
Component Separation: Good use of component separation (ConversationsList, ConversationDetails, MessageForm) aids in maintainability. Ensure that each component properly handles its props and maintains its own state as needed.
Accessibility: Improve accessibility features, such as keyboard navigability and ARIA attributes, especially in dynamic content like conversations and messages lists.
Code Documentation: Add comments describing the logic and purpose of major blocks of code, especially where the code interacts with external APIs or performs complex state management.
Performance Optimization: Consider memoizing components or using callbacks to optimize re-renders, especially for components like MessageForm that might re-render frequently due to state changes in the parent.

ChatComponent.jsx

There are a lot of ESLint errors regarding unexpected console statement and alerts.
There are several unresolved variables.
There are invalid number of arguments.

MessageForm.jsx

There are a lot of ESLint errors regarding unexpected console statement and alerts.


Asset-packagist

FYI this exists now: https://asset-packagist.org/, might be useful to improve upon dep management in this lib.

Back now from a sequence of enforced coding hiatus...
Yes, & it's also now the default in Yii2's composer.json. I'm in the process of switching from fxp.


Home: Update the link to Archive Search

The link under the search bar to "Search the Metro Board Archive from 1952-2015 (Board Boxes 1994-Present)" needs to be updated.
please update to this URL: https://mtasearch01.metro.net:23352/apps/boardarchives/

@shrayshray this updated link is now on the live site!


Adorners not rendered in ImmediateRenderer

Describe the bug
Adorners not rendered in ImmediateRenderer
To Reproduce
Add adorner to control.
Expected behavior
Adorners rendered same as in deferred renderer.
Screenshots

Deferred renderer:

Immediate renderer:

Desktop (please complete the following information):

OS: Windows, Linux (did not test macOS)
Version 0.10.10

Additional context
None

Looks like clipping issue, when I set AdornerLayer.IsClipEnabled = false in dev tools the adorner is rendered


[Feature Request] Support add default argument in ~/.rubocop.yml

Support add default argument in ~/.rubocop.yml, e.g. settings default formatter to emacs (-fe)

like a function in bash shell, e.g.
function rubocop () {
    command rubocop -fe "$@"
}

At this point it would be difficult to introduce a configuration parameter acting as "generic default command line options", because we've already added a lot of configuration parameters that are default values for individual CLI options:

RunRailsCops
DisplayCopNames
DisplayStyleGuide
StyleGuideCopsOnly
DisabledByDefault
UseCache

But I do think it would be possible to add an AllCops: DefaultFormatter parameter, perhaps limited to setting only one formatter, and not dealing with the --out option.

thanks.
AllCops: DefaultFormatter is good, I just hope can config more things
with my personal ~/rubocop.yml

I approve of this feature, I was just trying to implement it myself.

One problem with that is that .rubocop.yml is not just one file. There can be many; one in each project subdirectory. When RC is ready to check a file, it finds the configuration which applies to that particular file.
So what if you had multiple .rubocop.yml files in various subdirectories, with different AllCops: DefaultFormatter parameters?
I am inclined to say that a shell alias would be the best thing for you.

I would like to be able to set a default formatter. And especially when running rubocop as a rake task.
"What if you had multiple values of DefaultFormatter?" Well, what if you have multiple values of any parameter? You must already have an order of precedence or enabling a cop in one place and disabling it in another would be very interesting.

@apowers, there is a big difference. Most parameters make sense even if changed for each source file. And that is what RC does, if you have different RC config files in different subdirectories. The proposed DefaultFormatter parameter doesn't make sense if changed from one source file to the next.
Actually, the internal methods which select the formatter(s) to use don't even look at the paths to the files being checked. It shouldn't matter when selecting the formatter.

@alexdowad What you say is correct, but there is a way to circumvent the problem posed by our per-directory configuration functionality. The trick is to say that a global config parameter like that is taken from the configuration for the current directory. I used it here when I faced a similar problem for AllCops: MaxFilesInCache.

@jonas054, OK, let me code something up.


Where is gulp.on() in the API?

You mention gulp.on('error',someFunc); I can't find any documentation for the on() method and my IDE, Webstorm doesn't recognize .on() as a resolved method.
Thoughts? Thanks.

[Gulp task] (https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulptaskname--deps--fn) depends on [Orchestrator] (https://github.com/robrich/orchestrator) where you can listen to it's internals using orchestrator.on(event, cb);


Ugly type names in the Activity log section

See screenshot

It's OK. Cancel the task.

Declined.


[SPIKE] Actor crashes may not terminate the genserver

Describe the spike
More information is needed, but in the case where an actor panics and dies we should be able to terminate the genserver with a helpful error message, cleaning up subscriptions etc. I believe right now the actor may panic but we continue to run the genserver. More investigation is needed.

It appears that an actor that panics or crashes will show as "unhealthy" but the ActorModule will not be removed

furthermore, this Unhealthy will just get swallowed if you start another instance of the actor

Closing in favor of #501 as it better describes a good solution


list_syntax => short should be included in 7.1 migration

Feature request
https://mlocati.github.io/php-cs-fixer-configurator/#version:2.17|fixer:list_syntax:

List (array destructuring) assignment should be declared using the configured syntax. Requires PHP >= 7.1.

Usage:
$rules['list_syntax'] = ['syntax' => 'short'];

Done: #5428

Done: #5428


Added a logo and updated the readme

Added a minimalistic colorful logo
and formatted and beautified the readme
Hope u like the changes!

Nice


Size of exposed modules is too big

On my Angular project, there is a dependency on the components library DevExtreme, and I am in a quandary as how to share this dependency among the exposed modules. The situation is as follows.
When that dependency is shared, like showed in the following screen capture, the size of the exposed modules is around 800 kB, which is fine. However, my remoteEntry is about 10 MB, which makes the child app take too long to load.

On the other side, when I do not share DevExtreme, the size of the exposed modules go about 3 MB, which makes the overall experience on the app slow, whilst the size of the remoteEntry is fine, around 1,7 MB.

I tried tweaking the sharing options in various way, but without success.

Hi,
what happens if you set eager to false?

Setting eager to false used to give me an error saying that devextreme is not available for eager consumption. But surprisingly it seems to be working now. The problem now is that I have a 7 MB lazy chunk file, that is the devextreme-angular package. Since it is loaded only once when the shell app first renders a module from the child app, it is ok, and it's better than a 10 MB remote entry…

Awesome. You get this "not available for eager consumption" error if you don't bootstrap asynchronously. This is the reason why the plugin makes ```main.tsimporting thebootstrap.tsvia a dynamic (and hance async)import``. Every time, module federation sees an import statement, it loads the shared libs it needs for the chunk behind it.

@manfredsteyer  @maxgonzaga  How and where to set eager as false


Add K8S gomega error matchers.

What this PR does / why we need it:
New matchers for K8S errors are added:

Expect(err).To(BeNotFoundError())
Expect(err).To(BeForbiddenError())
Expect(err).To(BeBadRequestError())

Makes testing easier as you are no longer required to do:
Expect(err).To(HaveOccurred())
Expect(apierrors.IsNotFound(err)).To(BeTrue())

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

Updated the PR to fix the nits.

Fixed


ResNet50 layer names

Can I send a trivial pull request that names all the unnamed ResNet50 layers? Names like act3a_branch2a. merge_3b, act_3b max_pool etc.

...okay, I've realized that it's such a small amount of work that the above question was unnecessary. #7 done.


Rewrite with ES6 syntax

Sorry, forget upload this file.
When I had been refactoring and getting this error, seems error come from L10nSpan, after we are refactoring need fix this issue.

jshinit related comments can be also removed btw.

ok plz file a new issue for that, I noticed that from inspector too. Overall the patch looks ok, plz check again and if things are going well, feel free to merge!

Test script doesn't have syntax check, it doesn't affect testing in travis.ci. Yep! we can remove it.

I already removed all the jshint comment.


Interested in time_expr

In user_db.c you mention a time_expr field but have the check in a  TODO block.
Would you be able to expand a bit more on what you intend to do with that and how that might work?

This is for allowing access within some time period i elieve, after which the access token (card) is expired. @rpaciorek probably knows more.

It will be text-based flexible way to describe the access schedule. For example (wd >0 && wd <6 && dmin>=420 && dmin <960) || (wd == 6 && dmin>=540 && dmin <840) will allow access on workdays (Monday to Friday) from 7AM to 4PM and on Saturday from 9AM to 2 PM.
Most likely it will be implemented before October.

I thought so. I have some experience with this and I've used this library before https://github.com/jakubroztocil/rrule which conforms to the iCal specification. You can see an example of what a rule string becomes such as DTSTART:20120201T093000Z\nRRULE:FREQ=WEEKLY;INTERVAL=5;UNTIL=20130130T230000Z;BYDAY=MO,FR
I wonder if there is a C library out there for iCal RFC compatible rules?
It might save you a fair bit of work by using a known standard for scheduling expressions as well as save time using code that already exists.


implemented start debugger on restart debugger if debugger isn't started

My friend (@ylingene) and I worked on #24425.  We're unsure if the condition in RestartAction::isEnabled is satisfactory for preventing StartAction::isEnabled from being called when the debugger has been started already.

Test plan:

Click restart debugging from menu without debugger started (keyboard shortcut works too)

Debugger has started

Ensure debugger restarts when restarting rather than starting a new debugger

Thanks for your changes. I have commented in the code directly.

@ivorhuang this looks good, thanks for your PR. Merging it in 🍻


Add a first unit test

Create at least one unit test to be run via pytest

This has been addressed in #40 , #41, and #55 , but it's not entirely clear what the default environment needs to look like.

Closed by #40, #41, #55, #58


upgrade lambda runtime

upgrade lambda runtime to python3.11 and include required package dependencies

/do-e2e-tests


Creating new React App brings in ESLint not noted in changelog

Describe the bug
Not sure if this is the right place
I'm creating a new react app using npm create vite@latest and selecting React and JavaScript. The starter files come with ESLint installed and a file .eslintrc.cjs. Before version 4.3 ESLint didn't come installed. I would expect ESLint to not come installed. This change wasn't even mentioned in the changelog.
Reproduction
https://stackblitz.com/edit/vitejs-vite-eqa4jz?file=vite.config.js
Steps to reproduce
Run npm create vite@latest. Then pick any project name. Select "React" as the framework. Lastly select JavaScript as the variant. And that's it.
System Info
System:
    OS: macOS 13.3.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 60.02 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.5.0 - /opt/homebrew/bin/node
    npm: 8.13.2 - /opt/homebrew/bin/npm
  Browsers:
    Chrome: 112.0.5615.137
    Safari: 16.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

It's in the changelog: https://github.com/vitejs/vite/blob/main/packages/create-vite/CHANGELOG.md#430-2023-04-20. Motivation: https://github.com/vitejs/vite/pull/12801#issuecomment-1501204512


Introduce MAINTAINERS.md

Signed-off-by: Tom Kerkhove<EMAIL_ADDRESS>Fixes #659

Should this list equal to initial commiters from the proposal? Or should it be the active maintainers? It will need some update if it the latter.
WDYT @jeffhollan ?

@caniszczyk Already ahead of you! see #663

@anirudhgarg We already have 8 maintainers, I'm not sure how many we'd want to add?
Don't get me wrong, but maybe good to just be a contributor and we can make a vote on promoting to maintainer later on?

Yeah I think we're trying to "give credit" to initial maintainers and also reflect current ones.  I suspect we should just make this list the current ones and will have to sort out how best to give credit to founding maintainers in another section.  Making some suggested edits with that in mind


[bug]  token.features.getStatus() throws if token has an archived module

Steps to reproduce

Attach GPM to one of your Kovan tokens (eg through the dapp).
Archive that previously attached module (eg through the dapp).
Attempt to get features status of that token via token.features.getStatus().
The call above will throw Invalid module error.

@VictorVicente @monitz87 fixed the instructions above.

:tada: This issue has been resolved in version 2.0.1-beta.48 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


orientation

I take photo as portrait, however, it make the photo landscape.
How can i remain it portrait.

Try setting correctOrientation: true for Camera plugin?


Create LICENSE

Current coverage is 97.67% (diff: 100%)

Merging #9 into master will not change coverage

@@             master         #9   diff @@
==========================================
  Files             4          4
  Lines            86         86
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits             84         84
  Misses            2          2
  Partials          0          0

Powered by Codecov. Last update 0b7991d...9922a48


[PINOT-4889] Off-heap mutable dictionary for fixed width columns

Forward mapping of index to value is maintained using the FixedWidth reader-writers.
The reverse mapping is maintained using IntBuffer(s). The dictionary ID is stored as an integer
in the IntBuffer at an offset that is derived by hashing the actual value.
Collisions are handled by creating new IntBuffers, potentially larger than the previous one created.
A small overflow is maintained in heap so that we don't create new buffers on a single collision.
The current perf suite on dictionary performance is not correct for micro-benchmark.
However, a few brif runs and eye-balling results seem to show:

Overall performance of off-heap implementation does not degrade with cardinality
(probably because we pre-allocate the table for that cardinality in the reverse map).
At high cardinality (> 2M) indexing in off-heap is faster (3x?).
Value fetching time is slower in off-heap (4x?)
Dictionary id fetching time is a little slower in off-heap for small cardinalities (< 2M) but
faster for higher cardinality.

That said, we need to have a better perf measuring program for comparisons.
TODO:
Limit the number of buffers created (and close the segment), so that we minimize performance
impact on lookup. This will be done in subsequent PRs when the offheap implementation is weaved into
RealtimeSegmentImpl
Do some performance studies and set num-columns, overflow-threshold, expansion-multiples etc.

Codecov Report

Merging #1513 into master will decrease coverage by 0.06%.
The diff coverage is 56.99%.

@@            Coverage Diff             @@
##           master    #1513      +/-   ##
==========================================
- Coverage   67.89%   67.83%   -0.07%
==========================================
  Files         792      797       +5
  Lines       38693    39047     +354
  Branches     5049     5110      +61
==========================================
+ Hits        26271    26486     +215
- Misses      10711    10841     +130
- Partials     1711     1720       +9

Impacted Files
Coverage Δ

...time/converter/stats/RealtimeColumnStatistics.java
73.43% <ø> (ø)
:arrow_up:

...core/operator/blocks/RealtimeSingleValueBlock.java
65.62% <ø> (ø)
:arrow_up:

...time/impl/dictionary/MutableDictionaryFactory.java
55.55% <ø> (ø)
:arrow_up:

...r/filter/predicate/PredicateEvaluatorProvider.java
68% <ø> (ø)
:arrow_up:

.../core/operator/blocks/RealtimeMultiValueBlock.java
58.62% <ø> (ø)
:arrow_up:

...t/core/realtime/utils/RealtimeDimensionsSerDe.java
0% <0%> (ø)
:arrow_up:

...lter/predicate/RangePredicateEvaluatorFactory.java
74.5% <100%> (ø)
:arrow_up:

...time/impl/datasource/RealtimeColumnDataSource.java
57.69% <100%> (ø)
:arrow_up:

...e/impl/dictionary/BaseOnHeapMutableDictionary.java
95.23% <100%> (ø)
:arrow_up:

...re/realtime/impl/dictionary/MutableDictionary.java
27.27% <27.27%> (ø)
:arrow_up:

... and 21 more

Continue to review full report at Codecov.

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


chore: refactor to components

Description
These should be proper component

Call tree
Db
Analysis
Everything on the timeline (tooltip, key etc)

This has been partially done as part of #247
There may be some more we can do over time but closing for now.


Some spelling mistakes

I checked prettymuch everything but the rst files.


new align option in grid.x.lines

There isn't a setting for text alignment over the horizontal grid line, so I'm proposing a new option:
grid: {
  y: {
    lines: [{
      label: {
        text: 'Some text',
        position: 'start' // can be start|middle|end(default)
      }
    }]
  }
}

The change from text to label is following the current axis.labels setting standard.
position can be start, middle or end (the same as the SVG text-anchor standard)
position: 'start' should modify the grid line SVG to this:
<g class="c3-ygrid-line">
  <line y2="..." y1="..." x2="..." x1="..."></line>
  <text text-anchor="start" dy="-5" dx="5" style="opacity: 1;" y="...">
    Some text
  </text>
</g>

What do you think, can C3 be improved like this ?

+1 for this.
Have you found a way to do it without the option being implemented?

+1
I'm agree with you.

I implemented in this commit: https://github.com/masayuki0812/c3/commit/c485308f4561b1d252d28dc2e519f8a662fb5a09 , then I'll release this in the next version v.0.4.10.

Will it be released with v.0.4.10-rc.2?

@daseinhorn yeah, it was released.

0.4.10 has been released, so I'm closing this issue. Thanks.


:pencil: small docs update

Codecov Report

Merging #107 (fc37db6) into master (26be638) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #107   +/-   ##
=======================================
  Coverage   86.02%   86.02%
=======================================
  Files          11       11
  Lines        1195     1195
=======================================
  Hits         1028     1028
  Misses        167      167

Continue to review full report at Codecov.

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


Error while running evaluation

I believe there is a file missing under the utils folder since I get the following error when running bash bin/evals.sh:
ImportError: No module named 'utils.eval_utils'

Hi Joao,
thank you for your issues. yes, you are right. I already fixed that. thanks!

Thank YOU!


dont unshallow b/c we clone the full thing upfront

Won't this break travis builds?

Won't this break travis builds?

No, the travis builds were broken and this fixes them. I think the latest git they have installed fails when you do --unshallow on a fully cloned repo

Won't this break travis builds?

No, the travis builds were broken and this fixes them. I think the latest git they have installed fails when you do --unshallow on a fully cloned repo


liblink: redefinition of REG_* constants broke build

0d599909e9a3 broke the build accidentally because ucontext.h pollutes the namespace with its own REG_* constants.
/export/builder/workspace/linux-arm-arm5-d968bda66fcb/go/src/liblink/../cmd/5l/5.out.h:45:2: error: redeclaration of enumerator 'REG_R0'
/usr/include/arm-linux-gnueabi/sys/ucontext.h:42:3: note: previous definition of 'REG_R0' was here

Closed by c8224ce


Fixes Error.stack is being undefined when Error.stackTraceLimit==0

Fixes #589 See https://github.com/Microsoft/ChakraCore/pull/655

@jianchun tests are failed after editing Dump(TrimStackTracePath(e.stack) || e);
Is there a test case for throwing non Error object ? That could be the reason. In that case, no point updating that line ?

Yes, test fails because one case the getter throws a String. Just need to update the baseline:
--Throw in getter
** Custom stackTraceLimit getter Called, throw
My error in custom stackTraceLimit getter

Replace the last line with undefined. Now the tests cover both throw new Error and throw 'String' cases, and the later case e.stack === undefined (same as V8).
The || e part in TrimStackTracePath(e.stack) || e was to work around e.stack === undefined case. Removing || e makes the test to cover your fix.

@jianchun thanks for the details. PR is updated accordingly.

Thank you @obastemur!


Need help for arm board

Hi,
Can i upload firmware to STM32F401 Black Pill to use as midi controller?

https://github.com/paradajz/OpenDeck/wiki/Flashing-the-OpenDeck-firmware#flashing-stm32-black-pill-boards


Improve ImageStacks

Missing features that would make the module much more powerful:

Crop volume during import. Simple non-interpolated, non-rotated cropping with the new markups ROI. It would completely alleviate the need to use ImageJ. It would also shift the origin, so this would address #74.
Allow skipping more than 1 slices along any axis. It is nice that you any number of slices along Z axis, but skipping along X and Y axes are hardcoded to 0 or 1. if I want to have a quick preview or have an evenly downsampled volume then  there should be a way to specify skipping for X and Y axes, too.
Compute output volume size from current frame (instead of just showing downsampled volume with no Z slice skipping)

We discussed these issues internally a few times. Out of those three, the most useful one is the crop at the time of import, since there are datasets with significant amount of background space that can be trimmed. However, this requires reading the stack very quick so that the user can manipulate the ROI to fit to real image extends.  ImageJ does this really well with the virtual stacks. We couldn't decide how to come up with this is an a simple way that woudln't confuse users even more. If you have suggestions on this, that would be great.
As for downsampling, anything beyond x2 reduces data quality extremely. Realistically I don't see anyone doing 4X reduction and obtain a usable volume. The difference between skipping slice is to accommodate full-body scans. Almost similar to the human imaging, you might be more interested in preserving the cross-sectional geometry (e.g., cranial sutures in a full body scan) but have coarser sampling in Z space.
In the end, this particular use case can be accommodated by simply having this ROI/VOI concept above at the import time.
So all in all, I think it is the ROI tool that's the most significant bang for the buck.

All the suggestions are for allowing the user specify the ROI quickly.

this requires reading the stack very quick so that the user can manipulate the ROI to fit to real image extends. ImageJ does this really well with the virtual stacks. We couldn't decide how to come up with this is an a simple way that woudln't confuse users even more. If you have suggestions on this, that would be great.

Simple skipping of frames, rows, columns work well. It is both very fast and reduces memory drastically.

As for downsampling, anything beyond x2 reduces data quality extremely. Realistically I don't see anyone doing 4X reduction and obtain a usable volume.

It is for preview. To have a quick look what is in the volume and specify clipping ROI.
If you prefer not to expose a lot of options to the user (make sense, less chance for messing things up) then we could have 3 quality levels:

preview: determine frame, row, column skip values automatically to have an approximately 50MB volume (could be an advanced setting how much exactly, on a laptop I would set smaller value than on a desktop), it should be possible to load the preview within a couple of seconds
half: use every second row/column
full: no row/column skip

* preview: determine frame, row, column skip values automatically to have an approximately 50MB volume (could be an advanced setting how much exactly, on a laptop I would set smaller value than on a desktop), it should be possible to load the preview within a couple of seconds

So the flow would be something like:

Preview the full extent of the dataset
Set a ROI to define import bounds
Then only load the image within the ROI at the specified resolution (full or downsampled)
Provide the correct image offset etc...

Is that what you have in mind?

Yes.

Thanks I think that flow makes sense. Unfortunately, unless you have bandwidth to take this on, this will wait a bit as we have to do the workshop, finish the paper revision and then come back to it...


Uncaught TypeError: React.createRef is not a function

Hi, I'm getting lots of errors when trying to implement my own package or your example package like sample, form, movies, Instagram. I think your (documentation, video tuts) too old, that does not matched with your current GitHub repository. If i'm a new user then it is very difficult to learn and implement Vulcan package in project. How I would implement my own package successfully using Vulcan repository?
Please guide me.
Thanks

createRef is only available in React 16.3 I think, so you need to upgrade React. I've also removed createRef on the devel branch, if you pull the latest commits. Btw if you're running the devel branch you should know that some things will break, it's not a stable branch.


Addressbook - working with sources

Implement the following APIs:

[ ] ABAddressBookCopyArrayOfAllPeopleInSource
[ ] ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering
[ ] ABPersonCopySource
[ ] ABAddressBookCopyDefaultSource
[ ] ABAddressBookGetSourceWithRecordID
[ ] ABAddressBookCopyArrayOfAllSources

back to the future.


fix: No NuGet for v2.4.2 - Still v2.4.1 as latest release

🐛 Bug Report
There is no NuGet for v2.4.2. Normally when a new release comes out a new NuGet version is available as well.
https://www.nuget.org/packages/Microsoft.Fast.Components.FluentUI/
https://github.com/microsoft/fluentui-blazor/releases/tag/v2.4.2
This can probably fix this as well: https://github.com/microsoft/fluentui-blazor/issues/72#issuecomment-1646963981

We are having an issue with the library not picking up the latest version of the script. Need to investigate what is happening. No 2.4.2 package because of that. Might take a while because of summer vacation.

I wish you a great vacation @vnbaaij!

2.4.2 is on NuGet now


shouldRetryOnError function usage not updated in "API" and "Error Handling"

Following from vercel/swr#1574 and vercel/swr#1816, the shouldRetryOnError option can accept a function to conditionally determine if SWR should retry. The notes for Release 1.2.1 provide a basic usage example copied here.
useSWR(key, fetcher, {
  shouldRetryOnError: (error) => {
    // We skip retrying if the API is returning 404:
    if (error.status === 404) return false
    return true
  }
})

As such, it would be very helpful if the Error Retry section of Error Handling and the Options section of API could be updated with this new usage.

Yeah, without docs update it's an undocumented feature


KAFKA-16696: Removed the in-memory implementation of RSM and RLMM

The in-memory implementation of RSM and RLMM were written to write the unit/integration tests: https://github.com/apache/kafka/pull/10218
This is not used by any of the tests and superseded by the LocalTieredStorage framework which uses local-disk as secondary storage and topic as RLMM. Using the LocalTieredStorage framework is the preferred way to write the integration tests to capture any regression as it uses the internal topic as storage for RLMM which is the default implementation.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

QA is re-triggered, and I will merge it if QA does not show the related error.

Can you actually not remove this because I was starting to use it in the GetOffsetShellTool? The problem I faced with using the topic-based RLMM is that it requires the bootstrap-servers to start correctly. However, said bootstrap-servers are not present at initialisation time (due to determining the port dynamically)

Can you actually not remove this because I was starting to use it in the GetOffsetShellToolTest? The problem I faced with using the topic-based RLMM is that it requires the bootstrap-servers to initialise correctly. However, said bootstrap-servers are not present at initialisation time (due to determining the port dynamically)

We can get the port from the Kafkabroker using the boundPort method. If it does not work for you, Could you please open a draft PR? I'll take a look.

Can you actually not remove this because I was starting to use it in the GetOffsetShellToolTest? The problem I faced with using the topic-based RLMM is that it requires the bootstrap-servers to initialise correctly. However, said bootstrap-servers are not present at initialisation time (due to determining the port dynamically)

@clolov  Could you take a look at #15917 ?  I try to use another way to write tests for storage module. ClusterInstace get created and port is bound in testing phase. Maybe that can fix problem you described.

Okay, let's go forward with this so that you are not blocked on me, I will try to figure out a way forward and if not I will write again :)

Okay, let's go forward with this so that you are not blocked on me, I will try to figure out a way forward and if not I will write again :)

@clolov thanks! Please feel free to ping me if you have a draft PR. I'd like to make ClusterInstance works for more test cases.


Making responses from class-path resources

Is your feature request related to a problem? Please describe.
Currently we have a way to response with the content of some java.io.File with the help of Http.fromFile. However we haven't any means to response with the content of some class-path resource.
Describe the solution you'd like
I think we could have symmetric method to make a response from a resource:
trait Http[-R,+E] {
  def fromResource(resourceName: String): HttpApp[Any,Nothing] = /* ... */
}

Similar directive getFromResource from Akka HTTP can be used as the reference implementation.
Additionally I propose to add overloaded methods fromFile and fromResource with explicit arguments for content-type. They are useful in cases when correctly auto-detecting of media type is hard or impossible.

Well I think it was implemented in #1074.


Documentation links are broken

Both documentation links are broken. How do i use this with expo?

Sorry about that, there’s not really any documentation to this library as of know - the best you can do is follow the TypeScript types :)

@343max were you able to get this to work on Expo? Same issue here.

@343max @stevewillard The only thing that should be needed is a Custom Dev Client (it does not work with Expo Go since it has native bindings). But the whole library is at a very experimental state.. :)


Please publish package to PyPI

Thanks for your work to produce this grammar. Any chance you can also publish the built wheel and tar.gz to PyPI? This makes it easier for other projects to use.
For example, there already exists on PyPI:
https://pypi.org/project/tree-sitter-python/
https://pypi.org/project/tree-sitter-java/
https://pypi.org/project/tree-sitter-go/

Sure — I would like to sort out #433 first though so that we have a reproducible way to build it (which I can then do from CI).


Update of ansible-galaxy roles

Hi,
it seems that the ansible-galaxy roles have not been updated for some time. As of today it's not possible to install luminous with ceph-ansible because the ceph-mgr role is missing in galaxy and the code available there pre-kraken.

Related: #1637.

@dmesser Sorry about that, I'm currently fixing that. The roles are getting updated.


TypeError: Player.init() missing 1 required keyword-only argument: 'parentteamid' in get_team_roster

Looks like it's a case sensitivity thing.
See the output from this endpoint: https://statsapi.mlb.com/api/v1/teams/120/roster as an example.
This can be reproduced by using the get_team_roster function with the following arguments:
120, rosterType="active", date="2024-06-24"

@mgbeck002 make sure you are up to date with the most current release, 0.5.22. I tried to reproduce your error and I am not able to.
The following does not produce any sort of error for me
>>> import mlbstatsapi
>>> mlb = mlbstatsapi.Mlb()
>>> print (mlb.get_team_roster(120, rosterType="active", date="2024-06-24"))

The Player data class in 0.5.22 has the attribute parentteamid already implemented
https://github.com/zero-sum-seattle/python-mlb-statsapi/blob/ae6e338bc89ff93196c1be0a872179d841ea3e11/mlbstatsapi/models/people/people.py#L170-L191
Upgrade and let me know if this issue still persists. If it does, post the output please

Sorry. I assumed it was an issue for all teams. Looks like it's an issue with the Phillies id 143. Specifically this player:
{
person: {
id: 675650,
fullName: "Michael Mercado",
link: "/api/v1/people/675650"
},
jerseyNumber: "63",
position: {
code: "1",
name: "Pitcher",
type: "Pitcher",
abbreviation: "P"
},
status: {
code: "A",
description: "Active"
}
},

import mlbstatsapi
mlb = mlbstatsapi.Mlb()

for team in mlb.get_teams():
    try:
        mlb.get_team_roster(team.id, rosterType="active", date="2024-06-24")
    except TypeError as e:
        print(f"Type error for team: {team.id}")

Type error for team: 143

@mgbeck002 thanks for included that information! It turns out you were right with that one edge case, the player Michael Mercado did not have a parentteamid and since it was a mandatory field it was throwing the error. Changed this to an optional field due the the situation and now everything should work. Upgrade to 0.5.23 and this should be fixed for you!

Thanks. That fixed it


fix(bump): Pass allow-same-version to npm version

npm version fails when setting the same version, which we do in CI when publishing release packages. This updates our uses of npm version to pass --allow-same-version.
Example failure in the publishing pipeline due to this issue: https://dev.azure.com/fluidframework/internal/_build/results?buildId=151607&view=logs&j=3dc8fd7e-4368-5a92-293e-d53cefc8c4b3&t=035f10b1-6721-511e-bd48-d7e028467fc2

Thanks for the review, @CraigMacomber!


Version 3.4.5 not backward compatible with 3.4.4 - Added optional chaining operator

Hi,
Just FYI we noticed that version 3.4.5 is not fully backward compatible with 3.4.4 as in our project we are still using ecmascript2015 which does not support optional chaining operator (holidays.js line 388, commit https://github.com/commenthol/date-holidays-parser/commit/4b11197787f9eb05f08fdf989bd3fbc48be4f025).

Same issue here, our builds suddenly broke.
We are using date-holidays on 3.21.3, and due to the loose version locking in it's package.json it automatically started using 3.4.5 of this package.
If anyone stumbles on this issue whilst using date-holidays, you can apply a temp fix by adding
"date-holidays-parser": "3.4.4"
to your package.json

@giuseppeturelli Sorry for breaking your build. I did not thought about es2015 compatibility.


Question: How to hidden mode function

Hello
I display pygwalker on web app.
I use latest version(0.4.6 ).
I don't have to display mode function  because I always use only walker mode.
Is it possible to hidden mode function?

Thanks for the feedback.
I think there can be two propsal for this:
1. Extra parameters
Usage example:
pygwalker.walk(df, mode='walker', enable_mode_option=True)

mode can be choosen from walker and enable_mode_option and it is the default value of selection.
enable_mode_option decide whether allow the end users to switch the mode.
2. Expose more compoments
For now,  pygwalke wrap all features and components from graphic walker together as a simple API, walk. But we can expose more raw components from graphic walker to allow developers to have more control of pygwalker.
usage example:
# walker component
pygwalker.walk(df)

# renderer component
pygwalker.render(df)

# table component
pygwalker.table(df)

Besides, @relakuman would you like to share what web app framework you are using to host pygwalker?

@ObservedObserver
Thank you for your reply.
I'm using FastAPI to host pygwalker.
I tried "mode" and "enable_mode_option",but it didn't work.
I also tried them on Jupyter lab, but the result was same.
Did I miss something?

Hi, the apply above are just proposal, we havn't implement them yet. This feature will be marked P1, which will be published in one week.

@ObservedObserver
Sorry for my misunderstanding! I appreciate you for the release announcement of new function.

@relakuman
pip install --upgrade pygwalker
pyg.walkwill not have mode option.


Decimal places

@arokem @richford @anotherjoshsmith The metadata table now shows 6 decimal places. Before we were doing something different because age just showed up as an integer (eg, 7 rather than 7.000000). Is there a good way to determine how to format the table? I can understand why we might want better precision. But in most instances it will just look weird to have that many zeros

This is a result of the formatting decisions made in #187. It's a one liner to change the number of decimal places. Just let me know what precision is best. Also, if you want, I can check if the whole column is full of integers and take away the decimal places in that case. That's more than a one-liner but should be fairly straight-forward.

Can we show as many decimal places as are defIndeed in the data? Otherwise
I would probably display  2 decimal places or an integer
Sent from a mobile device. Please excuse typos


Corrected error in RandonKeyCipherTest.java

I changed the cipherKeysAreRandomlyGenerated test so that it does not compare the new Cipher to the length of the old Cipher.

D'oh! That's a great catch, thank you :)


Single property populator is throwing an error

Hey Nick, I'm having trouble getting the populator to work for a single property in my form. An undefined method 'from_hash' for #<Loan:0x007fcec41b4280> is thrown when trying to set this for some reason. It looks like the object is found and set, but is not able to be deserialized? Not quite sure I understand what's happening under the covers.
Here's the code:
class CartItem::CreateForm < Reform::Form
  property :amount, validates: { numericality: { greater_than: 0 } }
  property :loan,
    populator: ->(params, *) {
      loan ? loan : self.loan = Loan.find_by(id: params[:id])
    }

  validate :minimum_investment_amount?

  def minimum_investment_amount?
    return unless amount < loan.investment_min
    errors.add :amount, "must be greater than minimum"
  end
end

And accompanying spec:
describe CartItem::CreateForm do
  let(:item) { CartItem.new }

  subject { described_class.new(item) }

  context "when amount is less than investment minimum" do
    let(:loan) { create(:loan, investment_min: 1000) }
    let(:attributes) { {loan: {id: loan.id}, amount: 100} }

    it { expect(subject.validate(attributes)).to be_falsey }
  end
end

Any help would be much appreciated.
trailblazer (0.3.3)
reform (2.0.3)

The form doesn't understand that this is a nested object and hence doesn't wrap the added Loan into a nested form. Try the following
property :loan,
    populator: ->(params, *) {
      loan ? loan : self.loan = Loan.find_by(id: params[:id])
    }, do end

Anyway, this is weird as the deserializer for this non-nested scalar property shouldn't be called. Can you report if that works for you? I will then further investigate. :wink:

When I do that (assuming the comma above was a typo), the referenced 'loan' object inside minimum_investment_amount? becomes some type of wrapper object (ActiveModel::Errors?) instead of the loan itself.
<#<Class:0x007fa7a50f99d0>:0x007fa7a47882e8 @fields={}, @model=#<Loan id: 1, ... >>, @_changes={}, @errors=#<Reform::Contract::Errors:0x007fa7a479bd20 @base=#<#<Class:0x007fa7a50f99d0>:0x007fa7a47882e8 ...>, @messages={}>>

And on a separate but related note, is this the preferred way to set up the form object for this case? The CartItem model is set as <CartItem :id, :loan_id, :amount, ...>, so it feels a bit odd to have a nested param structure with {loan: {id: 123}, amount: 100}. The loan is only meant to be referenced and not changed in any way.  Mainly, I just want to make sure I'm headed in the right direction here.
Thanks for the quick responses!

@tmullen just a quick bump to see how you got on. Do you need any more help here or have you got things sorted?

All is sorted. I ended up going a different direction using property :loan_id instead.
Will go ahead and close this. Thanks for the reminder. 👍


Download yaml for service does not give valid k8s manifest

Other areas (config, secret, pod, etc.) give the k8s manifest, but if I select Download YAML on a service, it gives only the spec plus links. Example:
app: domaintest
image: ibuildthecloud/demo:v3
imagePullPolicy: Always
links:
  remove: https://dashboard-rio-system.uo4yvo.on-rio.io/v1/rio.cattle.io.v1.services/default/domaintest-7xc5f
  rioupdate: https://dashboard-rio-system.uo4yvo.on-rio.io/v1/rio.cattle.io.v1.services/default/domaintest-7xc5f?riofile
  rioview: https://dashboard-rio-system.uo4yvo.on-rio.io/v1/rio.cattle.io.v1.services/default/domaintest-7xc5f?riofile
  self: https://dashboard-rio-system.uo4yvo.on-rio.io/v1/rio.cattle.io.v1.services/default/domaintest-7xc5f
  update: https://dashboard-rio-system.uo4yvo.on-rio.io/v1/rio.cattle.io.v1.services/default/domaintest-7xc5f
ports:
- "80"
rollout:
  pause: false
version: v0
weight: 10000

Types that have Rio-specific syntax use the rioview link to get the displayed YAML of the generic k8s (view) link.
We could add a toggle for it or something I guess, since seeing the status is sometimes useful, but this is the currently expected behavior.  Or just have rioview return the status and have the UI strip it out when switching to edit.

Hmm yeah I like the flag idea... the general view/edit look and feel being the simplified YAML is really nice and I think it does make sense to keep it. Having a flag would be useful in case someone wants to edit metadata (I know of one user so far who needs to use annotations to properly manage one of their services, so it would be helpful for those use cases).
Agreed about the links!

Annotations/Labels are at thing you could put into the riofile format...

Ah right, they do show up there.
We might be able to ignore this then. Do you think there is any use case for a user wanting the k8s manifest of a rio service? I can only think of them wanting to possibly manually apply it in a different cluster... but seems like that is very unlikely to happen.

Rio is no longer supported. If this is a general Rancher dashboard issue, please feel free to re-open with additional information.


DNS test fails to bind on port 80

Is this a BUG REPORT or FEATURE REQUEST?:
Bug report
What happened:
Using instructions from cncf's k8s-conformance, it will fail on openshift v3.9 (k8s v1.9.1)
[centos@master-1 results]$ oc logs -n e2e-tests-dns-dd7q2   dns-test-a0ddb023-78d1-11e8-b524-0a580a80006f -c webserver
2018/06/25 23:47:10 listen tcp :80: bind: permission denied

What you expected to happen:
Avoid to use a privileged port when possible. As an workaround one needs to give privileged scc to default systemaccount  from the namespace.
How to reproduce it (as minimally and precisely as possible):
Run sonobuoy on an openshift v3.9 cluster
Anything else we need to know?:
Environment:

Sonobuoy tarball (which contains * below)
Kubernetes version (use kubectl version):

$ kubectl version
Client Version: version.Info{Major:"", Minor:"", GitVersion:"v1.9.1+a0ce1bc657", GitCommit:"a0ce1bc", GitTreeState:"clean", BuildDate:"2018-04-11T20:47:54Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"", Minor:"", GitVersion:"v1.9.1+a0ce1bc657", GitCommit:"a0ce1bc", GitTreeState:"clean", BuildDate:"2018-04-11T20:47:54Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}

$ oc version
oc v3.9.0+ba7faec-1
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://api.rankmycluster.com
openshift v3.9.0+ba7faec-1
kubernetes v1.9.1+a0ce1bc657

Cloud provider or hardware configuration:

AWS

OS (e.g. from /etc/os-release):

$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Kernel (e.g. uname -a):

$ uname -a
Linux master-1 3.10.0-862.3.2.el7.x86_64 #1 SMP Mon May 21 23:36:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Same for container-probe tests:
$ oc logs  -n e2e-tests-container-probe-x92xd   test-webserver-afcc9674-78d5-11e8-b524-0a580a80006f
2018/06/26 00:14:34 listen tcp :80: bind: permission denied

This is a permissions issue with openshift, not a sonobuoy issue.
All of the configurations can be customized into sonobuoy, and if folks want to make openshift a supported default platform, then we'd happily accept patches.

I see. Thanks for clarification.


run a clustering algorithm over our data to first cluster it

feed this in as a feature for the rest of our pipeline to use.
we might be able to fit it on just a small subportion of our overall data if we want to run this more quickly.

i'm pretty psyched about this :)
http://scikit-learn.org/stable/modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans
Will definitely have to do it inside a FeatureUnion.
Will go nicely with: https://github.com/ClimbsRocks/auto_ml/issues/38

finished! though predictably it does not work well for high-dimensional spaces.


Include job ID in the admin-area jobs page

It looks like the job ID attribute is not included anywhere in the data shown in the admin-area jobs page.
Relevant use case: the admin find out that job 1234 may have some issues, and wants to access it directly.
We could include this information in different places:

We can expose the id query parameter, so that I can immediately search for a specific job via its ID
We can show the id column in the table
We can hide the id column from the table, but then let's at least include it in the csv file that one can download.

Higher-level: it's clear that we may prefer not to expose users to IDs, but it's a useful info for the admin.

Form with the Job Id field:


Add random circuit generator

What is the expected behavior?
The random circuit generator has been floating around qiskit in the form of a script. I encountered it in the Qiskit developer challenge.

The version at https://github.com/Qiskit/openqasm/blob/7a1d95c5b610e828e6e97963b4ad40fbbc69959f/benchmarks/quantum_volume/quantum_volume.py comes closest to what I encountered there. Another, similar version is found in https://github.com/Qiskit/qiskit-terra/pull/574
There is a newer variant that does something quite different at https://github.com/Qiskit/qiskit-terra/blob/2582fae6a3cf020f5715d8ed58b492eb91a7604d/tools/random_qasm_generator.py

I'd suggest adding such a random circuit generator to Aqua. It can be used for testing and for benchmarking. I prefer the first variant, since the depth is somewhat guaranteed. The parameter depth in the latter variant is somewhat of a misnomer since the output circuit does not have the given depth.
My experience
Personally, I've been using it in my mapper project (related to the Developer Challenge) to see how well the mapper performs on "Random" circuits. As it turns out, random circuits as generated by this tool are quite different from the circuits for other quantum algorithms.

I would agree with this idea. Random circuits are an important class of circuits that will be used in the near term on quantum devices (think Quantum Volume and Quantum Supremacy experiments).
The "application" would be benchmarking. It will use Terra underneath to generate circuits, just like other circuits generated by Aqua.

Actually, at Jay's suggestion, this will be best in Ignis when it comes out. Random circuits for Quantum Volume, Randomized Benchmarking, etc. It fits better with the description of Ignis as opposed to Aqua.
For now I'll move the random generator we have under qiskit/test/benchmarking for qiskit-terra benchmarking purposes, but eventually it will just call to Ignis.

As this is better suited to Ignis I am closing this issue here.


Debugging "Unable to connect to remove server"

I saw a few older issues that run into the same problem. If there is a fault in the login credentials, Rocketeer returns:
  [Rocketeer\Exceptions\ConnectionException]
  Unable to connect to remote server.
  With credentials:
     (..)

Unfortunately, this is not always enough to debug the specific issue when the credentials seem correct. This may depend on the library you are using, but is there a way to improve the debug output? In my specific case, I am supplying a DSA-key, which phpseclib does not support: https://github.com/phpseclib/phpseclib/issues/216
Also, could you document this key type restriction somewhere?

Yup will do

I was using this earlier (in case it helps) https://github.com/laravel/framework/pull/6989
Glad I didn't waste the time resubmitting just for it to get deprecated :)

Same here. Was using DSA and got a general "Unable to connect to remote server." message. (Got the same problem with using password, but probably because got configuration mixed up in a hurry.)

Connections in Rocketeer 3 are inherently Flysystem SFTP instances so login and errors are handled by them. The errors are a bit more specific although I do not see one specifically about DSA keys but I'll try to see if I can make a PR to their repository with it


After TransferLock unlock tokens

Need to unlock tokens after transfer
Signed-off-by: Georgii Shutov<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.006%) to 56.881%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
3910

Relevant Lines:
6874

💛  - Coveralls


GH-37094: Java - Flight SQL - StackOverflowException caused by org.apache.arrow.flight.FlightStream.next

DO NOT REVIEW (EXPERIMENTAL FIX)
Rationale for this change
Test Fix for https://github.com/apache/arrow/issues/37094
What changes are included in this PR?
Includes a minor change to the algorithm to convert the recursive call to a iterative call.
Are these changes tested?
No new tests are included. Experimental.
-->
Are there any user-facing changes?
No

Closes: #37094

Please do not review. Merely testing an idea and this doesn't include test cases yet. Work to be done to reproduce the user reported error to validate a few more details thoroughly.


Add type which encodes statically that a sequence of bytes are all zero

Especially in combination with the FromZeroes trait, it would be useful to be able to represent statically that a sequence of bytes are currently zero. Some operations which produce guaranteed-zero bytes (such as allocating new virtual memory pages) could get a performance or safety benefit from this functionality.
One hypothetical API would look like this, but there could be other ways of designing this:
// All bytes are 0. Note that there may be subtle interactions with
// interior mutability when handing out immutable references.
#[repr(transparent)]
pub struct Zero<T: ?Sized>(T);

// `T: AsBytes` allows us to inspect `T`'s bytes to confirm that they're all 0
impl<T: AsBytes> Zero<T> {
    pub fn new(t: T) -> Option<Zero<T>> { ... }

    pub fn try_from_slice(ts: &[T]) -> Option<&[Zero<T>]> { ... }
}

impl<T> Zero<T> {
    pub unsafe fn new_unchecked(t: T) -> Zero<T> { ... }
}

impl<T: ?Sized + AsRef> Zero<T> {
    pub fn try_from_ref(t: &T) -> Option<&Zero<T>> { ... }
}

impl<T: ?Sized> Zero<T> {
    pub unsafe fn from_ref_unchecked(t: &T) -> &Zero<T> { ... }
}

impl<T: ?Sized> Deref for Zero<T> { ... }

pub unsafe trait FromZeroes {
    fn from_bytes(bytes: Zero<ByteSlice<Self>>) -> Self { ... }

    fn from_slice(bytes: &[Zero<u8>]) -> Option<&[Self]> { ... }

    // Maybe modify existing zeroing methods to return a `Zero`?
    fn new_zeroed() -> Zero<Self> { ... }
}

Another option would be to use enums:
#[repr(u8)]
enum ZeroU8 {
    Zero = 0,
}

That doesn't solve all of our problems - e.g. it's not clear how we'd represent [ZeroU8; size_of::<T>()] in a generic context without generic_const_exprs stabilizing.


newly broken- Youtube watch later playlist

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.10.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
United States
Provide a description that is worded well enough to be understood
I'd been using yt-dlp https://www.youtube.com/playlist\?list\=WL for many months, perhaps years, as part of a script, and it broke today.  I did have a Google password reset, so just to be sure I re-downloaded the cookie jar from the browser.  yt-dlp is still able to download from other private playlists I have, so I'm not sure what's going on here exactly.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
% yt-dlp https://www.youtube.com/playlist\?list\=WL -vU
[debug] Command-line config: ['https://www.youtube.com/playlist?list=WL', '-vU']
[debug] User config "/Users/fms/.config/yt-dlp/config": ['-f', 'bestvideo[height<=?1080][height>?720][ext=mp4]+bestaudio/bestvideo[ext=mp4]+bestaudio/best[ext=mp4]/best', '-o', '~/Movies/%(title)s %(id)s %(uploader)s.ytd.%(ext)s', '--cookies', '~/.config/youtube-dl/ytcookies.txt', '--default-search', 'ytsearch', '--mark-watched', '--sub-lang', 'en', '--write-auto-sub', '--write-sub', '--embed-subs', '--add-metadata', '--xattrs']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] (pip) API
[debug] Python 3.9.14 (CPython 64bit) - macOS-12.6-x86_64-i386-64bit
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.10.04, Current version: 2022.10.04
yt-dlp is up to date (2022.10.04)
[debug] [youtube:tab] Extracting URL: https://www.youtube.com/playlist?list=WL
[youtube:tab] WL: Downloading webpage
WARNING: [youtube:tab] YouTube said: The playlist does not exist.
[debug] [youtube:tab] Final URL: https://www.youtube.com/playlist?list=WL
ERROR: [youtube:tab] WL: YouTube said: The playlist does not exist.
  File "/Users/fms/build/brew/Cellar/yt-dlp/2022.10.4/libexec/lib/python3.9/site-packages/yt_dlp/extractor/common.py", line 672, in extract
    ie_result = self._real_extract(url)
  File "/Users/fms/build/brew/Cellar/yt-dlp/2022.10.4/libexec/lib/python3.9/site-packages/yt_dlp/extractor/youtube.py", line 4223, in wrapper
    info_dict = func(self, url, smuggled_data)
  File "/Users/fms/build/brew/Cellar/yt-dlp/2022.10.4/libexec/lib/python3.9/site-packages/yt_dlp/extractor/youtube.py", line 5807, in _real_extract
    self._extract_and_report_alerts(data, only_once=True)
  File "/Users/fms/build/brew/Cellar/yt-dlp/2022.10.4/libexec/lib/python3.9/site-packages/yt_dlp/extractor/youtube.py", line 711, in _extract_and_report_alerts
    return self._report_alerts(self._extract_alerts(data), *args, **kwargs)
  File "/Users/fms/build/brew/Cellar/yt-dlp/2022.10.4/libexec/lib/python3.9/site-packages/yt_dlp/extractor/youtube.py", line 708, in _report_alerts
    raise ExtractorError('YouTube said: %s' % errors[-1][1], expected=expected)

It works for me. Your log suggests that the cookie file is not logged in. Could you try directly with --cookies-from-browser?

Sorry, I wasn't familiar with that option- but you are correct, it does work when I use --cookies-from-browser, closing.  Thanks!

quick tip: if you put the url in quotation marks then you don't have to worry about cancelling special characters


r1 feedback

Change 'coldhearted' -> 'cold-hearted'. Along with it being correct, this makes it consistent with 'cold-blooded'

coldhearted seems to be perfectly acceptable


[solution] Cypress & with Yarn PnP

Is your feature request related to a problem? Please describe.
The cause:
Error loading the reporter: cypress-mochawesome-reporter

We searched for the reporter in these paths:

 - ~/workspace/telekom.de/hvc-csp/cypress-mochawesome-reporter
 - ~/workspace/telekom.de/hvc-csp/node_modules/cypress-mochawesome-reporter

Learn more at https://on.cypress.io/reporters

Describe the solution you'd like
Step #1: Add mocha a required yarn package, so yarn PnP can resolve it for Cypress.
yarn add --dev mocha

Step #2: create in the root of the project file cypress-mochawesome-reporter.js with content:
const path = require("node:path");
const cwd = process.cwd();

// ref: https://yarnpkg.com/advanced/pnpapi
console.log("cypress-mochawesome-reporter.js: cwd =", cwd);
console.log("cypress-mochawesome-reporter.js: PnP =", path.join(cwd, ".pnp.cjs"));

const pnp = require(path.join(cwd, ".pnp.cjs"));
pnp.setup();
console.log("cypress-mochawesome-reporter.js: pnp =", process.versions.pnp);

// NOTE: at this point require('module') will be already patched by pnp and
// will have findPnpApi method; also `require('pnpapi')` will start to work.

let instance = {};

try {
  // ref: https://yarnpkg.com/advanced/pnpapi#requiremodule
  const { createRequire, findPnpApi } = require(`module`);
  const targetModule = cwd + "/";
  console.log("cypress-mochawesome-reporter.js: targetModule =", targetModule);

  const targetPnp = findPnpApi(targetModule);
  // console.log("cypress-mochawesome-reporter.js: targetPnp =", targetPnp);

  const targetRequire = createRequire(targetModule);
  // console.log("cypress-mochawesome-reporter.js: targetRequire =", targetRequire);

  const resolved = targetPnp.resolveRequest("cypress-mochawesome-reporter", targetModule);
  console.log("cypress-mochawesome-reporter.js: resolved =", resolved);

  instance = targetRequire(resolved);

  console.log("cypress-mochawesome-reporter.js: reporter loaded");
} catch (error) {
  console.error("cypress-mochawesome-reporter.js: error =", error);
}

module.exports = instance;

Follow the original configuration steps.
Describe alternatives you've considered
Refs:

https://github.com/cypress-io/cypress/issues/8008
https://github.com/cypress-io/cypress/issues/18922
https://docs.cypress.io/guides/tooling/reporters#Custom-reporter

Additional context
Cypress reporter executed in "isolated" node instance that does not have enabled P'n'P logic.

Cleaner version:
const path = require("node:path");
/* ref: https://yarnpkg.com/advanced/pnpapi */
require(path.join(process.cwd(), ".pnp.cjs")).setup();

const REPORTER = "cypress-mochawesome-reporter";

const resolve = () => {
  const cwd = process.cwd() + "/";

  try {
    const { createRequire, findPnpApi } = require(`module`);
    const targetPnp = findPnpApi(cwd);
    const targetRequire = createRequire(cwd);
    const resolved = targetPnp.resolveRequest(REPORTER, cwd);

    return targetRequire(resolved);
  } catch (error) {
    console.error(REPORTER + ".js: error =", error);
    throw error;
  }
};

module.exports = resolve();

Cleaner version:
const path = require("node:path");
/* ref: https://yarnpkg.com/advanced/pnpapi */
require(path.join(process.cwd(), ".pnp.cjs")).setup();

const REPORTER = "cypress-mochawesome-reporter";

const resolve = () => {
  const cwd = process.cwd() + "/";

  try {
    const { createRequire, findPnpApi } = require(`module`);
    const targetPnp = findPnpApi(cwd);
    const targetRequire = createRequire(cwd);
    const resolved = targetPnp.resolveRequest(REPORTER, cwd);

    return targetRequire(resolved);
  } catch (error) {
    console.error(REPORTER + ".js: error =", error);
    throw error;
  }
};

module.exports = resolve();

This breaks with new yarn4 pnpm

if you can open a PR and a test for that, it would be great.
I'm not familiar with Yarn PnP.

I have a question. I’m working in a monorepo environment using Yarn Berry 3.x.x with PnP.
Thanks to the code you provided, I successfully generated the report by using the appropriate paths. (Thank you!)
However, when I added import "cypress-mochawesome-reporter/register"; to e2e.ts, Webpack fails to resolve the register path.
How did you resolve the issue with the register?
error code on cli
Oops...we found an error preparing this test file:

  > cypress/support/e2e.ts

The error was:

Error: Webpack Compilation Error
Module not found: Error: Can't resolve 'cypress-mochawesome-reporter/register' in '/Users/projects/partner/apps/@e2e/cypress/support'
    at handle (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/@cypress/webpack-preprocessor/dist/index.js:212:23)
    at finalCallback (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:441:32)
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:505:17
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/HookWebpackError.js:68:3
    at Hook.eval [as callAsync] (eval at create (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/Hook.js:18:14)
    at Cache.storeBuildDependencies (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Cache.js:122:37)
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:501:19
    at Hook.eval [as callAsync] (eval at create (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/Hook.js:18:14)
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:498:23
    at Compiler.emitRecords (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:919:5)
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:490:11
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:885:14
    at Hook.eval [as callAsync] (eval at create (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/Hook.js:18:14)
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:882:27
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/neo-async/async.js:2818:7
    at done (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/neo-async/async.js:3522:9)
    at Hook.eval [as callAsync] (eval at create (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/tapable/lib/Hook.js:18:14)
    at /Users/Library/Caches/Cypress/13.12.0/Cypress.app/Contents/Resources/app/node_modules/webpack/lib/Compiler.js:736:33

This occurred while Cypress was compiling and bundling your test code. This is usually caused by:

- A missing file or dependency
- A syntax error in the file or one of its dependencies

Fix the error in your code and re-run your tests.


refactor(x/mint): introduce distributeDeveloperRewards methods; unit tests

Part of: https://github.com/osmosis-labs/osmosis/issues/1916
Continue refactoring DistributeMintedCoin to make it more testable. This change extracts a separate function for distributing developer rewards (distributeDeveloperRewards) and covers it with tests.
This change has no state-breaking changes and does not fix rounding issues from #1917 yet. However, it should help to isolate them to make the fix easier to do.
Brief Changelog

move developer rewards distribution to distributeDeveloperRewards and unit test it

remove some obsolete validation such as:

account address being an empty string

This is not possible due to param validation here:
https://github.com/osmosis-labs/osmosis/blob/c0052bbdaebac0ec94085e7742184ae2141706b9/x/mint/types/params.go#L226-L229
It has also proved to be untestable. Instead, a CONTRACT/invariant was made for this method:
https://github.com/osmosis-labs/osmosis/blob/c0052bbdaebac0ec94085e7742184ae2141706b9/x/mint/keeper/keeper.go#L265-L267

add more validations such as:

developer vesting module account not having enough balance to distribute the dev rewards:
https://github.com/osmosis-labs/osmosis/blob/c0052bbdaebac0ec94085e7742184ae2141706b9/x/mint/keeper/keeper.go#L265-L267

the rest of the logic is the same / with comments added

TestDistributeDeveloperRewards to cover any possible behavior and assert on all account state changes
Create issues for the logic to be refactored further and document them in code:

#1916  (next step)
#1917
#2025

Testing and Verifying
This change added tests and can be verified as follows:

TestDistributeDeveloperRewards

Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? no
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? no
How is the feature or change documented? not applicable

@ValarDragon thanks for the suggestion, please the first part with the direct copy of the logic here: https://github.com/osmosis-labs/osmosis/pull/2065

Closing this, will submit via 2 smaller PRs


Issues with DisplayFormat and HTML5 dates?

If I declare a property like this:
[DisplayName("Purchased Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[Required]
public DateTime? DatePurchased { get; set; }

And then render it with this HTML:
<input asp-for="LiftingItem.DatePurchased" class="form-control" LiftingItem.DatePurchased" class="form-control" />

Then Chrome will fail to display that date, because

The HTML5 date input specification refers to the RFC3339 specification , which specifies a full-date format equal to: yyyy-mm-dd

(from this Stack Overflow answer).
This is not at all obvious in the tutorial as when that tutorial explicitly sets the format, it sets it to "{0:yyyy-MM-dd}". The majority of countries don't (unfortunately) use a yyyy-MM-dd format, so am I right in saying that the use of DisplayFormat  for non yyyy-MM-dd format dates is always going to cause an issue?
The problem this creates is that if [DataType(DataType.Date)] is added then a datepicker is correctly rendered in a HTML5 compatible browser, and will display the date in the local culture format because the HTML5 date controls handle that.  However, using the HTML5 date requires that MVC render the date in a yyyy-MM-dd format, which in turn means the date will not be shown in the local culture format in browsers without the HTML Date, e.g. Internet Explorer.    Even if you then use a datepicker control (e.g. jQuery datepicker) in IE the date will still be rendered in the yyyy-MM-dd format initially.
It seems like there needs to be either:

a way to consider whether the browser can support HTML5 dates when specifying the DisplayFormat
or, some way to control the way dates are rendered on HTML5 compatible browsers in the definition of the input tag helper?

Effectively it seems like the date needs to be rendered differently in the HTML passed to the browser depending on the browser's HTML 5 Date compatibility - is there any way to achieve that currently?  Or am I completely missing something?

@dougbu, can you please look into this, thanks!

am I right in saying that the use of DisplayFormat for non yyyy-MM-dd format dates is always going to cause an issue?

This is correct for type='date', type='time' and type='datetime-local' fields. However it is not correct in general because values may be displayed in type='text' fields or a <textarea>.

a way to consider whether the browser can support HTML5 dates when specifying the DisplayFormat

MVC makes no use of browser capabilities. However the switch you're requesting could be built on top of this framework. For example, could enable tag helpers as services, subclass InputTagHelper / TextAreaTagHelper / etc., and register the replacements as services.

@mkArtakMSFT / @danroth27 if we get additional interest in this area, we could make it easier to override the default way this feature works e.g.

Limit where we use HtmlHelperOptions.Html5DateRenderingMode, ViewContext.Html5DateRenderingMode and IHtmlHelper.Html5DateRenderingMode to situations where we're sure a type='date', type='time' or type='datetime-local' field will be generated

being sure is likely the hard part here 😈

Add a new method e.g. public virtual Html5DateRenderingMode GetHtml5DateRenderingMode(ActionContext) to HtmlHelperOptions and use it when instantiating ViewContext (which will also update our IHtmlHelper implementations)

base implementation of this method should just return the Html5DateRenderingMode property value
override could use information from the ActionContext to determine the browser's capabilities and the method's return value
only ViewContext references this property directly

Thanks @dougbu. As there was no much request during all this time for this issue (no thumbs-up or anything similar) we'll just close this. Of course, taking into account your workaround.

MVC makes no use of browser capabilities. However the switch you're requesting could be built on top of this framework. For example, could enable tag helpers as services, subclass InputTagHelper / TextAreaTagHelper / etc., and register the replacements as services.