proposal: os/user: add iterators over users and groups

Currently os/user package supports users and groups lookup via name or id. Some applications might need functionality to iterate over all available users/groups in the system. On unix there is getent command which can retrieve users or groups by calling getent passwd or getent group respectively. However, this is not very convenient. A go-native functionality could remove the need of calling external commands.
Update: use slice returning function based api instead of callback based iterator api
After receiving some internal feedback, I was recommended to not use callback based iterator API. Since callback based api introduces a lot of unnecessary complexity, slice returning function API might be more reasonable.
Updated public facing API:
package user

// ListUsers returns a slice of all available user entries.
func ListUsers() ([]*User, error) {
	return allUsers()
}

// ListGroups returns a slice of all available group entries.
func ListGroups() ([]*Group, error) {
	return allGroups()
}

Example usage:
// Users
users, err := user.ListUsers()
for _, u := range users {
	fmt.Printf("Username: %s\n", u.Username)
}
if err != nil {
	fmt.Printf("error encountered while iterating users database: %v", err)
}

// Groups
groups, err := user.ListGroups()
for _, g := range groups {
	fmt.Printf("Groupname: %s\n", g.Name)
}
if err != nil {
	fmt.Printf("error encountered while iterating groups database: %v", err)
}

However, more feedback from go maintainers is needed in order to proceed.
Initial callback based proposal
Here is a proposed user facing public api in os/user:
package user

// NextUserFunc is used in users iteration process. It receives *User for each user record.
// If non-nil error is returned from NextUserFunc - iteration process is terminated.
type NextUserFunc func(*User) error

// NextGroupFunc is used in groups iteration process. It receives *Group for each group record.
// If non-nil error is returned from NextGroupFunc - iteration process is terminated.
type NextGroupFunc func(*Group) error

// IterateUsers iterates over user entries. For each retrieved *User entry provided NextUserFunc is called.
//
// On UNIX, if CGO is enabled, getpwent is used in the underlying implementation. Since getpwent is not thread-safe,
// locking is strongly advised.
func IterateUsers(n NextUserFunc) error {
	return iterateUsers(n)
}

// IterateGroups iterates over group entries. For each retrieved *Group entry provided NextGroupFunc is called.
//
// On UNIX, if CGO is enabled, getgrent is used in the underlying implementation. Since getgrent is not thread-safe,
// locking is strongly advised.
func IterateGroups(n NextGroupFunc) error {
	return iterateGroups(n)
}

Example usage:
// Iterating all users
err := user.IterateUsers(func(u *user.User) error {
	fmt.Println(u.Name)
	return nil
})
if err != nil {
	log.Fatalf("error occurred while iterating users: %v \n", err)
}

// Iterating all groups
err := user.IterateGroups(func(g *user.Group) error {
	fmt.Println(g.Name)
	return nil
})
if err != nil {
	log.Fatalf("error occurred while iterating groups: %v \n", err)
}

cc @bradfitz @kevinburke

How does this deal with groups in NIS/AD/other non-local sources?
Looking at the CL, iteration on Unix seems to only consult /etc/passwd and /etc/group.

@neild when cgo is enabled iterate_cgo.go will be used for unix. This file contains logic that utilises getpwent and getgrent libc routines which deal with fetching users or groups from other than /etc/* sources.

@mjonaitis1  I think it would be better to port getpwent and getgrent from C to Go, otherwise pure-Go programs will work differently with regards to this functionality.

@mjonaitis1 I think it would be better to port getpwent and getgrent from C to Go, otherwise pure-Go programs will work differently with regards to this functionality.

getpwent/getgrent are part of POSIX.1-2001, and it is the recommended way to get users/groups out of the system. If one wants a reasonable way to retrieve system's users/groups, then they should use the system interfaces. In fact, exactly like golang stdlib does today with Lookup* calls.
The most common and desired case (in fact, the reason why we made this pull request) — the glibc's getpwent cannot be ported to pure go, since it requires dynamically loading C shared libraries; this is just how getpwent of glibc works.

There is no POSIX api for such iteration and the implementation might trigger a huge number of element lookups when applied to a corporate user/group database with 100000 and more entries.
I would prefer to call a more specialized user directory function in that case and work with libraries better suited for such lookups and filtering and did so when I needed it.

Why does this need to be in the standard library?

Why does this need to be in the standard library?

For an internal project, we needed an API to iterate over system users and groups. Go standard library package os/user already handles lookup, but not listing or iteration. While a third-party package for iteration can be done, code will need to be copied, since most of the machinery is private to os/user package. We think it may be useful to have iteration/listing to the broader community.
Furthermore, we have some plans to open source an nss library in Golang. Since our library supports iteration (i.e. backs glibc’s getgrnam(3), getgrgid(3), getpwnam(3), getpwuid(3)), it would be helpful to have an API to piggy-back to; a standard way to iterate over users and groups would allow the library to support a single api and be a drop-in extension.

@mjonaitis1 I think it would be better to port getpwent and getgrent from C to Go, otherwise pure-Go programs will work differently with regards to this functionality.

Even if getpwent could be ported to pure Go, it might not be a good idea. The setpwent/getpwnent/endpwent appear to have been designed without much regard to multi-threading. For example, if two threads want to iterate and not be exposed to non-deterministic gaps, they must agree to coordinate their iteration sessions through some mutex. This is cumbersome and slow. So instead of porting these functions to go, we can simply reuse them since they are posix compliant.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

No change in consensus, so declined.
— rsc for the proposal review group


File path in the browser module file

Description
sometimes in a big projects with tons of dependencies there is a problem to point to the exact file with the error, so by adding the file path (relative to the project) it will help to point into the exact file
Suggested solution
in the JavaScript module files for the browser (in dev) include a comment at the top with the file name relative to the project
Alternative
No response
Additional context
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 request the same feature to avoid creating a duplicate.

Adding comments to each file by default requires creating a sourcemap to map back to the original position. Vite's URL requests are usually close to the filesystem path too, so it's not hard to find the original path. Otherwise, you can also create a Vite plugin to add the comment by default. Hence, I don't think this is something Vite will support by default.


distinction between automatic closing and user action

Hi, I have a case where I have to make a distinction between situations when user clicks a toast in order to close it and another one, when toast autocloses. I've prepared a pull request #104 in which I add an event object as a second parameter for onpop callback. It is not required by my current needs to have an event object there, as a simple boolean flag would be enough. Looking forward, however, maybe it would be more appropriate to make this parameter an object, that would allow to be enhanced in future without breaking changes. It could be something like that:
onpop(id, details) => {
  if (details.autoClose) {
     console.log('closed by user')
  } else {
     console.log('closed automatically')
  }
}

where details could be something like this:
details: {
  autoClose: false,
  originalEvent: <click>,
  .... whatever comes in future
}

Please let me know what you think about it.

Hey, thanks so much for the PR! 🙏
I'll move this conversation to #104 - let's talk there.


I have 6GB memory GPU, can I still do the training ?

Hi , thanks for contributing  to open source community.
I have created a dateset in format of COCO now I would like to proceed to the training, but I got stuck at cuda out of memory error, I have reduced to batch_size to even 1 but it will still not run the training.
Can my GPU still be used ?

try to reduce the max_size in config, this is the max size of the image

ok, but my training images are with 1280x720 size, so what will happen to images if i set max_size to lets say 550 ?

yes

Yeah you should not change max_size. Changing it to 1280 was probably why you were running out of memory.


Andrey #394 provide a Last Updated info

Provides a Last Updated info. Please check the format, March 13th 2018, 9:46:25 pm, is that good?

Let's do: 2018-03-13 21:46:25Z
Thanks.

Deploy preview for landscape ready!
Built with commit 654d4c6173510668f62885db9549258f5ee2e4bd
https://deploy-preview-397--landscape.netlify.com


Issue with Debugging

Hi,
I am at the debugging stage and I am getting the following error

Could you provide any advice on how to fix this?
Thank you

What step are you on from the README.md page?

Hello,
I am on the below step.
Open \TeamsEngagementHub\EngagementHub\EngagementHub.csproj in Visual Studio and start the debugger (F5). This will run the backend APIs locally and the config files have been hardcoded to point to this running instance of the APIs
Thank you

I think you may have somehow opened something other than EngagementHub.csproj.  That error happens when the currently selected project in VS is not a runnable project, like a library project for example.  If you double click on the EngagementHub.csproj file it should open VS and point to the right project for step 11 and it should look like this:

Can you double click the project file and then hit F5 and let me know if it looks like what I've shown above and it that fixes your issue.

@coastalfox , where you able to try the suggestion I made?  Are you past this now?

I am going to close this issue and assume that my suggestion either fixed the problem or I did not get back to you fast enough and you have abandoned your exploration of this solution.  If you'd like to reopen this issue, just let me know.


li break ol and in header  break parent

if have long string in header, the  will break the parent.
in content div, the li will break ol.
I have fixed this issues, please see
a3a77b4e79952b7dc73816ed4ee25e712fbfb46d

Please resubmit with the issue template or make a pull request if it is a fix you created. I need more information to understand what you are saying.


[Support] <Firewall Tutorial for Wireguard Setup for a Noobie?>

Hi,
I'm a relative noobie to the VPN/Raspberry Pi scene. I'm pretty decent at following a tutorial so love when one of those is available. The install for PiVPN was great by the way, the single command line and the wizard made it all very user-friendly.
While looking through reddit and such, I saw that several users recommended that you install a firewall on your pi if you're using a VPN since you're opening yourself up to the internet. I saw that pi-hole's official documentation had some instructions for installing a firewall if you're using OpenVPN, but when I tried that on my build, it didn't seem to work.
I was wondering if there is any documentation or tutorial on setting up a basic firewall with using Wireguardd in PiVPN?
Oh and if it wasn't clear I also have Pi-Hole running on my RPi4.
Thanks

I was wondering if there is any documentation or tutorial on setting up a basic firewall with using Wireguard in PiVPN?

Not on the pivpn website or in the wiki here. The installer detects if you have some firewall rules in place and add additional rules to allow VPN connections, other rules you might want to add are out of scope of the script.

While looking through reddit and such, I saw that several users recommended that you install a firewall on your pi if you're using a VPN since you're opening yourself up to the internet.

While it's true that using a VPN like wireguard or openvpn opens up the raspberry pi to the internet, both VPN are configured to only allow legitimate clients to connect (to simplify, clients you created). You may want to setup a firewall in case you run additional services, like a web server of file server, which you open up to the internet (however you don't need to as you enter the home network using a VPN).
Also, when you are behind NAT (pretty much standard on every landline connection), even if you run a service on your Pi, people can't connect from the internet, unless you port forward or your router is somehow hacked or is misconfigured.
Look up iptables firewall to find more about how firewalls on Linux work.

No activity in a while, closing...
It's really sad when people open an issue and then never respond.


Improve Transport Security

This tightens up rippled's transport security by ensuring that servers that have a configured, fixed public IP can cause connections that appear to come from some other public IP to be rejected.

:+1: - the Travis failure seems to be caused by npm and ripple-lib


How to load Nuxt-Appollo-Blog on the Server Side?

Hi,
Great job with the GraphCMS, it's really awesome!
I'm new using Apollo and GraphQL. I would like to run this blog example on the server side, so when I check the source code on the browser I can see the whole content. This is just for SEO reasons.
Many thanks

Hey @faia20, Nuxt provides server side rendering for your application by default. There are no additional steps required to make it work, everything is rendered on the server before being sent to you. 🙂
Seeing as this is also not an issue with examples themselves, I'm closing this and would recommend that you dig into Nuxt documentation to learn more about how Nuxt handles your app.
And if you have any questions regarding the GraphCMS integration in the example, please come and join us on our community Slack and post your questions there 🙂


Add the ability to include and exclude paths for individual rules and rulesets

What problem are you trying to solve?
We are going to enable and disable rules on a path/file pattern basis.
What is your solution?
Keep the include/exclude rules for each ruleset and rule, and check them for each candidate rule in each file.
The rules for a ruleset are cached to avoid redundant checks as multiple rules belong to a single ruleset.
Alternatives considered
What the reviewer should know

Cleanup in #219.


Fix last tab inside container which does not have correct bottom margin

Fixes Semantic-Org/Semantic-UI#5408.

I think this needs some looking into because there must of been a reason for it being 0em


Refactor atomic operations usage

We now use standard C11 functions with _Atomic types. In addition, some atomic operations have been strengthened.

In pagemap, loads of the data structure have been changed from plain loads to loads with acquire semantics to make sure the allocation of the data structure happens-before its usage in other threads.
Before entering the ABA protected CAS loops (ponyint_mpmc_pop, pool_push and pool_pull), we now load the whole ABA data structure in one atomic operation instead of loading each member separately. This ensures the shared data isn't modified between member loading.
Every access of a shared variable is now atomic. We use relaxed ordering whenever possible so there should be almost no overhead on most platforms.

So the CI is failing

On Linux because GCC 4.8 doesn't have a stdatomic.h file. We'll have to update to GCC 4.9 here.
I'm not sure why on OSX because Apple's Clang in Travis seems to be based on Clang 3.5 which is supposed to have a working stdatomic.h
On Windows because MSVC doesn't know about C11 atomics. It should be solvable by falling back on C++11 atomics.

The fix for the CI failures on OSX is in #1207. That PR should be merged before this one.


TypeConverter not found on Prerelease: 3.0.0-dev.13

The TypeConverter class is not found. The package import is marked as unused.
Steps to Reproduce
Copy and paste the code from the docs into its own file: https://isar.dev/type_converters.html#creating-a-typeconverter
Code sample
import 'package:isar/isar.dart';

enum Relationship {
  single,
  married,
  itIsComplicated,
}

class RelationshipConverter extends TypeConverter<Relationship, int> {
  const RelationshipConverter(); // Converters need to have an empty const constructor

  @override
  Relationship fromIsar(int relationshipIndex) {
    return Relationship.values[relationshipIndex];
  }

  @override
  int toIsar(Relationship relationship) {
    return relationship.index;
  }
}

Version

Platform: iOS, Android, Mac, Windows, Linux, Web
Flutter version: 1.0.0+1 (sdk: ">=2.17.6 <3.0.0")
Isar version: 3.0.0-dev.13
Isar Generator version: 3.0.0-dev.13

TypeConverters have been removed in v3 dev versions. They have been replaced by embedded objects and enum support. The docs will be updated as soon as a stable version is available.

@leisim can you give an example on how to use it now?

@enumerated
late BallType ballType;
Use it like that. With @enumerated tag on tap.
On Sun, Sep 4, 2022 at 3:06 PM Simon @.***> wrote:

@leisim https://github.com/leisim can you give an example on how to use
it now?
—
Reply to this email directly, view it on GitHub
https://github.com/isar/isar/issues/601#issuecomment-1236303171, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOXQQDLYWM6C5LF7WW3GECLV4RYDNANCNFSM6AAAAAAQAEGVTQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@leisim Since this is my first comment on this repository, I'd like to thank you for the amazing work on Isar!
However, I'm not entirely sure if it's a smart decision to remove type converters entirely. To me, it seems like there are many potential use-cases for them.
For example, I'm currently storing Durations by converting them to milliseconds (the possible gain in precision by using microseconds is not relevant for me). Depending on the project, needs might vary though, so being able to create my own type converter and specify the precision myself is quite handy.
I know that it's possible to circumvent this either by using the getter-setter pattern suggested in #594, or by subclassing Duration. Both solutions seem a little unconventional to me. Adding a getter and setter to each entity just for the database representation will clutter the codebase and creating subclasse could be confusing to new team members and works quite differently from any other database solution I've ever used (see EF Core, Spring Data, Mongoose and MikroORM).
What was the reason to remove this functionality? I really liked the way it was implemented before! 🙂


Add missing Ord and ReserveItems impls

Add missing implementations:

ReadSlice: Ord+PartialOrd+Eq+PartialEq
OptionRegion: ReserveItems<Option<T>>
ResultRegion: ReserveItems<Result<T, E>>

I had to bump the minimum Rust version to 1.77 because older versions fail to use the Ord and related implementations because they can't understand trait bounds on the GAT correctly.


Cool stuff, where to get?

Hi, sorry for this annoying question... i thinked about creating something similar with RPI0 and a power-bank, but this project is nicely integrated so i could be provided to non-technicans.
So the question is, when, where to buy? What is the estimated price?
Thank you :)

Hi! This is a reference design, so it's not for sale. But, you can reproduce the entire codebase using an Adafruit BLE Feather, as @xobs has upstreamed all the necessary patches to the Circuitpython mainline.


Wording in Hint Invalid amount (Send page)

In the send page if user input too many decimals we get the Hint label for minimum amount instead of something like:
"Invalid amount. Too many decimals"

Yeah it should be changed for something like:

Invalid amount. (Note amounts lower than 0.00005 BTC are invalid.)

no, i think the hint is triggered because too many decimals (154863,2 sats)
(on the second screenshot i delete one decimal and no hint (154863 sats)
so its not look as a wording issue, but need handle 2 different cases:

amount < minimum amount
precision < 1 sat

I understand that. But the rewording makes it so it doesn't imply that setting it too low would be the only way to make an amount invalid.
------- Original Message -------
On Saturday, May 13th, 2023 at 5:47 PM, pythcoiner @.***> wrote:

no, i think the hint is triggered because too many decimals (154863,2 sats)
(on the second screenshot i delete one decimal and no hint (154863 sats)
so its not look as a wording issue, but need handle 2 different cases:

amount < minimum amount
precision < 1 sat

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

ok let me try handle that


Flutter web with  FLUTTER_WEB_USE_SKIA=true  Chinese garbled

flutter build web --release  everything is all right.
flutter build web --dart-define=FLUTTER_WEB_USE_SKIA=true --release.     The Chinese language appears disorderly code.

@ZhangLiuCheng
testing the code below with the latest master
import 'package:flutter/material.dart';

void main() => runApp(
      const MaterialApp(
        home: Material(
          child: Text('你好，世界'),
        ),
      ),
    );

[✓] Flutter (Channel master, 1.24.0-8.0.pre.374, on Linux, locale en_US.UTF-8)
    • Flutter version 1.24.0-8.0.pre.374 at /home/francesco/snap/flutter/common/flutter
    • Framework revision 183f0e797a (15 hours ago), 2020-11-26 19:12:28 +0100
    • Engine revision 20caf54969
    • Dart version 2.12.0 (build 2.12.0-76.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /home/francesco/Android/Sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /snap/android-studio/current/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio
    • Android Studio at /snap/android-studio/current/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /snap/android-studio/current/android-studio
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (3 available)
    • Linux (desktop)  • linux      • linux-x64      • Linux
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 87.0.4280.66

• No issues found!

the fonts are unreadable

flutter doctor -v

[✓] Flutter (Channel master, 1.24.0-8.0.pre.374, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.24.0-8.0.pre.374 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 183f0e797a (16 hours ago), 2020-11-26 19:12:28 +0100
    • Engine revision 20caf54969
    • Dart version 2.12.0 (build 2.12.0-76.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0.1, Build version 12A7300
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.50.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.15.1

[✓] Connected device (3 available)
    • macOS (desktop)  • macos      • darwin-x64     • Mac OS X 10.15.4 19E2269
      darwin-x64
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome
      87.0.4280.67

• No issues found!

May be related to https://github.com/flutter/flutter/issues/68704

zhangliucheng@zhangliuchengdeMacBook-Pro Desktop % flutter doctor -v
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
Downloading package sky_engine...                                  732ms
Downloading flutter_patched_sdk tools...                         2,557ms
Downloading flutter_patched_sdk_product tools...                 2,573ms
Downloading darwin-x64 tools...                                   119.1s
Downloading darwin-x64/font-subset tools...                        975ms
[✓] Flutter (Channel master, 1.24.0-8.0.pre.374, on Mac OS X 10.15.7 19H2 darwin-x64, locale zh-Hans)
• Flutter version 1.24.0-8.0.pre.374 at /Users/zhangliucheng/Documents/software/flutter
• Framework revision 183f0e797a (19 hours ago), 2020-11-26 19:12:28 +0100
• Engine revision 20caf54969
• Dart version 2.12.0 (build 2.12.0-76.0.dev)
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
• Android SDK at /Users/zhangliucheng/Library/Android/sdk
• Platform android-29, build-tools 29.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.2, Build version 12B45b
• CocoaPods version 1.9.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.3.3)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
[✓] VS Code (version 1.42.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension can be installed from:
🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[!] Proxy Configuration
• HTTP_PROXY is set
! NO_PROXY is not set
[✓] Connected device (3 available)
• zhangliucheng-iphone (mobile) • 00008030-001065691169802E • ios            • iOS 14.1
• Web Server (web)              • web-server                • web-javascript • Flutter Tools
• Chrome (web)                  • chrome                    • web-javascript • Google Chrome 87.0.4280.67
! Doctor found issues in 1 category.
zhangliucheng@zhangliuchengdeMacBook-Pro Desktop %

Closing this as a duplicate of https://github.com/flutter/flutter/issues/53897
I am working on a fix now

Closing this as a duplicate of #53897
I am working on a fix now

Another issuse , if i put chinese.ttf in assets , it works and show the chinese
BUT "TextSpan" still show xxx
please notice this issuse on your fixing, thanks

Closing this as a duplicate of #53897
I am working on a fix now

hey, I face the same issues. can you help me, please.

Any updates? I still face this in 2.2!


Metadata v14 pretty prints

example-print-metadata is running as previously

Looks good to me, only the minor typo :)
I agree not to tackle #156 yet.

OK. Then I will close this task, after the merge.


[ML] fix: Add type instance var to MonitorInputData

Description
This pull request addresses some feedback from our Api Review, and ensures the presence of type discriminator type on the MonitorInputData class and subclasses. There was an input_type parameter that was renamed to type, and documented in docstrings.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


Update to "silverstripe/framework": "^3.1.0"

Hi @nglasl
great package! Would it be possible to update the dependency from "silverstripe/framework": "3.1." to "silverstripe/framework": "^3.1.0"? We are using 3.2. and used a fork to try it out, seems to work all fine.
Thanks

Sorry for the delayed response. I'm planning on going through and doing a proper 3.2 update very soon (replacing anything that changed fundamentally come 4.0), rather than just bumping the dependency :)
I will however keep you in the loop, so you don't need to maintain a fork. Thanks for letting me know!

Cool. Thanks. Should I keep the issue open until then or close it?

We'll leave it open for now, just as a reminder :)

I just wanted to let you know that 2.2.0 has been released, which bumps the framework dependency to 3.2 as you were looking for. I haven't found time to look any further into the update, so please keep in mind that some things may not play nicely until then :)

Thanks!


Fixed dragging issue with Vertical[Up/Down]Swipe Navigator sceneConfi…

This commit fixes an ongoing issue with the VerticalUpSwipeJump and VerticalDownSwipeJump NavigatorSceneConfigs. The issue was that the NavigatorSceneConfig was referencing different string constants as Navigator, causing Navigator to incorrectly take left-to-right swiping to mean dismissing a view that had been dropped in from the bottom or top. In addition, looks like the pop gesture was never set and so it inherited BaseLeftToRightGesture from BaseConfig. I'm actually not entirely sure what the pop gesture does so this may be incorrect now, perhaps someone can shed some light on that.
The issue is also detailed in #6663, complete with example.
To assist in testing this fix I added the two transition types to the main NavigatorExample. Two new options appear for pushing additional scenes into the stack: 'Jump in from top' and 'Jump in from bottom'. Both of those can now, correctly, be dismissed by dragging into the direction the scenes came from.
I couldn't think of a better way to help test, if these options are not wanted in NavigatorExample I can go ahead and remove them.
…gs fixes #6663

@neciu would you mind taking a look at this pull request? It's been a while since the last commit was reviewed.

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/fixed-dragging-issue-with-verticalupdownswipe-navigator-sceneconfi
Product Pains has been very useful in highlighting the top bugs and feature requests:
https://productpains.com/product/react-native?tab=top
Also, if this issue is a bug, please consider sending a pull request with a fix.


Base class for DEM model

Related to #1.
We need to define a base class for the DEM model. This would dictate what the expected inputs are and how to return outputs.
Each DEM model would then inherit from this base class and implement a particular method (e.g. _model) at a minimum.

We have at least a bare bones version of this


Is there a way to get all posts regardless of users?

First of all, you've done an amazing job. Well done.
I am looking at this api now: .listPosts(params)
It seems to me it is limited to get posts based on users according to your param example.
api.listPosts({
user_id: '<user_id>',
max_cursor: 0,
})
.then(res => console.log(res.data.aweme_list))
.catch(console.log);
So my question is, can we get all posts regardless of users?
Your answer would be appreciated.
Regards!

Not using that endpoint.  To achieve what you want, look at the ListForYouFeed endpoint, which is an infinite list of posts (curated to your account).  You'll need to use the max_cursor field for pagination
There are also a couple of other endpoints if you want to limit your search:

ListPostsInHashtag to restrict posts to those within a specific hashtag
ListFollowingFeed to restrict posts to only users that your account follows


Fix sending locked tokens

Solves #1737

Codecov Report

Merging #1741 (6ca7329) into development (11be30c) will increase coverage by 0.00%.
The diff coverage is 40.00%.

@@             Coverage Diff              @@
##           development    #1741   +/-   ##
============================================
  Coverage        32.36%   32.36%
============================================
  Files              134      134
  Lines            12843    12843
============================================
+ Hits              4156     4157    +1
+ Misses            8687     8686    -1

Impacted Files
Coverage Δ

jumpscale/clients/stellar/stellar.py
21.87% <40.00%> (+0.20%)
:arrow_up:

Continue to review full report at Codecov.

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


Support for answer display differing from name

I have a case  where I'm providing additional context information in my checkbox choices that, for ease of readability, I don't want to show in the answer confirmation.
Something like
choices = [
    {"name": "Foo | address | info | other", "value": "foo"},
    {"name": "Bar | address | info | other", "value": "bar"},
    {"name": "Baz | address | info | other", "value": "baz"},
]

This looks great at the prompt but if the user selects them all they'll end up with an answer/confirmation with something like
? Choose some ['Foo | address | info | other', 'Bar | address | info | other', 'Baz | address | info | other']

It's the options they selected but at that point the only relevant info I'd like to show is
? Choose some ['Foo', 'Bar', 'Baz']

Is this by chance something already supported or something you could see adding in a future update? An additional key like answer I could provide when defining my choices would be ideal, but my personal case could also be served with a name->answer transformer I could define

Hi @rthill91 ,
This feature currently exists, each prompt support an additional argument called transformer which should be a function that takes an argument (name or list of names of the choices) and will be up to you to perform additional logic to change the visual that displays.
It is documented here.
And here is another example.
This has been done a while ago but I can't recall the reason why it only receives the name of the choice....let me know if receiving the entire choice would be ideal or more deal-breaking (Might need to be a BREAK_CHANGE).
Apologies if the doc is not very obvious, I'm planning to migrate/upgrade the doc in the near future, stay tuned...
Thanks,
Kevin

In your case with the current behaviour of the transformer, you might have to do some string processing in the transformer function. If you are using the classic syntax it would be the same principal.
from InquirerPy import inquirer

result = inquirer.checkbox(
    message="Choose some",
    choices=[
        {"name": "Foo | address | info | other", "value": "foo"},
        {"name": "Bar | address | info | other", "value": "bar"},
        {"name": "Baz | address | info | other", "value": "baz"},
    ],
    transformer=lambda result: [name.split(" | ")[0] for name in result],
).execute()

The above will produce the UI like the following.
? Choose some ['Foo', 'Bar', 'Baz']

Reading comprehension failed me. I saw the transformer option and for some reason had it in my head that it affected the value, not the name. Thanks for the help!


tab component issue

when I added tab component into my project ,tab navigation behaviors is odd when you refresh / page reload. like it's always flickering the first tab and then focusing the current tab. There is a delay to focus on current tab, it's focusing first tab always and then move to the current tab, this delay you can see when you refresh or reload the page. can anyone have a looking to this issue? any suggestion?

@shiromi Thanks for flagging this.
Unfortunately we haven't been able to replicate the issue you've described. Could you please check if you can see the same behaviour on our tabs example?
Could you also confirm what browser/device you're seeing this issue on?

@shiromi Thanks for flagging this.
Unfortunately we haven't been able to replicate the issue you've described. Could you please check if you can see the same behaviour on our tabs example?
Could you also confirm what browser/device you're seeing this issue on?
@hannalaakso Thanks for looking at the issue,
Once we add above tab component on operational service we have the issue which I explained above. the issue is replicating when you reload the page. I have tested Chrome and Firefox browsers. if you have a time we can have a call so then I can show you the issue.

@shiromi Could you please email<EMAIL_ADDRESS>so that we can find the best way of supporting you?

@shiromi Could you please contact us either via Slack or email so that we can find the best way of supporting you?

@hannalaakso
<EMAIL_ADDRESS>Thanks

After catching up with @shiromi I believe we traced this back to some javascript in the service's application which saved the tab 'state' and restored it using an XHR request when the user returned to the page. The delay in the tab focus was caused by the time taken to make the XHR request to get the previous tab state.
I'm going to close this as I'm reasonably confident that the issue is not in GOV.UK Frontend. However, I've raised #1976 as it seems like it'd be useful to provide a mechanism for preserving tab state in the tabs component.


cdncheck cli support + update

Continuation of https://github.com/projectdiscovery/cdncheck/pull/37

[ ] CLI flag add / update
[ ] JSON output

CLI option:
cdncheck is a tool for identifying the technology associated with ip network addresses.

Usage:
  ./cdncheck [flags]

Flags:
INPUT:
   -i, -inputs string[]  input ip / cidr to process
   -l, -list string      file input with list of ip / cidr to process

DETECTION:
   -cdn              display cdn ip
   -cloud            display cloud ip
   -waf              display waf ip

FILTER:
   -e, -exclude      exclude detected ip from output

OUTPUT:
   -resp             display technology name in cli output
   -j, -json         write output in json format
   -o, -output       write output in plain format
   -version          display version of the project

JSON output:
{
  "timestamp": "2022-08-02T03:00:17.698783+05:30",
  "ip": "<IP_ADDRESS>",
  "cdn": true,
  "cdn_name": "cloudflare"
}

CLI examples:
$ cat ips

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

$ cat ips | cdncheck

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

$ cat ips | cdncheck -resp

<IP_ADDRESS> [waf] [cloudflare]
<IP_ADDRESS> [waf] [cloudflare]
<IP_ADDRESS> [cdn] [cloudfront]
<IP_ADDRESS> [cdn] [cloudfront]

$ cat ips | cdncheck -resp -waf

<IP_ADDRESS> [waf] [cloudflare]
<IP_ADDRESS> [waf] [cloudflare]

$ cat ips | cdncheck -e

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

$ cat ips | cdncheck -e -waf

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

here would be nice to accept as input
Domains
URLs
ASN
IP
IP:port
IP/CIDR

also filter/match for cdn/cloud/waf https://github.com/projectdiscovery/httpx/issues/570

-fcdn <filter cdn>
-mcdn <match cdn>

-fcloud <filter cloud>
-mcloud <match cloud>

-fwaf <filter waf>
-mwaf <match waf>


Test: Source Control view sanity testing

Refs: https://github.com/microsoft/vscode/issues/192290

[ ] anyOS @eleanorjboyd
[x] anyOS @hediet

Complexity: 5
Create Issue

This milestone we have refactored the main "Source Control" view in order to use the async data tree. Given the importance of the view, we want to ensure that this refactoring did not introduce any major regressions so we would like to sanity test the view.
⚠ Testing incoming/outgoing changes is not in scope for this test plan item.
Prerequisites

Download and install the latest VS Code Insiders release

Basic functionality

Open a folder/workspace that contains a git repository
Make changes to file multiple files, save them

Confirm that the tree is being updated as expected

Stage changes, Unstage changes, discard changes

Confirm that the tree is being updated as expected

Switch between list and tree view

Confirm that the tree is being updated as expected

Switch to tree view and expand/collapse some nodes
Switch to the Explorer view, then switch back to Source Control view

Confirm that the tree state is being maintained

Multi-repo functionality

Open a folder/workspace that contains multiple git repositories
In the "Source Control Repositories" view select all repositories

Confirm that all selected repositories get rendered in the "Source Control" view

Change the selected of repositories in the "Source Control Repositories" view

Confirm that all selected repositories get rendered in the "Source Control" view

Make changes/stage/unstage/discard changes for each repository

Confirm that the tree is being updated as expected

Settings

Open a folder/workspace that contains a git repository
Open the settings editor and toggle the following settings and confirm they they work as expected:

scm.alwaysShowActions
scm.showActionButton
scm.countBadge
git.alwaysShowStagedChangesResourceGroup
git.untrackedChanges

Looks good!


poetry install failed.

Run poetry install and get following message
Installing dependencies from lock file

[NonExistentKey]
'Key "hashes" does not exist.'

install [--no-dev] [--dry-run] [-E|--extras EXTRAS] [--develop DEVELOP]

Ref https://github.com/python-poetry/poetry/issues/1510

Delete the poetry.lock and re-generated it. https://github.com/Hanaasagi/papurika/commit/c15e52bc37332b5e1e5836852c4eb3e72285d00d


Vaultwarden's IP_HEADER env var is inconsistent

Likely for historical reasons, the environment for Vaultwarden specifies a custom IP_HEADER env var:
https://github.com/dadatuputi/bitwarden_gcloud/blob/552257c1190e8ad59157b5177bdfecce3441ac0f/docker-compose.yml#L29
However, this setup uses Caddy as the reverse proxy, and that's configured to set the real IP in X-Real-IP:
https://github.com/dadatuputi/bitwarden_gcloud/blob/395333e614ab118138b88a7033767adaaa587ac3/caddy/Caddyfile#L35
So the Compose YAML needs to be adjusted.

Looks like vaultwarden changed that at some time, currently it is set to X-Real-IP (https://github.com/dani-garcia/vaultwarden/blob/efc6eb0073d9740a3bf2dc99e8fe5afd50a2e4e3/.env.template#L61)


Kubernetes Version Configurability per Worker Pool

What would you like to be added:
Today, end users can define the OS version per worker pool, but not the Kubernetes version. I.e., while they can create themselves a new worker pool with a new OS and orchestrate a careful migration of workload (brownfield/legacy apps that have individual "planned maintenance time window" where the cluster-global maintenance time window won't help), they cannot do that for a Kubernetes minor version update (patch updates are executed in-place, but due to effort/risk this is not supported for minor versions, yet).
Therefore, it would be great to support "pinning" the Kubernetes version also per worker pool:

A skew of 2 versions is permitted (see https://kubernetes.io/docs/setup/release/version-skew-policy)
We want to flag this feature, as also others do, as supported only during upgrades and not in general (which would speak for a skew of only one minor version for a limited amount of time)
We should validate the shoot spec and allow a skew only if there is a specific kubelet configuration for that worker pool or none at all for the cluster in general (otherwise end users may forget to copy it to the old worker pool when they adapt the global kubelet configuration to the new Kubernetes version that wouldn't fit the old Kubernetes version anymore)

Why is this needed:
To allow end users to execute "gentle" Kubernetes version minor version upgrades where they can much better control the transition of workload from old to new worker nodes.
/cc @amshuman-kr @rfranzke @vpnachev @dguendisch

Should kube-proxy (and maybe other system components that run per node like csi-driver-node) be on the same version like the kubelet?
If that's the case, it will be a bit tricky to orchestrate that for components managed by extensions.

From https://kubernetes.io/docs/setup/release/version-skew-policy/:

kube-proxy must be the same minor version as kubelet on the node.

We knew it would come some day, so it seems that we have to split the today single kube-proxy DaemonSet into a dedicated DaemonSet per worker pool. 👀

/touch
/in-progress
/assign @majst01 @rfranzke @mwennrich

P.S.: Only briefly touched in the ticket description and not strongly related, but from out-of-band communication, it seems possible to offer in-place upgrades of minor versions as well, right? I don't think a ticket exists yet for that, right?

From https://kubernetes.io/releases/version-skew-policy/#kubelet-1:

Note: Before performing a minor version kubelet upgrade, drain pods from that node. In-place minor version kubelet upgrades are not supported.

P.S.: Only briefly touched in the ticket description and not strongly related, but from out-of-band communication, it seems possible to offer in-place upgrades of minor versions as well, right? I don't think a ticket exists yet for that, right?

This is an issue our customers also often raise, but i am currently strong against such a possibility because:

as @rfranzke already pointed its not supported
even if technically possible, beside being supported, will end in a cat like k8s cluster usage which i strongly discourage

Ha, I never noticed. Thanks for sharing @rfranzke. That's an excellent argument and I agree of course @majst01. Some kind of chaos engineering, at least every 4 months, certainly helps the apps to not get too lazy/complacent.
Also, it helps to get a clean slate now and then and fight drift, which is also from security perspective helpful (at least every 4 months a potential attacker has to vacate her home/machine, if the cluster owner let them in accidentally).

/reopen
During the review of #4971, @danielfoehrKn pointed out that the provider extensions need to be adapted to support this feature in all cases. Especially those with CSI migration logic need "special care".
When looking at https://github.com/gardener/gardener/pull/4971#issuecomment-965356076, there are multiple ways to tackle the problems:
Approach 1

Adapt csimigration extensions library package to only

start CSI migration only if all Kubernetes versions have reached minimum.
complete CSI migration as usual.
enable CSI and claiming it as complete only if all versions are higher.

Revendor above change in all provider extensions with CSI migration
Consider correct kubelet version (of this pool) when computing feature gates for CSI migration.

Approach 2

Add some validation, i.e., only allow having separate versions per worker pool if control plane version is larger than CSI migration version+1 (for example, for AWS the CSI migration version is 1.18, so only allow separate worker pools when the control plane version is 1.20 or higher).
Consider correct kubelet version (of this pool) when computing feature gates for CSI migration.

Approach 3

Add some even more restrictive validation, i.e., only allow having separate versions per worker pool if control plane version is equal or larger than the highest version which has impact on the CSI migration version (for example, for AWS the highest version with impact on CSI migration version is 1.21, so only allow separate worker pools when the control plane version is 1.21 or higher).

Decision
Both approaches 1 and 2 have the downside that the webhook mutating the kubelet configuration only operates on OperatingSystemConfig resources, i.e., it is not aware of the Kubernetes version (of this pool). Consequently, approach 3 has the least implementation effort (though, it has the highest restrictions).
For approach 3, however, the downside is that extensions might need information about the Kubernetes version of the kubelet (of this pool) anyways to take educated decisions (not only for CSI migration purposes, but maybe also when setting flags or feature gates).
Due to this, following approach 1 seems favourable since changes in the extensions library are anyways required (hence, revendoring of the extensions is inevitable; thus, "prolonging" the rollout/usability of this feature is unavoidable). Approach 2 is discarded since it just imposes artificial limitations whilst not "speeding up" the rollout.
Plan

[ ] Extend kubelet service unit in original OperatingSystemConfig with information of the Kubernetes version (gardenlet).
[ ] Adapt the controlplane extensions webhook mutator to pass this Kubelet version to the ensurer.
[ ] Adapt the csimigration extensions controller package to only

start CSI migration only if all Kubernetes versions have reached minimum.
complete CSI migration as usual.
enable CSI and claiming it as complete only if all versions are higher.

[ ] Revendor this change for all provider extensions with special CSI migration logic.
[ ] Adapt the controlplane webhooks for all provider extensions to consider the “correct” version in conditions.

While looking into the adaptation of the csimigration controller I figured that above approach would not work since the entire CSI migration process leverages the fact that we perform a rolling update of all (!) nodes during the migration. If we'd only start the CSI migration when all Kubernetes versions have reached minimum then there might still be pools whose version hasn't changed, i.e., pools whose nodes wouldn't be rolled out.
I guess it's safer to simply add some validation in the extension admission components with CSI migration to only allow having worker pool Kubernetes versions lower than the control plane version if the worker pool version is at least the CSI migration version.
For example, for AWS the CSI migration version is 1.18, so we'd only allow to have pools with 1.18 or higher while the control plane version must be at least 1.18 or higher as well, e.g. control plane=1.20, pool1=1.19, pool2=1.18 but not control plane=1.19, pool1=1.18, pool2=1.17.
This ensures that the CSI migration process and roll out is triggered like today when the shoot cluster is updated to the CSI migration version (in AWS case from 1.17 to 1.18). After this is completed, the user is free to pin/have different versions for the pools for the Kubernetes versions to come.
The above plan is adapted accordingly.

Luckily our metal-stack csi provider was always out-of-tree.

Yes :-) For you, only the first part of #5256 could be relevant

/close since all related PRs have been merged


Feedly error: the given data was not valid JSON

For the past few days syncing with Feedly on both iOS and Mac has been problematic.
The first sign of a problem was when syncing would result in no new articles, even though there were some available.
I removed Feedly and added it again.
The first sync and a couple after this would work as expected.
However, sync would then revert back to pulling in no new articles.
This pattern of behaviour would be repeated if I deleted and re-added Feedly.
I have been experiencing similar problems with lire and Fiery Feeds on iOS, so I do not believe that this is a NNW-specific problem. In the case of lire, the app crashes consistently when attempting to refresh feeds. With Fiery Feeds, the app throws and error that the data is in an incorrect format.
Although this may not be a NNW-specific issue, it was suggested on Twitter that I file a report here and include the logs from Console on Mac.
These appear to indicate that there is indeed an underlying issue with Feedly:
60984	debug	13:58:13.870134+0100	NetNewsWire	Starting sync 87232794-4F46-4347-9D84-456629172FEF
60984	debug	13:58:13.871556+0100	NetNewsWire	Sending article statuses...
60984	debug	13:58:13.871942+0100	NetNewsWire	Done sending article statuses.
60984	debug	13:58:13.872046+0100	NetNewsWire	Requesting collections.
60984	debug	13:58:14.067568+0100	NetNewsWire	Received collections: (
"user/27584484-7627-400b-85f3-5855c199a4b8/category/Apple",
"user/27584484-7627-400b-85f3-5855c199a4b8/category/Drupal",
"user/27584484-7627-400b-85f3-5855c199a4b8/category/Miscellaneous",
"user/27584484-7627-400b-85f3-5855c199a4b8/category/News",
"user/27584484-7627-400b-85f3-5855c199a4b8/category/Tech"
)
60984	debug	13:58:14.067709+0100	NetNewsWire	Ensured 5 folders for 5 collections.
60984	debug	13:58:14.067982+0100	NetNewsWire	Processing 31 feeds.
60984	debug	13:58:18.893378+0100	NetNewsWire	Reached end of stream for
60984	debug	13:58:20.342175+0100	NetNewsWire	0 articles updated since last successful sync start date.
60984	debug	13:58:20.582809+0100	NetNewsWire	Requesting 242 articles.
60984	debug	13:58:21.675762+0100	NetNewsWire	Unable to get entries: Error Domain=NSCocoaErrorDomain Code=4864 "The given data was not valid JSON." UserInfo={NSDebugDescription=The given data was not valid JSON., NSCodingPath=(
), NSUnderlyingError=0x600003492820 {Error Domain=NSCocoaErrorDomain Code=3840 "Unable to convert hex escape sequence (no high character) to UTF8-encoded character." UserInfo={NSDebugDescription=Unable to convert hex escape sequence (no high character) to UTF8-encoded character.}}}.
60984	debug	13:58:21.675877+0100	NetNewsWire	Account.FeedlyGetEntriesOperation failed with error: Error Domain=NSCocoaErrorDomain Code=4864 "The given data was not valid JSON." UserInfo={NSDebugDescription=The given data was not valid JSON., NSCodingPath=(
), NSUnderlyingError=0x600003492820 {Error Domain=NSCocoaErrorDomain Code=3840 "Unable to convert hex escape sequence (no high character) to UTF8-encoded character." UserInfo={NSDebugDescription=Unable to convert hex escape sequence (no high character) to UTF8-encoded character.}}}.
60984	debug	13:58:21.676440+0100	NetNewsWire	Sync completed: 87232794-4F46-4347-9D84-456629172FEF
60984	debug	13:58:21.677593+0100	NetNewsWire	Sync took 7.810 seconds

This is definitely a Feedly issue. I recommend reporting it to the Feedly folks.

It does indeed appear to be a specific feed that's the root issue.
The following feed works in the Feedly web interface and with other third-party apps connected to the Feedly account, but seems to break the Feedly service on NNW:
https://www.huffingtonpost.co.uk/feeds/index.xml
Before adding this feed to my Feedly account, NNW works just fine.
However, as soon as that feed is added, I start getting the console messages included in my previous post to this thread. From here on, NNW will not update any feeds.
If I remove the feed (either from NNW or the Feedly web interface), NNW still throws the same console messages and will not update feeds.
The only way to flush this problem is to remove Feedly completely from NNW and then add it back.
According to Feedly they have nearly 900 people subscribed to this feed, so it's not a completely obscure feed.

I tracked this down to a specific article.  https://www.huffingtonpost.co.uk/entry/baby-first-halloween-costumes_uk_5f7da789c5b6e5aba0d2d2c6?guccounter=1
The issue is in the "Baby Boxer" section.  If you read the paragraph associated with it you will note the "trophy" emoji.  Feedly sometimes encodes this as \uD83C\uDFC6 (correct) and sometimes as \uDFC6 (incorrect).  This invalid hex escape sequence causes our JSON parser to fail to interpret server response and just gives up.  I was also unsuccessful at parsing it in Python, so this isn't just an Apple platforms bug.  The server result is truly invalid.
I did try to test in Reeder, but Reeder either gives up at that entry or it doesn't sync back that far.  Either way, I can't get that article to show up in Reeder.  I suspect Reeder hits the same problem, but is failing more gracefully than us.
@TypicalJanner if you want to point the Feedly support team to this entry, I've attached a server response body that has the invalid JSON.  Hopefully this will help them track the problem down and get the entry corrected.
entries.json.zip

Tremendous sleuthing Maurice, thank you! I'll point Feedly towards your discovery. Best TJ


Use file from file system in vendor.js

Description
I need to be able to put a package that does not have a bower.json file defined (npm install only) into my vendor.js file in a certain order.
Expected behavior
file is included as specified
Actual behavior
Because this is a bower-based project, modules key is defined as
        modules: {
    		definition: false,
    		wrapper: false
      }

the file order is defined as
order: {
                    before: [
                        'bower_components/jquery/jquery.js',
                        'bower_components/underscore/underscore.js',
                        'bower_components/angular/angular.js',
<EMAIL_ADDRESS>                  ],
                }

where the node_modules file is the vendors package that I am trying to include. I suspect that because this package is not referenced in bower.json then it is  (obviously) not being picked up for the generator to include.
The problem is that I cannot "require" the package, as the module wrappers are undefined.
So, I thought of trying the npm static config option, to no avail - probably because npm: {enabled: false} is set, nothing else in the npm setup is parsed.
I even tried adding  files: { javascripts: { static: }}  , but that didn't work either
Is it possible to include a static file in a non-npm build ?

oh, wait: I just tried adding the file in question to the "watched" path array, and i see from the debug DEBUG=brunch:gen* brunch build that the file is now included in the build, and in the order I needed
I'll double-check


SystemStackError: stack level too deep

I constantly receive  this error on  a project with a relatively modest number of tests.
Happening in version 1.27.0 with ruby 1.5.1
Here is the full stack trace:
SystemStackError: stack level too deep
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:185:in `block in each_child_node'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:183:in `each'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:183:in `each_child_node'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:39:in `each'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:39:in `flat_map'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:39:in `subjects_in_scope'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:50:in `find_subjects'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:40:in `block in subjects_in_scope'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:185:in `block in each_child_node'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:183:in `each'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:183:in `each_child_node'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:39:in `each'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:39:in `flat_map'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:39:in `subjects_in_scope'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:50:in `find_subjects'
  /bundle/gems/rubocop-rspec-1.27.0/lib/rubocop/rspec/example_group.rb:40:in `block in subjects_in_scope'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:185:in `block in each_child_node'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:183:in `each'
  /bundle/gems/rubocop-0.58.1/lib/rubocop/ast/node.rb:183:in `each_child_node'

And here is the spec that is failing:
RSpec.describe Api::Members::Repositories::Member, type: :repository do
  describe '#create' do
    subject(:create) { repository.create(new_member.to_h.merge(status_id: Factory[:account_status].id)) }

    let(:new_member) do
      build(:new_member,
            password_hash: 'hash',
            member_qualifications: [build(:member_qualification, qualification_id: Factory[:qualification].id),
                                    build(:member_qualification, qualification_id: Factory[:qualification, name: 'Paramedic'].id)])
    end
  end
end

It only seems to happen in docker machine.

@Darhazer Do you have time to take a look at this one?

I can't reproduce with the code snipped posted. @alexandru-calinoiu can you include the output of rubocop -V (in case it's specific Parser version that causes the issue)? Anything else specific to that docker machine?

Here is the docker file I am using:
FROM ruby:2.5.1-alpine

ENV APP_HOME /web/app
WORKDIR $APP_HOME

RUN apk update \
  && apk upgrade \
  && apk add \
    curl \
    wget \
    bash \
    build-base \
    libxml2-dev \
    libxslt-dev \
    postgresql-client \
    postgresql-dev \
    nodejs

# Clean APK cache
RUN rm -rf /var/cache/apk/*

# Prepare docs
WORKDIR $APP_HOME/docs

ENV BUNDLE_GEMFILE=$APP_HOME/docs/Gemfile \
  BUNDLE_JOBS=2 \
  BUNDLE_PATH=/bundle

RUN gem install bundler

# Prepare app
WORKDIR $APP_HOME

ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \
  BUNDLE_JOBS=2 \
  BUNDLE_PATH=/bundle

RUN gem install bundler && gem install rake

The output for rubocop -V
0.58.1 (using Parser <IP_ADDRESS>, running on ruby 2.5.1 x86_64-linux-musl)

Reproduced on the docker setup.
Interesting thing is that it crashes only when executed via bundle, e.g. bundle exec rubocop --require rubocop-rspec.
Direct invocation of rubocop --require rubocop-rspec does not crash.
Even more interesting is that executing 'gem install bundler` stops the crash, although the same version was already installed

Do bundle exec rubocop -V and rubocop -V give the identical values?

It might be related to this alpine dependent issue https://github.com/docker-library/ruby/issues/196

It looks like it, I get the same error sometimes when I try to run rspec or cucumber.

Can we do something about this error by changing the code in this repository or rubocop's?

With the latest docker version I have not received this error anymore.

Seems this is not a problem anymore, should we close this?

Seems reasonable to me. It can always be re-opened if the issue recurs.

useless

Facing this error as well with
/ # ruby --version
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux-musl]
/ # bundle --version
Bundler version 2.4.6
/ # cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.17.3
PRETTY_NAME="Alpine Linux v3.17"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
/ #

$ bundle exec rubocop
bundler: failed to load command: rubocop (/builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/bin/rubocop)
/builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/node/mixin/descendence.rb:25:in `each': stack level too deep (SystemStackError)
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/node/mixin/descendence.rb:25:in `each_child_node'
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-rspec-2.22.0/lib/rubocop/rspec/example_group.rb:51:in `each'
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-rspec-2.22.0/lib/rubocop/rspec/example_group.rb:51:in `flat_map'
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-rspec-2.22.0/lib/rubocop/rspec/example_group.rb:51:in `find_all_in_scope'
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-rspec-2.22.0/lib/rubocop/rspec/example_group.rb:62:in `find_all'
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-rspec-2.22.0/lib/rubocop/rspec/example_group.rb:52:in `block in find_all_in_scope'
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/node/mixin/descendence.rb:28:in `block in each_child_node'
	from /builds/wog/gvt/grants-portal-team/grants/formflow/formflow-mono/packages/app/vendor/bundle/ruby/3.2.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/node/mixin/descendence.rb:25:in `each'
	 ... 251 levels...
	from /usr/local/rbenv/versions/3.2.1/lib/ruby/3.2.0/bundler/friendly_errors.rb:117:in `with_friendly_errors'
	from /usr/local/rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/bundler-2.4.6/libexec/bundle:33:in `<top (required)>'
	from /usr/local/rbenv/versions/3.2.1/bin/bundle:25:in `load'
	from /usr/local/rbenv/versions/3.2.1/bin/bundle:25:in `<main>'
Inspecting 453 files
.............................................................................................................................................................................................................................................................................................................................................................................................................................
412 files inspected, no offenses detected

Setting these env vars does not help:
export PTHREAD_STACK_MIN=8388608
export RUBY_THREAD_MACHINE_STACK_SIZE=8388608
export RUBY_THREAD_VM_STACK_SIZE=8388608

ruby -ve 'p RubyVM::DEFAULT_PARAMS'
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux-musl]
{:thread_vm_stack_size=>8388608, :thread_machine_stack_size=>8388608, :fiber_vm_stack_size=>131072, :fiber_machine_stack_size=>524288}

Can you please the rubocop debug output and the minimal spec code that would allow to reproduce the issue, @houdinisparks ?


ACME DNS provider broken since v2.9.9

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
Update from traefik 2.9.8 to 2.9.9 and subsequent version up until and including v2.10.1 without changes in my static configuration.
What did you see instead?

Traefik fails to renew certificates by failing to complete ACME's DNS-01 challenges.
Traefik starts registering additional accounts with the configured ACME DNS server.

(This template doesn't have field for "why do you think this happened" so I'm putting it here.)
In chronological order:

go-acme/lego adds https://github.com/go-acme/lego/commit/56fda1abd846295b76c7dfaa7f57c5b36e8d9af9 which introduces the bug
go-acme/lego releases v4.10.1 which contains the bug
go-acme/lego releases v4.10.2 which contains the bug
go-acme/lego adds https://github.com/go-acme/lego/pull/1863/commits/1a92f8224db91fc13ac9c94552f3432f10248c03 which is the fix
traefik releases 2.9.9 which updates from go-acme/lego-v4.10.0 to go-acme/lego-4.10.2
acme-dns is now broken on traefik
acme-dns is broken until $today

What version of Traefik are you using?
v2.9.9 to v2.10.1 at least.
What is your environment & configuration?
...
[certificateResolvers.acmednsio.acme]

  [certificatesResolvers.acmednsio.acme.dnsChallenge]
    provider = "acme-dns"
      resolvers = ["<IP_ADDRESS>:53"]

...

If applicable, please paste the log output in DEBUG level
No response

The problem has been introduced in this PR: https://github.com/go-acme/lego/issues/1861
And the fix is in this PR: https://github.com/go-acme/lego/pull/1863
The fix will be a part of the next release of lego and then the next release of Traefik.
As a workaround, you can use Traaefik v2.9.7

Official release v2.9.8 doesn't have 11 CVEs, there is only one real CVE, and we are not impacted by the others, the analysis of Docker is wrong.
The only CVE is about Go.
We cannot roll back without creating regression.
The only solution is the release of lego.


broken map

I use gmaps4rails 1.5.7 in my Rails 3.2.19 app, so the user can select his location. In the general administrator's page, the map loads without any problem and I (the admin) can select or fix the location of the user. But on the user's edit page, with exactly the same code as the page of the administrator, I have a broken map like this:

No matter if I drag the map, the visible part, is only a small piece of the given area. It is crazy as I have exactly the same code in both cases.
Do you have any idea for this?

Are you sure the div containing the map is visible whenever the js code to create the map is executed?

On 21 Sep 2016, at 20:14, Stefan Kaklamanis<EMAIL_ADDRESS>wrote:
I use gmaps4rails 1.5.7 in my Rails 3.2.19 app, so the user can select his location. In the general administrator's page, the map loads without any problem and I (the admin) can select or fix the location of the user. But on the user's edit page, with exactly the same code as the page of the administrator, I have a broken map like this:
No matter if I drag the map, the visible part, is only a small piece of the given area. It is crazy as I have exactly the same code in both cases.
Do you have any idea for this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I was digging into js code or css, but the problem was the fact that the map was loaded into a different hidden tab, not the main active.
Thank you for your help!


Cannot read property 'log' of undefined

(node:3867) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'log' of undefined
0|homebridge -I  |     at /usr/lib/node_modules/homebridge-xbox-tv/index.js:101:9
0|homebridge -I  |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
0|homebridge -I  | (node:3867) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
0|homebridge -I  | (node:3867) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

fixed


Play sound when muting/unmuting microphone [Feature Request for Video Conference Mute)

📝 Feature request for the Video Conference utility
After pressing the keyboard shortcut to mute the microphone or disable the camera, PowerToys should play a little sound as user feedback. This behaviour is already known of some chat apps, like TeamSpeak or Discord.
Most of the time it's critical to immediately know if your microphone was really mutet. Like if someone joining the room. The best way to give a user this feedback is to play a sound.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

@Armin2208
thanks for the feedback, new ideas are tracked in https://github.com/microsoft/PowerToys/issues/6374

Thanks for the feedback but VCM is moving to maintenance only in the 0.67 timeframe. Our team will only directly address critical bugs, security and accessibility issues.
We'll accept community PRs for enhancements.


Update Web Driver Functional Tests to Work with the New UI

This is at a decent enough state that I'm going to go ahead with a review, just to keep the PR from becoming monolithic when I write a bit more. The changes here are summarized below:

Update web driver tests to use the new login/logout module so that existing tests will pass (no tests for reaching pages without logging in yet, but that will come later).
Remove user page and sidebar tests so they won't run since those components no longer exist.
Add tests for adding/deleting users/servers from the landing page for a base line of functionality. I haven't really touched the setup page tests yet, but that will also come later. I stubbed out a module to fill in.
Add id tags to various elements to facilitate the web driver testing process so that specific elements can be easily found when necessary.
Slight tweak to the login process: when a user is already logged in, navigating to /login manually (for whatever reason) redirects to the landing page. It doesn't make much sense to be able to login again while already logged in, so this helped me not put the server in a weird state if a user is already signed in.
Update ui_test_suite.py and web_driver to use a username field instead of email since that seemed more appropriate for the current implementation. Once I get into the weeds with the setup page tests, I will also add a domain field so that we can test setting a domain and adding users that way. This will be difficult to get working since it fundamentally alters the state of the management server and will be hard to revert after the test, so I'm leaving that as a final item and avoiding for now.

To invoke the tests, make sure to re-vulcanize and push your files (either to a local <IP_ADDRESS> instance or a remote one), then start the tests with this command:
./web_driver.sh test your_server_base_address_goes_here username_goes_here password_goes_here
Example:
./web_driver.sh test http://<IP_ADDRESS>:5000 ethanAdmin password_goes_here
Note that the server base address does NOT have a trailing slash character and that the username and password passed in must already be setup along with the domain on the server pointed to.

This change is

:100:  Very nice!  The only thing I would like to see is that we have a login_page_test that to test incorrect logins (i.e. incorrect logins can not access the app).

As per your comment on login page tests, yes, I agree. Those will come later. I was more worried about testing the core pieces for now and forking everything else into separate PR's so that this didn't get too obnoxious in size. Thanks for the review though, as always!


Updates to Fargate/Container-Based API Services Not Reflected After Purported Successful Redeployment

Describe the bug
When I update the source for a given Fargate/Container-based API service, the CLI fails to repackage the distribution asset. Instead, the CLI appears to upload the existing latest-build.zip asset that was generated upon initial deployment. As a result, none of the changes made to the service are thereafter present in production.
Building and pushing the image to ECR locally solves the issue. See also additional context below.
Amplify CLI Version
4.44.0
To Reproduce

Create a fully-managed Fargate/Container-based API using the Amplify CLI.
Deploy said service via amplify push.
Observe that the initial deployment was successful.
Make any change to the contents of the amplify/backend/api/<FARGATE_API_NAME>/src directory.
Re-run amplify push.
Note that the CLI appropriately determines that an update to the service is needed.
Once the redeployment succeeds, observe that the above change is not present in the deployed service.

Expected behavior
Once the CLI determines that an update is needed, the CLI repackages the distribution asset, and, thereafter, uploads the newly repackaged asset to S3.
Desktop (please complete the following information):

OS: Mac
Node Version. 15.8.0

Additional context
Notably, all signifiers point to a successful redeployment—with the notable exception described above—making the issue quite insidious and likely to frustrate users. Indeed, the asset object on S3 shows that it has been recently modified, reflecting that the CLI successfully uploaded something. CodePipeline is successfully triggered; a build is executed and a new version of the image is pushed to ECR. Thereafter, Fargate successfully swaps out the existing container for one based on the newly generated image. The CLI finishes and everything looks copacetic.
@manueliglesias and I confirmed that the source stored on S3 does not reflect the anticipated changes. Further, the modified date for the latest-build.zip in the service directory locally appears to reflect the time that the service was initially deployed.
Potentially related to #6359, although, in this case, the CLI appropriately recognizes that an update is needed and purports to move forward as expected.

+1 for this. Really annoying.
I also noted that, if switching computer, it will complain that the dist/latest-build.zip isn't found. I'm not sure if it is supposed to create/fetch it at some point or amplify pull should get it but neither are working.
Downloading the zip from S3 makes it pass the error but doesn't update anyways.

+1 for being a annoying bug
Here is a workaround I found.

Edit your code
Zip it and replace it with latest-build.zip in this path:
amplify\backend\api\conatainerXXXXXX\dist
amplify api push

https://github.com/aws-amplify/amplify-cli/blob/eb9257eaee117d0ed53ebc23aa28ecd7b7510fa1/packages/amplify-nodejs-function-runtime-provider/src/utils/legacyPackage.ts#L7
I believe this is the bug. This if condition should evaluate to true when the ZIP file should be created, but in my case:
    lastPackageTimeStamp: 2021-05-13T04:33:39.562Z,
    lastBuildTimeStamp: undefined,

So the if evaluates to false, and the zip file is not created

@mattfysh a fix landed for this in https://github.com/aws-amplify/amplify-cli/commit/a27a033af0fe6a9db8becd15b713113c64e70eb3, and it should be available in the next release.


ElcodiTwitterBundle and ElcodiFacebookBundle not installed

In AppKernel.php I have \Elcodi\Plugin\TwitterBundle\ElcodiTwitterBundle() and \Elcodi\Plugin\FacebookBundle\ElcodiFacebookBundle() but this plugins are not in composer.json

Hi @jromero86 no plugin is added on bamboo. Bamboo requires elcodi/elcodi and its composer.json requires all the plugins.

@rogergros Not actually.
We require elcodi/elcodi in dev, but in prod environment we should add all our dependencies in an individual way.

@mmoreram then the issue is not related with Facebook or Twitter bundle and is affecting all the plugins, isn't it?

right. Just pushing the changes.

@mmoreram thanks :+1:

https://github.com/elcodi/bamboo/pull/261


Downloaded/Intrinsic image determined by CSS not URL?

Hi Team, thank you for this amazing library.
How do I make it so that the size of the downloaded image file (w x h) gets determined by css, rather than explicitly defining parameters like rs:fill:300in the url? In other words, is it possible to download the appropriate image file/size based on css/rendered size? Not sure if this may be relevant at all, but I'm trying to use this inside Next.js

There is currently no way for the server to determine the desired dimensions of an image - this is not just imgproxy but a general thing.
I know that the browsers are trying to address this with additional headers - but last I checked this was far from complete.
In other words I don't believe this is the responsibility of imgproxy - at least not for now.
Modern browsers have however done a tremendous job implementing ways to optimize images. If you're using Nextjs they have an Image component (next/image). They tried to simplify the optimizations - but i personally think they complicated it a bit.
I'd suggest that you read up on responsive images. Start with the srcset property for images and then dive into the sizes property.

Hey @schonert, appreciate your thoughts.
I made a workaround yesterday that does seem to work -- all you need to do is adjust the width via css, and the appropriate image gets downloaded.
I haven't touched it after the rough implementation as I realized performance is incredibly slow -- several seconds slow. I assume the reason for this is because I'm not delivering the image from a CDN? Apologies, images are new to me. I'd really like to make this work, but I have the following concerns --

Concurrency limits for the open source version. My app, even at a very modest scale would have a number of users making requests to update images.

Performance (TTFB is in the seconds), but again, I assume this is due to the fact it's not being delivered via CDN. If this is the case, what solution would you recommend? For a bit of context, I'm using two databases -- Firebase's Firestore and Supabase. For image optimization I've implemented: Cloudflare, next/image, ImageKit, and now Imgproxy. It's been difficult to determining the best solution given all the variables (cost to scale, performance, etc).

Lastly, regarding the CSS based workaround, I can post it here once I set a few minutes to polish it. As mentioned, I moved on temporarily after I saw the performance.

Hey @madleo-dk!
CSS and backend are very different levels, so there's no way for a server to know CSS properties applied to an image. However, some browsers support Client Hints headers that contain rendered width and DPR. I'm not sure though if CSS affects these headers, and I think that using Client Hints is very unsafe as headers can't be signed.
As for performance, imgproxy is fast yet it isn't a magical thing and it can't process images faster than your CPU allows.


chore(testnet): bump version to 0.4.1

This is a small version bump to 0.4.1 for adding XCM ExecuteFilter=Everything.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 11.21%. Comparing base (3f94a2e) to head (4e7b32c).

@@           Coverage Diff           @@
##             main     #256   +/-   ##
=======================================
  Coverage   11.21%   11.21%
=======================================
  Files          34       34
  Lines        2577     2577
  Branches     2577     2577
=======================================
  Hits          289      289
  Misses       2285     2285
  Partials        3        3

Files with missing lines
Coverage Δ

runtime/testnet/src/lib.rs
3.89% <ø> (ø)


no TOC printed for appendix

Description
no TOC printed although specified in appendix
(Optional:) Please add any files, screenshots, or other information here.
No response
(Required) What is this issue most closely related to? Select one.
Choose One
Internal issue ID
ea38822d-7fa8-4884-8a80-23301a60d849
Paper URL
https://arxiv.org/html/2410.14453v1
Browser
Safari/605.1.15
Device Type
arxiv

This TOC was transparent in html


Can go-chart show candlesticks?

Everybody loves candlesticks. Please!

I have a branch open to implement candlestick series, just need to find some time to iron out some issues w/ it.

+1

did this ever happen? I don't see the branch here at origin so I assume it's at local still! :)

I can see the branch at remote now. Is it usable? Known issues w/ it?


eslint eol

Full and short name of product
ESLint
Does this product have LTS versions? What are the intervals between each LTS version?
https://eslint.org/version-support/
Annual or every two years, judging by the table on the page linked above.
What is the website for the product and for its version information?
https://eslint.org/blog/2024/09/eslint-v8-eol-version-support/
Additional context
ESLint v8.x went EOL 05-October-2024. I think there may be quite a few enterprise folks out there using this...

Thanks for submitting this issue. FYI there is a PR being worked on for adding ESLint : https://github.com/endoflife-date/endoflife.date/pull/5761


Buddhes branch

I've converted all camal case names to snake case.

Thanks a lot for contributing.
Please keep the following in mind:

Do not convert the pascal-cased variables. E.g.: Network.
Some of the camel-cased functions haven't been converted. E.g.: customArgMax
It seems to have been done manually. Automation of the task would help while making releases in the future.
Do not push your local config files like .gitignore.


Set up travis CI to work with headless-gl.

This PR sets up travis CI to work with luma.gl.  As a proof-of-concept I wrote a simple test case for buffers to show that things are working.
I tried a few times to get testtron working, but kept having weird issues where the test process would hang and not exit for like 20 minutes.  headless-gl works, though I need to fix the prebuilt binaries to work with the correct version of GLIBC on linux.
CC @ibgreen @philogb

@mikolalysenko this looks very good, thanks.

FWIW, @vp also had problems when trying out testron with react-map-gl. Even when his test cases detected errors testron didn't always cause the build to fail, so Travis would be green in spite of failures.
And yes, I also saw cases where testron wouldn't close down.
It's great that we are getting headless-gl in place, although ideally, we'd want both test approaches to work (i.e. a full browser env like testron and a webgl only env like headless-gl).

Yeah, I'll continue investigating what is going on with testron.  It is weird that it won't shut down sometimes, but even more frustrating that this situation only seems to happen on travis.  That said, a full DOM implementation would be very useful to have in larger integration tests.


chore: remove legacy workspace info from release and readme

Remove legacy workspace information from the release page and when updating the readme.

@mergifyio queue


[Question] 选b服的时候左下角活动框不见了，切换账号功能也不见了

Checklist

[X] I have already read docs/Tips.md, but my question is not solved.
[X] My question was not mentioned by others, and it is not a duplicate question.

Description

Starward Version
0.12.2
Windows Version
22631.4037
Log
No response
Additional Context
No response

B服没有左下角的公告
B服的账号通过IE组件登录，无法适配账号切换功能


access shared drives

requesting a feature
access shared drives, copy folder in shared drives to other folder shared drives.

Duplicate of #10, Google used to call shared drives "Team Drives"


Development

Ok i managed to rebase development with master branch. Seems to work fine. I have had to re-do some stuff concerning the main.js and entry.js in order to have the player to always be loaded within an iframe, per request from metin. Also reworked that sass/ linting a while back when you guys had trouble with it.
All the changes seem to be there and it seems its working fine with the new changes.
Regardless, please checkout "development" branch, do a clean npm install and see if all the changes are there and working.


Add test when repository migration was skipped

We need to add a test if repository migration was skipped, due to the fact that it's not needed. Atm we are only having a check if repository migration was successful or not. This test is false if the repository migration is skipped, as AEM logs the skipp messages as a WARN.

Included in inspec-aem 1.2.0


Request: Documentation

I couldn't find any documentation.
README file just contains the features. I don't really understand how to use this tool.

I agree. No wiki whatsoever.


HMI/GUI change for prefixes page

I want to inquire about the presentation of the front page in prefixes.
url: https://[server-IP]/ipam/prefixes/29/
This page in my opinion is of limited use or at best contains information you seldom need.
I assume you usually browse to prefixes to access the list of IPs. All unnecessary clicks are tedious especially when showing the system to new employees.
Since the page is not very cluttered I want to suggest to eliminate the special "IP addresses" tab, or you can keep it but add the IP list table also to the current Prefix tab.
The prefix info container can be left as-is. To it´s right where you have the "Parent prefix"  move the "tag" container under "Parent Prefix" container.
These I estimate are 60% width, while prefix info is 40% ???
Then underneath the table containing the IP addresses (spanning the full page width)
Similar to what is currently in the IP address tab
(see attached image)
I believe this will not clutter the page and make the IP address more simple and faster to access.
Might be a small/Minor thing, but first impressions matter :-)

Thank you for your interest in NetBox. We require that all issues be submitted using one of the templates provided here. This is to ensure that only valid issues are reported and that each issue includes all the information necessary for a developer to act on it. Please update your issue so that it matches the appropriate template (this may require rewriting your issue entirely). This issue will be closed in one week if it has not been updated. Thanks!

Closing due to lack of activity.


[WIP] Process API

This is implementation of the process API and features discussed in #205 and #373.
Simple component example can be found in spec/components/MergeObjects.coffee
More examples and advanced cases are in the Component spec
This is still work in progress and subject to discussion. Here is the tracking checklist:

[x] Process API
[x] Controls
[x] Non-triggering ports
[x] Scope-based packet isolation
[x] ordered option to maintain the correct sequence between activation and output
[ ] Buffer bounds
[ ] Error handling API

Questions to be discussed:

Should components be ordered: true or ordered: false by default. Maintaining order comes for a price of extra buffering of output before sending it.
What's our default policy for buffer bounds? Should buffer bounds be set on graph level, per component or per port?
Should we stick with c.error() and error outport for error handling as before? Or do we know a better way?

c.error is easy to use, but the problem is that it carries a risk of not knowing the right context for the error. This has been especially problematic with MsgFlo where knowing the message scope for ACK/NACK purposes is critical. So, we would need to ensure c.error is aware of both brackets and scope.

Most of the time a component should either provide output, or send error. Therefore I propose a node.js style send(err, outputMap).

@jonnor kinda makes sense, and sounds like would also make it easier to wrap existing Node.js libraries into NoFlo

I don't think ordered: true makes sense as a default. In fact I'm not sure it makes sense to provide as a component-level feature at all.
In classical FBP, there is a single thread executing inside a component, and it can only do one thing at a time. Ordering here comes natural (and it does have some benefits). If one wants concurrency, one instantiate several components, each handling a request at a time.
However, in NoFlo each component executes a (currently boundless) number of input/activations concurrently. Having the component try to enforce order will just make

The latency of results on subsequent inputs be increased to the maximum of the inputs before it. This is particularly damaging in timeout/error situations, say one request takes 100x time the other ones -> everything else gets delayed that amount the same.
Related, the memory needed will pile up uneccesarily

Ordering like this is in most node.js and browser applications not-necessary. And if it is needed in a particular application, I think it can, and should be handled there - using by wiring in a component.

@jonnor agreed, ordering should not be necessary if we still maintain bracket and scope correctly, as you can always put things back together downstream as needed.

Thanks for comments, that makes sense and aligns with my own opinion.
I have further questions about error handling:

What does it mean for error to be aware of brackets? Does it mean automatic forwarding of all brackets received prior to activation? Wouldn't it clutter error handling?
How about components like validators which can emit a list of errors rather than a single error object?

The the original question on buffer bounds is still open.

I have some questions after reading the proposal, example and tests:

First of all, I really like IP envelopes. Having groups (and scopes) in IP class is something I always wanted in Caliper: we have this case where we use groups to identify measurements for a given URL (using URL as group id) and groups keeping growing between components make it easy to mess group ordering. I can imagine that making it sure an IP belongs to a group will make it possible to decide right on the component if we should process the IP of a expected URL, for example. We can probably do that with begin/endGroups but I think this way is much more explicit.
I didn't get what inPorts.foo.control: true does. Does it flag that the component will send output (or call process) only when receiving IPs on foo (control) inport?
What's the difference between output.sendDone and output.send?
Are triggering: false ports like WirePattern's params? BTW it would be interesting to have a guideline doc describing how to migrate from WirePattern to Process, like some patterns like this with examples. I'd like to contribute to it.
What's the difference between triggering: false and required: false?
In which situation return unless input.has "foo", "bar" will be true? Is it only a safe check for inports or does it means process will continue only when foo and bar inports are triggered?

Sorry for the number of questions, I don't know if this is the right place to ask them, please point me to a better place if it exists :-)

@automata all these questions are legit as I haven't bothered writing the docs yet as we haven't discussed this API before.

control ports are input ports which remember last received value. input.get() returns a value without moving it off the buffer. So they are the replacement for the old WirePattern param
triggering: false is an orthogonal feature which was a part of WirePattern param before. Non-triggering ports don't call the process handler. They can be control or non-control.
return unless input.has "foo", "bar" makes sure that both foo and bar inputs have data to be received. This is the way we describe firing patterns in NoFlo 1.0. Here is a more complex example:

process (input, output) ->
  return unless input.has 'arr' or input.has 'foo', 'bar'
  if input.has 'arr'
    # Direct buffer access
    found = false
    for item, index in input.ports.arr.buffer
      # Find something among all buffered packets
      if item.something is 'foo'
        # Do something
        found = true
      return unless found
  else
    [foo, bar] = input.get 'foo', 'bar
    # ...

output.sendDone() is used to send activation results and deactivate the process with a single line and is recommended in most cases. output.send() is used to send intermediate results during the activation and requires calling done() to deactivate

@trustmaster thank you so much for the answers! Going throught them in order:

so when do control inports will get their values removed from buffer? When component disconnects?
got it, so if an inport is control: true and triggering: false it will act just like a WirePattern param inport, right? Because it will remember last state and will not trigger at same same
this is really great, I can see it as a more granular way to decide based on inports presence and data received

Buffer bounds can go into a separate PR.

@automata

when control receives a new value it moves the previous one off the buffer. So it has a buffer limited to 1 item
exactly! control: true + triggering: false == WirePattern.param

Error handling is now on board. Proposed ways to send errors include:
process: (input, output) ->
  output.sendDone new Error 'Should be an error instance'

process: (input, output) ->
  errors = []
  errors.push new Error 'Multiple errors per activation one'
  errors.push new Error 'Multiple errors per activation two'
  output.sendDone errors # Produces a substream

Same way of passing errors is supported by output.send() and done() functions.
This PR is now fine to be merged.