Author: Dipin Krishna
Flutter: the Android keyboard won’t open on a field with an iOS-only TextInputAction
A TextField with TextInputAction.join works on iOS. In a debug build on Android, tapping it gives the field focus and nothing else: no keyboard, no cursor, and nothing in logcat. The release build of the same code is fine. It looks like a broken emulator keyboard and it is one line of Dart.
Test fingerprint login in the Android emulator from the command line
The Android emulator's fingerprint sensor is a console command: adb emu finger touch 1. Getting to the point where that command does anything takes a PIN, a trip through the enrollment wizard and a wait for the sensor to start listening. All of it can be scripted, including a screenshot of a prompt that adb screencap returns as a black frame.
Shrink variable webfonts by removing the axes you don’t use
Fonts were more than 90% of the bytes on a post here. Subsetting to Latin had already been done, since that is how Google Fonts serves them. The weight was in the variation data: an optical-size axis the page pins at one value and a weight range it uses a sixth of. Instancing both away cut the fonts by 73%.
Test Face ID in the iOS Simulator from the command line
The Simulator's Features menu has three Face ID items: Enrolled, Matching Face and Non-matching Face. All three are notifications you can post with simctl, so a script can enroll a face, wait for the prompt and answer it. The one thing the simulator will not do is enforce biometric access control on a Keychain item.
__debugInfo() does not hide anything from dd()
The card object in my Laravel package kept its number in a private property, masked it in __debugInfo(), and marked the constructor arguments #[SensitiveParameter]. dd() printed the full card number and CVN anyway, and so did var_export() and an (array) cast. The fix was to stop storing them on the object at all.
wp_update_post() eats your backslashes
Two WP-CLI scripts rewrote 78 posts on this site. 69 came back exactly as planned. The other 9 lost every literal backslash they had, including the string interpolation in two Swift tutorials, and nothing reported an error. wp_update_post() expects slashed input and unslashes whatever it is given.