Default config looks at the environment variable for the daemon address

Hi,
This change makes the SDK's default configuration try to get the daemon address from the environment. It should revert to the old default (<IP_ADDRESS>:2000) if the environment variable is missing or if it is malformed.
Let me know if this needs some revision before you merge.
Thanks!

After some thought, I think this should panic if the contents of the environment variable are not a valid address. What do you think?

@drocamor, thank you so much for reaching out to us regarding your idea. I looked the PR and I am sorry I didn't get the idea why you want SDK to get default daemon address from environment variable first rather than giving a default value? In my opinion, we shouldn't pass customer defined value to a default variable and instead, it should be pre-defined.

OK, I made those changes. Let me know what you think!


Fix text editor stealing focus from "Find in Files" dialog on X11

Fixes https://github.com/godotengine/godot/issues/88847
Works in my testing on Fedora 40 with GNOME using xwayland.
This reverts one of the changes from PR https://github.com/godotengine/godot/pull/86441, but not all of them.
Marking as a draft for now, because I'd like to attempt to determine if the original bug that PR https://github.com/godotengine/godot/pull/86441 fixed is still fixed with the changes here. Since this doesn't revert the whole thing, it's possible that bug is still fixed, and everybody wins! However, PR https://github.com/godotengine/godot/pull/86441 didn't fix the X11 bugs that I was personally having - I made that PR on behalf of another user, so I'll need to figure out how to reproduce the original bug.
UPDATE: I confirmed that this PR doesn't re-introduce at least one of the bugs fixed by PR https://github.com/godotengine/godot/pull/86441. See this comment.

I did manage to reproduce @Mequam's original focus issue on XFCE 4, that's shown in issue https://github.com/godotengine/godot/issues/74378, when using Godot 4.3-dev2 (it was fixed by PR https://github.com/godotengine/godot/pull/86441 which was released in Godot 4.3-dev3).
However, when testing with the changes in this PR, that bug is still fixed!
There were a number of other focus bugs on a number of other window managers described on issue https://github.com/godotengine/godot/issues/74378 that folks say got fixed by PR https://github.com/godotengine/godot/pull/86441, though, so it's entirely possible that the change here is necessary to fix one of them.
That said, I think this is a good enough sign to take this PR out of draft! :-)

Looking a little deeper at the change in this PR, it's changing DisplayServerX11::window_set_ime_active(), which is probably being called by TextEdit::_notification(NOTIFICATION_FOCUS_ENTER) when the search field on the "Find in Files" dialog grabs focus.
Based on my (admittedly rough) understanding of the problems described on issue https://github.com/godotengine/godot/issues/74378, I don't think the change reverted in this PR is really needed to fix those bugs.
Those bugs seem to center around Godot grabbing focus due to window-related events. However, the window_set_ime_active() happens when text controls gain focus. And, so, maybe we don't need the "protections" added in PR https://github.com/godotengine/godot/pull/86441 in this case?
Anyway, the only way to really know for sure is for this change to get lots more testing :-)

Thanks!

This fixed the issue for me -- Manjaro / KDE Plasma 6 / X11 -- thank you!
(full system info: Godot v4.3.beta (811ce36c6) - Manjaro Linux #1 SMP PREEMPT_DYNAMIC Mon May 27 03:41:25 UTC 2024 - X11 - GLES3 (Compatibility) - AMD Radeon RX 6600 (radeonsi, navi23, LLVM 17.0.6, DRM 3.54, 6.6.32-1-MANJARO) - AMD FX(tm)-8350 Eight-Core Processor (8 Threads))


detect failed directories in /pkg/dep/resources

What version of Go are you using (go version)?
1.8.1

What operating system and processor architecture are you using?
darwin x86

What did you do?
Say a dep init process gets interrupted (ctrl+c), the underlying cache in $GOPATH/pkg/dep/resources could be in a false state because the dependency that was being copied in to the cache could either be empty or incomplete.
Therefore, the next time you run dep init, if that same dependency is needed, the cache will cause the entire process to error out.

What did you expect to see?
dep init working.

What did you see instead?

$ dep init
Searching GOPATH for projects...
  Using master as constraint for direct dep github.com/golang/protobuf
  Locking in master (fec3b39) for direct dep github.com/golang/protobuf
  Using master as constraint for direct dep golang.org/x/net
  Locking in master (5602c73) for direct dep golang.org/x/net
  Using master as constraint for direct dep google.golang.org/grpc
  Locking in master (1c69e4c) for direct dep google.golang.org/grpc
  Locking in master (470f45b) for transitive dep golang.org/x/text
Unable to cache golang.org/x/text
  Locking in master (411e09b) for transitive dep google.golang.org/genproto
Using network for remaining projects...
Unable to retrieve local repo information:

@sdboyer feel free to assign me, i'll take a crack at it and probably bother you a bunch of times. thanks!

duly assigned :)

Fixed by #596


Help and usage show wrong executable name 'ibc-relayer-cli`

Crate
ibc-relayer-cli
Summary of Bug
When I compile the ibc-relayer-cli crate it generates an executable called hermes but if I run it, when the help message is displayed, hermes is not shown but ibc-relayer-cli which might be confusing to the end user.
$ ./target/release/hermes
ibc-relayer-cli 0.1.0
Informal Systems<EMAIL_ADDRESS>
USAGE:
    ibc-relayer-cli <SUBCOMMAND>

SUBCOMMANDS:
    help       get usage information
    start      start the relayer (currently this refers to the v0 relayer)
    channel    channel functionality for managing channels
    listen     listen to IBC events
    config     manipulate the relayer configuration
    version    display version information
    query      query state from chain
    tx         create IBC transactions on configured chains
    light      basic functionality for managing the lite clients
    keys       manage keys in the relayer for each chain

Version
v0.1.0
Steps to Reproduce
Build and run

For Admin Use

[X] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate milestone (priority) applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

I looked into this and renaming the content of the help message seems difficult. This is because abscissa uses by default the package name (instead of binary name) to create all usage and help messages:
Some pointers:

under the hood, when we run ./target/release/hermes what we actually run is an abscissa_core::EntryPoint, parametrized with CliCmd:

https://github.com/informalsystems/ibc-rs/blob/9d0a7b8f11a252e68e039a976910edd33107f074/relayer-cli/src/application.rs#L60

the EntryPoint inherits its name field (which is used in all usage/help messages) from CliCmd::name()

CliCmd has its name setup by a derive: #[derive(Command..

https://github.com/informalsystems/ibc-rs/blob/93c0e6d4342696523adbde4ea57f4e2c3965b6a2/relayer-cli/src/commands.rs#L35-L37

the derive Command macro is defined here, which assigns the env!("CARGO_PKG_NAME")  as name to any command.

Yeah Abscissa should use CARGO_BIN_NAME instead of CARGO_PKG_NAME.
We can try overriding the CARGO_PKG_NAME env variable in build.rs but that may break a bunch of stuff.


SilencedDeprecationErrorFixer - adjust level

ref #2078
no risky fixers should be enabled by default

👍

Hey, we discussed this with Fabien, and from his pov, not changing the code in that specific case is a bug that should be fixed by this fixer, so it should not be risky at all.

This is definitely risky. The fact that it fixes a "bug" by definition means it's changed the behaviour.

But changing the behavior is not risky when you expect to fix a bug, right?

Yes it is. Anything other than a cs fix is risky. A bug fix is risky.

I understand your rules, but life, sometimes, is not binary. Concretely what is risky here?

That is the definition of risky here. This is a code style fixing tool, not a static analyzer.

For Symfony not-silenced deprecation error is a bug, fixer do the job and Symfony is happy. Awesome.
We do the same - for use comparing with == is a bug, === should be used. We have a fixer that does that. Awesome.
But in both cases - sb else may not consider this as bugs, and since this is changing the behaviour we need to warn user about that.

@keradus so the new ruleset you are adding (#2119) is the only way to get it running on the symfony repo easily?

no, one could also use CLI rules arg or define ruleset in config file ;)
But I thought it would be easier if that ready to use ruleset would exists.

Thanks ;)


Release v0.13.0

I'd like to make a release with https://github.com/gnosis/ethcontract-rs/issues/512 and https://github.com/gnosis/ethcontract-rs/pull/558 if you agree @nlordell  @taminomara  .

Wait a sec, there's one thing I forgot to rename: method artifact in generated contract, should be called something else.

Renamed in #580, if you could include it to this release it'd be great!

Will rebase after it.


require_valid_table = false on migrations?

In order to circumvent this warning:

SEQUEL DEPRECATION WARNING: Setting a model class dataset to an invalid dataset is deprecated and will be removed in Sequel 5.  Either use a valid dataset or set require_valid_table = false for the model class.

Would it make sense to automatically set
Sequel::Model.require_valid_table = false

on migrations only or give a way to do that? What would be the recommended approach? Just to do it manually in each migration?

Thanks, I came here via google. Can anyone shed any light on how this deprecation was intended by the authors to interact with Rails migrations? I can't find any documentation that would allow a person to avoid this warning, other than what is suggested here?

The way I see it, there's just never a good reason to use a model in a migration. Either manipulate the database directly or create a rake task.

Sorry @JosephHalter, I clarified this is not about migrations, to avoid that discussion. It's about loading the test database schema, which we do in our CI environment.

This is about the rails environment loading the model class before the database schema has been loaded.

I did a quick demo project here: https://github.com/JosephHalter/demo
with nothing but rails and sequel-rails, I added a migration and a model linking to the wrong table, I'm able to run:
rake db:drop
rake db:create
rake db:schema:load

Without getting any warning.

Got it, will go with @JosephHalter 's suggestion...

@Aryk Remember that you can always create datasets without using a model by using ::Sequel::Model.db[:table_name] so you don't need to revert to SQL while still avoiding to call the model classes in the migrations.

@JosephHalter it works until some gem would add some models to the project that are required by default, so when you will try to run migrations - it will throw an error (because model is loaded, but table still doesn't exists).

It looks like required_valid_table interferes with migrations created with models.
For instance, if I run rails g model PaymentMethod and then try to run the migration, I get Sequel::DatabaseError.


optional fields

I can't describe optional field in validators. I need cancel other validators if presence: false.
Better. Rename presence to required and copy logic from angular.js: empty data always valid if required not true.

I can see this piece of code from the library where it is checking if the value is empty or not.'
isDefined: function(obj) {       return obj !== null && obj !== undefined;     }
But this will not work for a value that is not null.
I think this is going to fail for the below example.
example var {someValue: ""}
isn't?

Is it fixed yet, it looks like, I am facing the same issue.
  // Constraints
  constraints = {
    name: {},
    email: {
      presence: false,
      email: true,
      length: {
        minimum: 5,
        maximum: 255
      }
    },

Output: "Email is not a valid email"

@bdjunayed you need to update:
presence: false,

to:
presence: { allowEmpty: false },

The API changed a few versions ago.


Services created with direct Endpoints cannt work in lb-controller

Rancher versions:
rancher/server: v1.6.7
rancher/agent: 1.2.5
Docker version: (docker version,docker info preferred)
1.12.6
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
Ubuntu 14.02
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
KVM
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA Rancher
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Kubernetes
Steps to Reproduce:
I want to create a LB from Elasticsearch cluster outside of Rancher/Kubernetes. So I create an ingress, service, and endpoints, like below. My intent is to use the endpoints directly, and let LB Controller to setup backends for those endpoints. but it does not work.
kind: Ingress
metadata:
  namespace: cloud
  name: es
  annotations:
    http.port: "9200"
    config: "defaults\ntimeout client 10m\ntimeout server 10m\n"
    io.rancher.scheduler.affinity.host_label: "eslb=true"
spec:
  backend:
    serviceName: es
    servicePort: 9200
---
kind: Service
apiVersion: v1
metadata:
  namespace: cloud
  name: es
spec:
  ports:
  - protocol: TCP
    port: 9200
    targetPort: 9200
---
kind: Endpoints
apiVersion: v1
metadata:
  namespace: cloud
  name: es
subsets:
  - addresses:
      - ip: <IP_ADDRESS>
    ports:
      - port: 9200
  - addresses:
      - ip: <IP_ADDRESS>
    ports:
      - port: 9200

Results:
There's no backend in the HAProxy LB for those endpoints

Please let us know in a comment if you can still reproduce the issue, and we'll reopen it


Salting machine-id hash

In case of database leak it is possible to cross-reference machine-id hashes from other leaks, which is rather serious privacy issue taking into account collected data.
I suggest changing line 82 from
hashed_id = hashlib.sha256(machine_id.encode()).digest()
to
hashed_id = hashlib.sha256(machine_id.encode() + b"manjarodatadonor").digest()
It will change ids for machines already accounted during testing, so change should be coordinated with server-side.

In case of database leak it is possible to cross-reference machine-id hashes from other leaks, which is rather serious privacy issue taking into account collected data.

What other leaks are you thinking about? Your random social media platform doesn't have access to your machine id.

hashed_id = hashlib.sha256(machine_id.encode() + b"manjarodatadonor").digest()

We can still do that.


[FEATURE] Add options for muting notifications for cancellations and skips on Job notifications

Is your feature request related to a problem? Please describe.
When setting up alerting off of brickflow, any manual pause to the job will always invoke an alert - even if manually cancelling a job to start a new run with a new configuration. Databricks, in the UI, has the option for "Mute notifications for [canceled/skipped] runs" that would be useful in this case.
Cloud Information

[ ] AWS
[ ] Azure
[ ] GCP
[x] Other

Describe the solution you'd like
In the notification settings code, change the code to handle these specific parameters

@lbakshi Would to be able to work on this issue and raise a pr?

The feature is already available. We need to add this to the documentation!


Alert box is not there when no input is entered in the search box

Is your feature request related to a problem? Please describe.
yes its a good practice to add a alert box
Describe the solution you'd like
added alert box with proper guideline
Describe alternatives you've considered
No Response
Additional context
No response

assign this to me

i have made a pull request please accept that one


A step-by-step for this tutorial with deployment to Azure App service

I created this video as step-by-step with animated workflow, it can help many people
This video will show step-by-step ASP.NET Core development with Deployment to Azure
https://www.youtube.com/watch?v=1QVRe7UHaro

@DevOpsFounder , Thanks for leveraging Azure docs feedback channel and sharing a video demonstration of the WebApp deployment process. It can be beneficial to new Azure users.
Thanks for your interest in Azure! It's much appreciated.
You may wish to know  that you could contribute on the doc update with a Pull Request (PR), so I would like to share the steps to raise a PR:
If you know the change that is needed in an article, we encourage you to submit the changes directly using a pull request.

From the Azure Document where you wish to propose a change, click  on “Edit” option (top right hand corner). * Sign in to GitHub if you aren't already.
On the GitHub content source, right side of the document header is a Pencil icon.
Propose the change you wish to see by making an edit to the file. Update the markdown to make the change.
In the “Propose file change” title box below the markdown editor, provide a title and description of your change. Be short, but accurate.
Click “Propose file change”. This opens a page comparing the changes you've made. If you’re satisfied you made all the changes you intended to, click “Create pull request”.

The author will get notified and would review the update for accuracy.
For a complete guide on this, kindly refer this document: https://github.com/Microsoft/Localization/wiki/How-to-Contribute-to-docs.microsoft.com.


SMTP Connecting issue

Hi,
I am not able to connect on port 25 getting  [Connection timed out #110] (code: 0)?
is there any option I can open a new port for SMTP?
I tried by disabling firewall the command testing working fine postal test-app-smtp<EMAIL_ADDRESS>but when I am trying to connect with any smtp client I am getting error [Connection timed out #110] (code: 0)
any idea?

this https://github.com/atech/postal/wiki/Abandoning-iptables worked for me.
thanks


Are the track annotations of the bacterial dataset accurate?

I read in the original paper that the dataset was annotated using a segmentation tool called Schnitzcells 1.1. Are the results reliable? Have the annotations been manually calibrated? Please let me know if I misunderstood something. Thank you.

Hi @imzhangyd
The bacteria dataset of van Vliet et al 2018 was initially segmented and tracked with Schnitzcells, but then heavily manually curated and validated.
Hope that helps


error occure while using command read -p:read: -p: no coprocess

Describe the bug
error occure while input shell commands below:
➜ read -p "test "

To Reproduce
Steps to reproduce the behavior:

zsh
Run command read -p "test"
See error

Expected behavior
no error
Screenshots or recordings

System:

OS: macOS
Zsh version :zsh 5.7.1 (x86_64-apple-darwin19.0)
Terminal emulator [e.g. iTerm2]

Additional context

zsh's read is a builtin that has different options than the bash one. Specifically, -p tells read to read the input from a coprocess. See https://superuser.com/a/556006/545959


Remove + in tabs bar?

Description of the problem

next to the template name at the top left (under the main toolbar) should be removed? It looks like it should open a new tab with another template, but opening new templates opens new windows.

This form is for VFB2 bug reports and feature requests.
If you need help, please use the forum.
Describe the bug or feature request in detail.
Always include a code snippet, screenshots, and any relevant data to help us understand your issue.
Browser

[x] All of them
[ ] Chrome
[ ] Firefox
[ ] Internet Explorer

OS

[x] All of them
[ ] Windows
[ ] macOS
[ ] Linux
[ ] Android
[ ] iOS

Has been removed


#oauth2.hasScope and Resource Server

Hello,
I have multiple Resource Servers that share an Authorization Server, and everything works pretty good.
Now I'm trying to protect Controllers in Resource Servers with @PreAuthorize("#oauth2.hasScope('myscope')") annotation, but it just rejects every call, even with the right scope.
Here is an example Resource Server code:
@SpringBootApplication
@EnableResourceServer
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MyResourceApplication {

	public static void main(String[] args) {
		SpringApplication.run(StatisticsApplication.class, args);
	}
}

@RestController
public class MyController {

	@PreAuthorize("#oauth2.hasScope('myscope')")
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String hello(Principal principal) {
		return "hello, " + principal.getName();
	}
}

I can see this in my logs:
Previously Authenticated: org.springframework.security.oauth2.provider.OAuth2Authentication@48cce0de: Principal: another-service; Credentials: [PROTECTED]; Authenticated: true; Details: remoteAddress=<IP_ADDRESS>, tokenType=BearertokenValue=<TOKEN>; Not granted any authorities
Voter: org.springframework.security.access.prepost.PreInvocationAuthorizationAdviceVoter@4cd3541a, returned: -1
Voter: org.springframework.security.access.vote.RoleVoter@7e09868e, returned: 0
Voter: org.springframework.security.access.vote.AuthenticatedVoter@23c38124, returned: 0

I guess there is some problem with Auth to Resource server communication, because the same Controller annotation works good in Auth server. And I can see with curl, that Auth server user-info-uri request returns serialized Principal object, which contains required scopes and other stuff.
How can i make my Resource server to work with #oauth2.hasScope properly?
Thank you.

Also, during Resource server debugging, I can see that UsernamePasswordAuthenticationToken details contains incoming scope:

But my controller with @PreAuthorize("#oauth2.hasScope('myscope')") annotation still rejects any requests

Can you move this question to Spring Boot please? We can fix it there because these features are no longer in Spring Cloud (as you can see from your example above which has no Cloud code in it).


Load scene from string

Scene strings can now be tested like this:
 ./tangram -s "{ import: [ refill-style.yaml, themes/color-blue.yaml] }" /home/jeff/work/tangram-es/styles/refill/

Added ios interfaces.

Ok this is good from ios side.
Added the necessary interface for loadSceneYaml and loadSceneYamlAsync. Also did some cleanup.

@tallytalwar looks good - thanks!

🎉


🐛 [firebase_core] Web-App crashes with "NoSuchMethodError: method not found: 'gB5' on null"

calling await Firebase.initializeApp(); in my WebApp crashes
Steps to reproduce
Call initFirebaseAndGetToken in the following class
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';

class MyFirebaseMessaging {

  Future<String?> initFirebaseAndGetToken() async {

    print('initializeApp');

    await Firebase.initializeApp();

    print('after initializeApp');

    FirebaseMessaging messaging = FirebaseMessaging.instance;

    print('before messaging.requestPermission');

    NotificationSettings? settings;

    try {
      settings = await messaging.requestPermission(
            alert: true,
            announcement: false,
            badge: true,
            carPlay: false,
            criticalAlert: false,
            provisional: false,
            sound: true,
          );
    } catch (e) {
      print(e);
    }

    if(settings == null){
      return null;
    }

    if (settings.authorizationStatus == AuthorizationStatus.authorized) {
      print('User granted permission');
    } else if (settings.authorizationStatus == AuthorizationStatus.provisional) {
      print('User granted provisional permission');
    } else {
      print('User declined or has not accepted permission');
    }

    return messaging.getToken();
  }

}

when calling
  try {
    String? token = await MyFirebaseMessaging().initFirebaseAndGetToken();
    if(token != null) {
        ...
      }
  } catch (e) {
    print("error in loggedInCallback");
    print(e);
  }

I get
...
main.dart.js:42101 initializeApp
main.dart.js:42101 error in loggedInCallback
main.dart.js:42101 NoSuchMethodError: method not found: 'gB5' on null

Expected behavior
The same as when build for android or ios
[√] Flutter (Channel stable, 3.10.5, on Microsoft Windows [Version 10.0.19044.3086], locale de-DE)
• Flutter version 3.10.5 on channel stable at C:\SDKs[more...]
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 796c8ef792 (8 weeks ago), 2023-06-13 15:51:02 -0700
• Engine revision 45f6e00911
• Dart version 3.0.5
• DevTools version 2.23.1
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
• Android SDK at C:\Users[more...]
• Platform android-33-ext5, build-tools 33.0.2
• Java binary at: C:\Program Files[more...]
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files[more...]
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.5)
• Visual Studio at C:\Program Files (x86)[more...]
• Visual Studio Community 2019 version 16.9.31229.75
• Windows 10 SDK version 10.0.19041.0
[√] Android Studio (version 2020.3)
• Android Studio at C:\Program Files[more...]
• 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 11.0.10+0-b96-7249189)
[√] IntelliJ IDEA Ultimate Edition (version 2023.1)
• IntelliJ at C:\Program Files[more...]
• Flutter plugin version 73.1.1
• Dart plugin version 231.9065
[√] Connected device (4 available)
• Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
• Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.19044.3086]
• Chrome (web)                       • chrome        • web-javascript • Google Chrome 115.0.5790.171
• Edge (web)                         • edge          • web-javascript • Microsoft Edge 115.0.1901.188
[√] Network resources
• All expected network resources are available.

Thanks for the report @chrisDK1977
Can you provide what version of firebase_core and firebase_messaging are you using ?
Also,  can you try using the plugin example and check if using it, you get same error as you reported ?


Reference to fs.default.name property

The fs.default.name property has been deprecated. The new property is fs.defaultFS.
See: http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/DeprecatedProperties.html

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e450abc6-2dbd-8f6c-423c-52aca37a2b06
Version Independent ID: 4aff678a-6db1-a438-9aca-bb4b4d49bc27
Content: CREATE EXTERNAL DATA SOURCE (Transact-SQL) - SQL Server
Content Source: docs/t-sql/statements/create-external-data-source-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @CarlRabeler
Microsoft Alias: carlrab

@mezankhaja -- thank you for your feedback.  I am looking into it.

@mezankhaja --  I have updated the documentation and it should be live by tomorrow.


Atomically release quota and queue inadmissible workloads

What type of PR is this?
/kind bug
What this PR does / why we need it:
Ensures atomicity when releasing quota and requeuing inadmissible workloads. If not, it's possible that a workload being requeued slips in between the time a workload is deleted from the cache and we requeue inadmissible workloads, violating priority.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
This is adding a dependency from the queue manager lock into the cache lock. We already had an instance like this via the StatusChecker interface in the manager.
In the future, we need to be careful not to add a lock dependency the other way around.
Based on top of #506

/assign @ahg-g

/test pull-kueue-test-integration-main

/lgtm


add -A flag to geco_irig_decode to read all lines

going off of one of these answers
http://stackoverflow.com/questions/8314499/read-n-lines-at-a-time-using-bash

Implemented in a61b721


Chewy not refreshing dynamic default_scope in production

We are now running into this issue also https://github.com/toptal/chewy/issues/263.
It is also possible to recreate this behaviour in the test environment if you preload the chewy index files in a before(:suite) block.
In our application we are applying multi-tenancy and have a default scope on particular models default_scopes { where(account_reference: current_tenant) }. When the application  starts the tenant is nil, as it is in the test environment if you preload chewy indexes.
It is worth mentioning that our application uses a monkey patch for multi tenant indexes that is discussed in this PR https://github.com/toptal/chewy/issues/225#issuecomment-131891526
Are there any plans to be able to apply scopes to a model that will be scoped to the multi-tenanted index? Or is it a case of adding another monkey patch.

Sorry about late response, but what do you mean about being able to "apply scopes to a model that will be scoped to the multi-tenanted index"?
I mean, the multi tenancy logic will depend on how you implement it. You could simply add an extra field to relate to which tenant (that would be the simpler case, I would guess).
On the other way, if you want o create a distinct index for each tenant, we would need to worry about how to index that, and that would be very troublesome and would require a lot of changes. So I don't believe we would support something for now on that direction.
Could you clarify what exactly you want? (If still want)


add missing properties to invoice header and invoice body

add net weight rail value and currency value fields according to shahrivar 1402 document

@Azare77 Thanks for the contribution


Make pumpWidget's arguments named

Much nicer calling API and simplifies evolving this API in the future.
I wish we could write a dart fix for this, but that's blocked on https://github.com/dart-lang/sdk/issues/54668.

Since dart fix doesn't currently work for this, could you add a small note and guide to https://docs.flutter.dev/release/breaking-changes?


Issue #12 Upgrading Rake

I changed the gemspec file to reflect the new rake version.  Bundled it up with the new version and all the tests continued to work.

Thanks so much!


Add minus support.

Coverage remained the same at 100.0% when pulling ef3ec9028418784c88894a7e0e568ed63d791e78 on add-minus into 1fa6a9f5f2ed902e491ef7e6e6f73e50e385cf6a on master.

Coverage remained the same at 100.0% when pulling 46eea8678350302aa207c81c72cd98298ead66c5 on add-minus into 1fa6a9f5f2ed902e491ef7e6e6f73e50e385cf6a on master.


resolve some confusion in bools

All booleans had --no-flag versions but often this
just made no sense, setting --no-memory when the default
is false didnt really add any value and just cluttered help
output.
Now we add the nagatable version only where it makes
sense which hopefully remove some confusion
Signed-off-by: R.I.Pienaar<EMAIL_ADDRESS>

@jnmoyne I didnt tweak bench command but FIY a few changes in CLI parsing you can now choose between for example --progress only or having both --progress and --no-progress.  The --help now shows both version of flags so I think there are a few cases in bench where it would make sense to update some flags.


chore: Add observer to LayoutElements

Description

Create a hook based on the LayoutElementPositionsObserver and use it in AnvilFlexComponent such that all widgets in Anvil have their positions registered in the LayoutElementPositionsReducer
Do the same for layouts in Anvil. Added in the FlexLayout component.

PR fixes following issue(s)
Fixes #26947
Fixes #27287
Type of change

New feature (non-breaking change which adds functionality)

Testing
How Has This Been Tested?

[x] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan
Issues raised during DP testing
Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test


Be able to delete a competition

Base the ratings on the past 12 months. Need to delete previous year's comp before replacing it with this year's version

Fixed with pull request #99. Cleared out dancers, heats, entries, and results to setup for next year's comp.

Fixed with pull request #99. Cleared out dancers, heats, entries, and results to setup for next year's comp.


use absolute URLs to pull assets from s3 [DO NOT MERGE]

Adds an absoluteURL utility function to convert all relative URLs used within ScratchJr (and not loaded through webpack), and sets the publicPath in webpack to set the base URL for assets loaded through webpack.
Currently these changes are not deployed on github pages (nor should they be for the time being) so that we can keep the older version that is currently deployed and uses the github pages in case something goes wrong and we need to revert. The JS bundle for these changes is uploaded to S3 along with all other assets at s3://codehsstatic/scratchjr_assets, and with this PR we have a cache flag set up to switch between using the new S3-uploaded bundle and the github-pages-deployed bundle

NOTE: As of today, the latest bundle in production in s3 is built from commit 9823d69


Use librsvg for PNG rendering

Remove batik support
Use librsvg
Breaking change: Requires additional package
librsvg2-dev see https://www.npmjs.com/package/librsvg

@wikimedia/math this is a really huge performance benefit, and no temp files for png images anymore

cc @pkra

Thanks for the cc. I'm guessing that means you want to submit this upstream at mathjax-node as well?  The first question that comes to mind: could you abstract the converter? It'd be great if people could switch out their personal favorite, in particular svg2png is a fan favorite.

But it would be good to make a PR on mathjax-node to discuss this further.
Oh and also: really great to see this! :100:

@pkra I would love to make that this modular. I was thinking about that, but I'm not not sure what's the best way to do this. Maybe @d00rman has an idea.
With this change the performance improves drastically
https://github.com/physikerwelt/mathoid-server/commit/5169289574b91fcd6c93eebaf2b54cfa96919084
However, there is additional effort required to make this run on windows. Took me about 1 hour, but only since I called by directory "C:\GTK" instad of "C:\gtk" which is the same for windows but not for node.

I was thinking about that, but I'm not not sure what's the best way to do this.

Maybe discuss upstream?

In principle, I welcome this change, but I'm afraid WMF isn't ready for it. We have our own pkgs for librsvg which don't currently exist for Jessie :/ We need to follow up on this, though.

@d00rman did you file a bug for librsvg-dev? I think the absence of PNG export is the most important blocker for further developments in the math environment. We might consider taking a special path for math since we do not feed arbitrary svg images to librsvg.

Give me a day to finish up some work for an upstream modularization of the png generation.

@physikerwelt I've just spoken to @Stype about it, and he says that the newest Jessie librsvg contain all of our security fixes, so we are actually good to go on that front. libsrvg2-dev is present in Jessie.

@physikerwelt module the minor Travis config nits, LGTM, so when these are corrected I'd be happy to merge.


Fix last_modified_time on scripts

Fix https://github.com/godotengine/godot/issues/60997, supersedes https://github.com/godotengine/godot/pull/61870. Based on https://github.com/godotengine/godot/pull/61870#issuecomment-1156464611:

We discussed this in a meeting and the consensus is that the load_source_code() function should set this when called, since it's already dealing with the file.

Thanks!


Docs: Fix image URL in Network visualizations

The last image, "initial layout", in the "Network visualizations" page is broken because a slash ("/") is missing, see: https://github.com/duo-labs/cloudmapper/blob/master/docs/network_visualizations.md
I fixed the URL so that it links to the image as seen here: https://github.com/synoa/cloudmapper/blob/fix/broken-image-docs/docs/network_visualizations.md

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you!


#2068 if flash is missing (replace ZeroClipboard mechanism)

ZeroClipboard swf mechanism was replaced to document.execCommand technique.

Should I totally remove ZeroClipboard?

if the new api is missing or disabled (in firefox it is config option) then
use flash.
BeakerNotebook.com
ScottDraves.com
twitter.com/Scott_Draves
On Aug 21, 2015 10:07 AM, "dlukyanyuk"<EMAIL_ADDRESS>wrote:

Should I totally remove ZeroClipboard?
—
Reply to this email directly or view it on GitHub
https://github.com/twosigma/beaker-notebook/pull/2179#issuecomment-133456860
.

Document scrolls to bottom on copy, this is a bug.

eg, broken on firefox for me:
Exception { message: "", result:<PHONE_NUMBER>, name: "NS_ERROR_FAILURE", filename: "http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerOutputDisplay.js", lineNumber: 281, columnNumber: 0, inner: null, data: null, stack: ".controller/$scope.doCopyToClipboard/executeCopy@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerOutputDisplay.js:281:14
.controller/$scope.doCopyToClipboard@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerOutputDisplay.js:285:12
Parser.prototype.functionCall/<@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:45525:14
@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:59843:8
$RootScopeProvider/this.$get</Scope.prototype.$eval@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:47433:15
$RootScopeProvider/this.$get</Scope.prototype.$apply@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:47531:17
@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:59842:6
jQuery.event.dispatch@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:10682:14
$event.dispatch@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:89497:8
jQuery.event.add/elemData.handle@http://<IP_ADDRESS>:8801/c09090b/beaker/app/dist/beakerVendor.js:10367:5
" }

:+1:


iOS archive failed

Hi,
there seems to be issue with building app for archive, (normal build to app works fine)
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

I tried few solutions mentioned here http://stackoverflow.com/questions/21366549/errorthe-sandbox-is-not-in-sync-with-the-podfile-lock-after-installing-res but none of them fix the issue.

clean app with just plugin added,
xcode 8.3
pod version 1.2.0

thanks

Seen this before with iOS. You have some pod issue on your machine. You'll
have to delete some pod folder on your mac and run pod init or something. I
went through it a week ago. It's not an issue with this plugin but your
local iOS setup. If I find what CMD I ran that fixed it I'll post here. It
was a rough day when I encountered it.
On Mon, Apr 24, 2017, 6:57 PM Davor Peic<EMAIL_ADDRESS>wrote:

Hi,
there seems to be issue with building app for archive, (normal build to
app works fine)
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
I tried few solutions mentioned here
http://stackoverflow.com/questions/21366549/errorthe-sandbox-is-not-in-sync-with-the-podfile-lock-after-installing-res
but none of them fix the issue.

clean app with just plugin added,
xcode 8.3
pod version 1.2.0

thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bradmartin/nativescript-drawingpad/issues/16, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFulhJu5E8nd1hDc33vd8nZRWG8VTmMLks5rzTbYgaJpZM4NG2Ov
.

Hey,
yeah, I remember I lowered my cocoapods version for some other plugin issue, could be related as it is not the lates version. If I find the fix will post it too for future reference.
thanks Brad


Merge refs/heads/feature/refactor-datasources into alpha

Merge refs/heads/feature/refactor-datasources into alpha

This PR has been merged into alpha and tagged as 2.0.0-alpha-202308241227. Thanks for your contribution!


Update

Added pyrogram link
Updated runtime
Changed session name to repository name
Updated callback data
Removed unused return
Added authorised user filter for broadcast
Fixed commas

But filters.user() Method doesn't works for multiple users it's only limited upto one user as far as I know
So, this is more better way I think 🥲

But filters.user() Method doesn't works for multiple users it's only limited upto one user as far as I know
So, this is more better way I think

Ohh! Sorry I don't know about that. Fixed, check now.

Thanks bro 🥲

Always welcome 😁

🤘


Is there a way to make autocomplete to also work cloned windows?

This would really be useful and I don't really know why it does not work, perhaps it is a bug.

Can you describe in more detail what behavior you're trying to see?

Hey adzenith,
Sorry for a late reply. Here is a screencast I made to clarify better on what I mean : http://quick.as/l91Xf2g4O.

It looks like this is a bug in Sublime. Can you try:

make a new window
go View>Layout>Columns: 2
open a file
go File>New View Into File
drag the new view on the tab bar into the other column
see if they both have autocomplete

Definitely an issue with sublime text. Probably https://github.com/SublimeTextIssues/Core/issues/731.
Does the problem go away after a ST restart?

Yeah, I tried the steps adzenith proposed and got the same issue.
So if it is a sublime text bug, do you know if there is a way to fix it. I have googled it and looked at the link posted by FichteFoll and it seems that it still has not been fixed.
Should I just wait for it to be fixed by the Sublime Text team or there is something else I could do?
Thank you for your help.

If a ST restart does not fix it (you didn't mention that), then there is nothing you can do.

Yeah, you're going to have to wait and see if it gets fixed in Sublime Text. Sorry about that.


Layer breaker in request.test.ts

This test will have to move to a node layer:
https://github.com/microsoft/vscode/blob/78c211fe9de81942b28d818e5c747cb0a3a56780/src/vs/base/parts/request/test/browser/request.test.ts#L6-L9

Fixed since.


Update slides for 2024.

This updates the slides and adds a script for 2024. My plan with the script is to take what's written, discuss it, and then turn it into a function and apply it using for loops and purrr. Feedback would be welcome!

Oh, and remember to update index.qmd and the syllabus to get a link to the slides on the website!


Default to allowing all signers for approval

Implements the design in https://github.com/cert-manager/approver-policy/pull/415
Local testing of upgrade
I wanted to sanity check that all users upgrading from default values would get the new value.
I installed approver-policy v0.13.1 and checked the role:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
...
    app.kubernetes.io/version: v0.13.1
    helm.sh/chart: cert-manager-approver-policy-v0.13.1
  name: cert-manager-approver-policy
rules:
...
- apiGroups:
  - cert-manager.io
  resourceNames:
  - issuers.cert-manager.io/*
  - clusterissuers.cert-manager.io/*
  resources:
  - signers
  verbs:
  - approve
...

Then built the chart locally on this branch and upgraded to it:
$ make helm-chart

$ helm upgrade -n cert-manager cert-manager-approver-policy ./_bin/scratch/image/cert-manager-approver-policy-v0.13.1-27-g8cd1aa7c27f951.tgz

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
...
    app.kubernetes.io/version: v0.13.1-27-g8cd1aa7c27f951
    helm.sh/chart: cert-manager-approver-policy-v0.13.1-27-g8cd1aa7c27f951
  name: cert-manager-approver-policy
rules:
...
- apiGroups:
  - cert-manager.io
  resources:
  - signers
  verbs:
  - approve
...

/approve
Thanks for the review @ThatsMrTalbot !

/test pull-cert-manager-approver-policy-smoke


Add ability to handle formatted message in PsrHandler

This is just a proposal, I own this implementation inside of one of my own projects repo but maybe it would be useful for some other people? WDYT? Is it the way it should be implemented?
class PsrHandler extends AbstractProcessingHandler
{
    protected $logger;
    public function __construct(LoggerInterface $logger, $level = Logger::DEBUG, $bubble = true)
    {
        parent::__construct($level, $bubble);
        $this->logger = $logger;
    }
    public function write(array $record)
    {
        if (!$this->isHandling($record)) {
            return false;
        }

        $message = isset($record['formatted']) ? $record['formatted'] : $record['message'];

        $this->logger->log(strtolower($record['level_name']), $message, $record['context']);

        return false === $this->bubble;
    }
}

Seems fine to me but I think this should be a 2.0 feature only as it can introduce some breakage. The question though is what should the default be? Should it format by default or rather pass-through by default but if you configure a formatter then it uses it to format?

Seems fine to me but I think this should be a 2.0 feature only as it can introduce some breakage. The question though is what should the default be?

👍  for 2.0 of course. Should use the formatted message (if a formatted is configured of course) by default I guess, no?

Should it format by default or rather pass-through by default but if you configure a formatter then it uses it to format?

Yes, only if you configure a formatter.

Ok then I guess go for a PR :)


Silly nice-to-have: Twitter card image?

Occurred to me it'd be nice to have an image in Twitter cards:

One logical image to use could be Democracy Earth's logo. Though here Twitter says:

You should not use a generic image such as your website logo, author photo, or other image that spans multiple pages.

🤔

The OpenGraph tag og:image should do the trick. It's okay to have only one image for the whole website for now : fake it 'til you make it !  Once proposals can have their own user-fed (dangerous!) images, or images generated from categories and tags, we'll have more custom images for proposals links.


Ignore invalid readings from the temperature sensors

Version: 2023.9.4
First, I would like to thank you for creating this plugin that allows to integrate GEM with Home Assistant. I've been using it for several years to monitor power consumption and temperatures through the house, and found it to be very helpful.
Now let me report the problem. I have few temperature probes connected to GEM, and periodically getting a temperature of 256F which completely sets off the graphs  (I guess, once in a while, when it fails to read the sensor). Those values should be treated as "n/a" or "unknown". Same story applies to the temperature channel that doesn't have any probe on it ("Unused" on the second screenshot).
Please add a logic to ignore invalid temperature readings. Thanks!
I am attaching two graphs as an example:

Please let me know if you need any further information.

I guess, having min/max temperature thresholds + calibration offset in the configuration for each temperature sensor would be helpful

Thanks for reporting this issue!
I'd recommend just disabling the unused sensor; no need to have it cluttering up your UI.
I did a little research into the temperature sensor and how other tools parse the data packets, and it looks like 256 is a well-known value for "no sensor". I can definitely make a change to detect that and have the sensor go unavailable rather than report bad data. The right place to make this fix is probably in one of the libraries used by this integration under the hood, so this may take a little longer than it would if it were just a fix to the integration itself.

Thanks for looking into! See if the suggested min/max temperature thresholds (discarding data outside of the range) would be easier/faster to implement.
Speaking of the "Unused" sensor - this is is the only one that is not connected (out of 8 temperature + 32 CT connected ports) that I used as an example. I figured that having one more or one less won't make much difference in the amount of data coming back from GEM to HA. :) I may eventually install another probe and use it too.
Here is my latest "GEM Temperatures" graph, so you can clearly see what I am getting. Somehow the old version of plugin (which required manual definitions in YAML) was free of this problem, I guess due to different/older libraries.

Sorry for the delay. This is fixed in 2023.10.28, which I've just released. Let me know if you still have any issues!


[RFC] Provider User Entity Interface/Abstract

OAuth 2.0 does not define a User entity. However, we're providing an Entity\User class in this library. As a result of how various providers handle users and user data, we've had to modify this class numerous times to support each provider. Now that there are no more providers in version 1.0, it no longer makes sense to support a User entity that works for all the providers.
My recommendation is to remove Entity\User in v1.0. In its place, we should provide a basic Provider\UserInterface and possibly an abstract Provider\User with bare-bones functionality. Each provider will need to upgrade to use at least the interface by the v1.0 release. The management of user entities will now be the responsibility of each provider.
We should get feedback from each of the third-party providers for what the Provider\UserInterface should include.
Refer to #237 and #264 for more discussion on this topic.

I would suggest only supplying the bare minimum being: user_id, nickname, email, name (combination of first_name and last_name) and maybe an avatar.

@kevindierkx Bare minimum is in some cases not sufficient. If o authorized against a provider and i know and need the data that they provide, why wouldn't we provide acces to it?
https://github.com/hwi/HWIOAuthBundle
Uses paths for each different provider to get the required info

Please think of the "bare minimum" as the minimum needed for an interface that fits all providers. If there are outliers, these may be used in the provider-specific user entities themselves, even if the interface does not support them.

@marcojanssen I was talking about the UserInterface provided in the base package, the specific providers can add whatever they want in my opinion. They could even create a separate interface for those situations.
I don't think the base package should include a primaryContacts getter and setter in the UserInterface just because my API supplies one.

Sorry for the spam, but I'd like feedback from all the third-party provider maintainers, so I'm going to mention you all here. :-)
@SammyK @stevenmaguire @shadowhand @tpavlek @jasonvarga @zot24 @JC5 @rakeev @howlowck @deminoth @j4k

Bare minimum: user_id. I don't think we can make any more assumptions other than that. :)
For example, Facebook provides anonymous login which only gives you a token that ID's a user until they choose to use normal login.

So, we're looking at an interface that looks a bit like this right now:
namespace League\OAuth2\Client\Provider;

interface UserInterface
{
    public function setUserId($id);
    public function getUserId();
}

I won't try to enforce what the constructor looks like. That may be left up to the individual implementations. This just needs to be the bare minimum that should be expected on any provider user object.
Anything else?

I'd say the User entity needs to be immutable since there is no save functionality on the entity (as in update the user entity on the origin site). So I'd kill setUserId() and just have all the user data injected into the constructor.

That sounds reasonable. I agree.

Sorry I haven't been too active in this discussion, since it does actively affect me.
All of my use-cases require a toArray function on the Entity object, and to that end, I would like to see it on the interface. I think if we're providing a default Abstract implementation of this interface (we should) it could simply get_object_vars and be done with it. Makes it easier to reason about what fields you actually have if you're dealing with dynamically switching out Entities in providers.

All of my use-cases require a toArray function on the Entity object

A toArray() method doesn't have any relation to a user entity so to keep things "single responsibility" is shouldn't be on the UserInterface.
If you need toArray() it should be on a Collection class or something that manages data in a very general way. Then you could do this on your user entity:
class User extends Collection implements UserInterface
{
    public function getUserId() {}
}

Perhaps we could provide a base Collection class (or trait even) in the OAuth 2.0 Client for this case?

I'd rather not get too complicated in providing a base Collection class. Again, that's out of scope of OAuth2. :-)
I think perhaps UserInterface could extend IteratorAggregate, though. This would force everyone implementing UserInterface to also implement the getIterator() method. But, like @SammyK mentioned, would all the providers need this functionality?

@sammy Eeeeeeh, I don't want to start an internet argument here, but that
just seems a bit pedantic to me. Whether we acknowledge it or not,
pragmatically this class is going to be used as a data blob. People are
going to be setting properties in the constructor and then using public
getters to get it. Functionally the class is just an array by another name.
I'm not necessarily opposed to inheritance but it adds a lot of complexity
for no real gain other than a check mark for purity.
On 21 Apr 2015 9:07 am, "Sammy Kaye Powers"<EMAIL_ADDRESS>wrote:

All of my use-cases require a toArray function on the Entity object
A toArray() method doesn't have any relation to a user entity so to keep
things "single responsibility" is shouldn't be on the UserInterface.
If you need toArray() it should be on a Collection class or something
that manages data in a very general way. Then you could do this on your
user entity:
class User extends Collection implements UserInterface{    public function getUserId() {}}
Perhaps we could provide a base Collection class (or trait even) in the
OAuth 2.0 Client for this case?
—
Reply to this email directly or view it on GitHub
https://github.com/thephpleague/oauth2-client/issues/265#issuecomment-94832777
.

@tpavlek How do you feel about getIterator(). You could even have it return new ArrayIterator($this) to iterate over all the public properties, and you can call getArrayCopy() on that object to accomplish your toArray().
The only problem I have with this is that I don't necessarily think every provider will want to treat their User model as an array, so that's why I want to hear from everyone on how they intend to use it.

I'd rather not get too complicated in providing a base Collection class. Again, that's out of scope of OAuth2. :-)

So if offering a UserInterface and User entity. :) If you want to be really basic, just return a plain-old PHP array and let the user dump it into their framework's Collection object. That's not a bad idea actually... :)

perhaps UserInterface could extend IteratorAggregate

I'm :+1: for this if we still want to go down the User entity support.

I don't want to start an internet argument here

Too late! :) Just kidding.

Functionally the class is just an array by another name

I totally agree. That's why I think getUserId() is all we need and leave it up to the providers to add getter methods galore if they want to. But then again, a plain old PHP array is sounding a lot better for this lib.

Are the providers the only things using this User object? Is there any need to use it internally in the base oauth2-client? Will end-users integrating with each provider need the ability to easily swap back-and-forth between User objects from various providers?
If so, then we do need to enforce some sort of contract. If not, removing it entirely from oauth2-client is preferred, and we let each provider handle it separately.

I agree that this should be the complete interface:
interface UserInterface
{
    public function getUserId();
}

Regarding the toArray method, I've mentioned before that I would like to see a league/common package that provides a number of common reusable traits, but I don't think this needs to be addressed within the scope of this issue.

Is there any need to use it internally in the base oauth2-client?

Facebook for example doesn't return a user ID with the access token so having a UserInterface with just getUserId() is still useless at that point in the OAuth flow.

Will end-users integrating with each provider need the ability to easily swap back-and-forth between User objects from various providers?

Maybe, but that sounds like a "Open ID login" edge case. The more I think about it the more I like just having it poop out an array and letting the user do what they wish with it. Otherwise we could be putting up barriers trying to accommodate the edge cases and power users.

I accept that I'm in the minority here, and I'll just add toArray to my objects downstream :).
Re: Removing the object altogether, that sounds like a very bad idea to me. getUserId() is important because different providers return different things as the "id", and it's important to be able to specify that. If we don't allow users to specify it here, we'll need to make some method on the Provider to handle setting User "array" id field, which also seems like a separation of concerns issue, and definitely sounds like the greater evil compared to including this interface.

different providers return different things as the "id"

Indeed!

If we don't allow users to specify it here, we'll need to make some method on the Provider to handle setting User "array" id field

Why does the library need to know the user's ID? It shouldn't care about user data & just mindlessly return an access token, correct? At that point the developer can use file_get_contents() or their fav HTTP client to grab info using the access token.
A lot of times the developer might not even need any info on the user. I've had many cases where a user would authenticate their account just so the app could grab the user's events they are going to for example.
Or what if I only want to grab the user's "relationship status"? Right now the OAuth 2.0 Client will make a request to gather basic info on the user and then not even give me what I want so I have to make another request to get the desired data.
I'd say rip out all that stuff and leave it up to the developer to get what they want once they obtain an access token. That's what OAuth 2.0 is all about anyways. But if enough people think it should be left in, that's cool too - I'm easy to please. :)

@SammyK I have to agree with @tpavlek on this one, having the getUserId method is very useful for token storage, because it provides a consistent interface for storage of tokens before moving out to a layer where we are making calls. It just helps with separation of concerns and that is a Good Thing™.

@SammyK  That's a slippery slope argument - why doesn't the user just use guzzle and craft the OAuth 2 flow themselves? Obviously an exaggeration, but the point stands.
Meanwhile we get people dropping issues in here and on provider packages saying "Why doesn't this implement calling the API". I don't think end users of this package are looking for features to be stripped away in the name of "single-responsibility". My vote is for keeping the UserInterface, and its single method.

having the getUserId method is very useful for token storage

Indeed! But only if you care about the user node. As I alluded to earlier, not all OAuth flows focus on the user who is authenticating (although probably most are). :)

Obviously an exaggeration, but the point stands. [...] I don't think end users of this package are looking for features to be stripped away in the name of "single-responsibility".

My point about dropping the User entity isn't about single-responsibility. It's more about @ramsey's concern of keeping the lib focused on OAuth 2.0 Client flow only. There's nothing in the OAuth 2.0 flow that says you have to grab x, y & z info for a user once you obtain an access token. So if we're being struct about OAuth 2.0, then User entity should be removed. No slippery slope argument there. :)
But if the idea behind OAuth 2.0 Client is to provide OAuth 2.0 flow + some handy helpers to make things easier for 80% of all cases, then we certainly need to keep the User entity. :) We just need to be explicit in the lib's goals.

I don't plan to "go all Stalin" on anyone. I'm just working on shepherding a good package, and I want something that makes it easy for anyone to build a provider against. :-)

As a philosophy, I am in favor of reducing the responsibility of this package to its essential needs. The important question that I see here has been most recently articulated by @SammyK.

Does the package include, beyond authentication and token management, an essential need to support a select list of additional data access helpers?
If so, does the select list need to be amended to include more ore less?

Honestly, I could go either way; I see value in both positions. My vote on implementation will hinge directly on clarifying the goals of the package (if they are even in question)?

IMO, the goal of the library should be to provide a full-fledged RFC 6749 compliant OAuth 2.0 client.
This includes supporting the following authorization types:

Authorization Code Grant
Implicit Grant
Resource Owner Password Credentials Grant
Client Credentials Grant
Extension Grants (through extension of this library—not internal to the library)

The library should provide an out-of-the-box provider that may be used with any OAuth 2.0 server that adheres to RFC 6749. This provider may be configured upon instantiation by passing all necessary endpoint URLs, etc. into the provider, and then calls for authorization and access tokens may be made to it. (see also #179)
Third-party provider libraries may base themselves on this out-of-the-box default provider, or if they drift too far from the OAuth 2.0 spec, they may adhere to a provider interface. As each provider supports varying degrees of the OAuth 2.0 specification (for example: supporting only one or two authorization types, varying authentication schemes, disparate error responses, etc.), the library must provide easy extension to allow third party provider libraries the flexibility needed to target a variety of OAuth 2.0 servers, handling their responses however varied they may be.
Since OAuth 2.0 does not define access token types (i.e. Bearer, MAC), this library must also be flexible enough to be extended to provide support for different access token types.
How's that for a manifesto?
If all providers will always need some sort of User object, then providing an interface for that User object makes sense to me. If the User, however, is an API implementation detail for some providers but not for others, then maybe we need to leave it up to the individual providers.
This is why I'm asking here. I'm not strongly in favor of ditching the UserInterface; I could go either way.

How's that for a manifesto?

Nice! :)
Just a few more thoughts to consider regarding simple & easy (inspired by @weaverryan's talk at SunshinePHP a few months ago).
From a strategic standpoint, the current docs show how to obtain data on the authenticated user:
// Get the user node as a User entity
$userDetails = $provider->getUserDetails($token);

It's easy. You don't need to know what goes on behind the scenes for that to work. But it's not simple. There's a lot of grunt work going on to make that one-liner work.
By contrast, this is simple, but not necessarily easy:
// Get the user node as a JSON string
$response = get_file_contents('https://graph.facebook.com/v2.3/me?fields=id,name,email&access_token='.$token);

$userDetails = json_decode($response, true);

The second option explains to the user right out of the box how to make requests to this specific provider's API. In this simple example we learn:

The Facebook API lives at https://graph.facebook.com
The API is versioned in the URL (v2.3)
Access tokens are appended to the URL with the access_token param.
Responses from the Graph API are JSON strings.

And the developer can take that knowledge further and do more complicated things that aren't even user-profile specific:
// Get a list of events
$response = get_file_contents('https://graph.facebook.com/v2.3/me/events?access_token='.$token);

The problem with the User entity is that it's got a great 5-min experience but doesn't give you any cues as to how to take your needs to the next level with that specific provider.

@SammyK you bring up a really good point here, and I'd like to take it a step further:
One of the things that always bothered me about this library (and am moving towards solving with #232) is that it doesn't do very much to make using the provider APIs easier, it only gets us to the point of having an authenticated token.
I'll be very clear here and say that the goal is not to create API wrappers with providers. However, I think a very valuable part of this package is that it makes it easier to use provider APIs and so any changes we are proposing here should keep that in mind.
To this end, what are valuable things this package can do to make API usage easier?

Ensure that providers contain a method to fetch an API base URL. This is not very useful by itself, but it makes writing multiple API calls much DRYer.
Ensure that providers contain a method to add authentication to a request. This is what #232 did (see also league/oauth1-client#18) and it immediately improved the code I was working on that made API calls.
Provide ways to integrate more cleanly with dependent packages. The client already uses Guzzle, so it should expose methods that work with those classes. For instance, having a method like this would save a lot of repeated code:

/**
 * Create an authenticated client to access an API URL.
 *
 * @param  string $method
 * @parma  string $path
 * @param  AccessToken $token
 * @return Guzzle\Http\Client
 */
public function getAuthenticatedClient($method, $path, AccessToken $token);

This would allow us to write code like:
$response = $client->getAuthenticatedClient('GET', 'me', $token)
    ->setDefaultOption('query/fields', 'id,name,email')
    ->getResponse();
$me = $response->json();

Personally I would find this to be a very useful and complete example of how to build upon what the package provides and represents best practice.

+1 @shadowhand
I like the idea of an authenticated client. It is a mixture of education and helpfulness, while removing the need to assert our entity expectations on the possible use cases the consuming vendor specific providers may encounter.

+1 @shadowhand
Though that should definitely return a ClientInterface ;)

@tpavlek fixed. ;)

It sounds like getAuthenticatedClient() would just return a Guzzle client with the authentication headers/token already injected, right? So, I'm not sure we would need our own ClientInterface, unless we want to provide the ability for others to inject their own HTTP clients (that aren't Guzzle), but as I recall, that's what #224 did for us.

@ramsey Guzzle has a ClientInterface. I meant to return that.

We're technically not using Guzzle. We're using https://github.com/egeloen/ivory-http-adapter.

@ramsey ah yes, I forgot about that. In which case, we'd be using RequestInterface. I'll update my example.

With @shadowhand solution in mind, would this package still support the following by requiring implementation of abstract method, then encourage implementers to use the getAuthenticatedClient method and return any payload they like for their vendor?
// Get the user node as a User entity
$userDetails = $provider->getUserDetails($token);

Is it any of our business to have an opinion about that?

Frankly, I think we're getting off topic. I like the authenticated client idea, but I do not think it's mutually exclusive with the UserInterface, and I still think we should keep that.
I move we make a new RFC for returning authenticated clients.

@shadowhand If you want to go ahead and do a PR for the authenticated clients, we can use that as our "RFC" for discussion, or you can just open an issue. Your call. :-)

Frankly, I think we're getting off topic. I like the authenticated client idea, but I do not think it's mutually exclusive with the UserInterface, and I still think we should keep that.

Agreed. :) I plan on doing a PR for this in the near future, just haven't had time.

:+1: For authenticated client! :)
The authenticated client will remove the need for a User entity altogether unless you guys have a really good use case where it's needed. :)

@shadowhand I went ahead and opened an issue, so that I don't forget to nag you about that PR. ;-)

@ramsey thanks!

Should I keep this open much longer for feedback from others, or are we all content with the interface as it's defined in #267?

:+1: from me.

:+1:

One more thing I'd like to ask is if we're all collectively content with the UserInterface name. Since I typehint interfaces, not concretions, I'd prefer to have the interface actually named User. Anyone else have thoughts?

@tpavlek I completely understand this request, but it doesn't match up with the rest of the interfaces defined within this package. I would suggest that we keep UserInterface for consistency. You can always alias it locally:
use League\OAuth2\Client\Provider\UserInterface as User;

As this isn't something that PSR-1 or PSR-2 cover, I've been trying to adhere to the Symfony coding standards, since they are well-defined in this respect:
http://symfony.com/doc/current/contributing/code/standards.html#naming-conventions

I was unaware there was a standard being followed.
Since this is consistent with that it gets the :+1:  from me :)

Excellent. Merging in!


Added optional bool to disable parallel tool calling in prebuilt react agent

Hey folks,
I wanted to way to disable parallel tool calls in the prebuilt react agent so decided to modify this.
Reason: A lot of times the agent calls the same tool in parallel, leading to increased hallucinations and sub-optimal answers. I want the agent to call one tool at a time, think about the answer, and then call the next tool if necessary.
Unfortunately, this is not solved entirely through prompting.
Relevant Discussion: https://github.com/langchain-ai/langgraph/discussions/1461
cc: @vbarda

Hi @akshatjain546 thank you for your contribution -- we have a different PR that solves this (https://github.com/langchain-ai/langgraph/pull/1647), will be merged shortly! You will be able to control this directly on the model you're passing to create_react_agent. Stay tuned. In the meantime, will close this PR

This is released as of langgraph==0.2.29

what about create_tool_calling_agent ?? @vbarda


where i can get sql Script

This project is developed using EF Core code-first approach and does not require creating database scripts. Please try PM>"update-database" command.

This project is developed using EF Core code-first approach and does not require creating database scripts. Please try PM>"update-database" command.

ok thanks


Black or Transparent Map

Hello,
Same error as https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/740.
I tried :
webView.setZOrderOnTop(true);
and :
preference name="xwalkZOrderOnTop" value="true"
Nothing happened.
didn't work neither 15 nor 14.
Suggestions?
Thanks.

Install new plugin on a fresh install and check the updated crosswalk install

This was def. fixed on 1.3.9


Add scroll tracking to Budget HTML doc

HMT have requested to have % scroll tracking on the html doc version of the budget to be published on 16/03/16

@vp2015 - this looks fine, would be good to double check the URL in publisher if possible.


Download XML data from Copernicus API

Allows users to view TOPS Split data without downloading the entire 4 GB image. User needs a Copernicus account.
Addresses issue #2

Check appears to fail because there is a decrease in code coverage. This will be addressed in a future update. It has passed all current tests.


dependabot.yml file added

dependabot.yml file is added
two other files are getting changed due to an error occurring while running git clone statement maybe due to some files whose filenames consist of Windows-reserved keywords.

I solved the above problem by using this command "git config --global core.protectNTFS false" which is ignoring those files.
@Pranjal360Agarwal please look into this issue and let me know if you need any changes.
Thank you for this opportunity

@Anshika-Jain02 what exact commands do u use, as it is giving error.

@Anshika-Jain02 it is working using these.


🌐 add pt_BR translation

Adds translations to Brazilian Portuguese

Thanks for your translations! I'll merge this in.


Vue 2 Support when?

Hi, I was directed from this issue https://github.com/Danktuary/vue-discord-message/issues/9#issuecomment-892312218.
I would love to add reaction to my chat room.
When can we expect Vue 2 support to come?
Thanks!

I've found out old vue 2 repository does come with reaction component.
The only things missing are image and active property.
I copied the source code from here to there and it works perfectly fine.
Would appreciate if old repository can get an update : )


HTMLElement.shadowRoot is deprecated.

The contents of atom-text-editor elements are no longer encapsulated
within a shadow DOM boundary. Please, stop using shadowRoot and access
the editor contents directly instead.
HTMLElement.shadowRoot (C:\Users\zhuan_f\AppData\Local\atom\app-1.19.0-beta0\resources\app\src\text-editor-element.js:13:10)
MarkdownScrlSync.getVisTopHgtBot (C:\Users\zhuan_f\.atom\packages\markdown-scroll-sync\lib\utils.coffee:20:33)
MarkdownScrlSync.setMap (C:\Users\zhuan_f\.atom\packages\markdown-scroll-sync\lib\map.coffee:25:14)
MarkdownScrlSync.startTracking (C:\Users\zhuan_f\.atom\packages\markdown-scroll-sync\lib\main.coffee:75:12)
<unknown> (C:\Users\zhuan_f\.atom\packages\markdown-scroll-sync\lib\main.coffee:58:23)
Function.module.exports.Emitter.simpleDispatch (<embedded>:63204:20)

Verified. I seeing this too.

For people searching to fix this in their local installation, you can simply open the utils.coffee file in your .atom/packages/markdown-scroll-sync/lib directory and change this line:
lineEles = @editorView.shadowRoot.querySelectorAll '.lines .line[data-screen-row]'
to this:
lineEles = @editorView.getRootNode().querySelectorAll '.lines .line[data-screen-row]'
and restart Atom.
I hope this helps you out until @vincentcn finds someone who will take over this project and a new version is published.

In the latest version, according to your method, the plug-in will be invalid.

The latest version of the atomic editor, if it is modified in this way, this plug-in will be meaningless

Duplicate of #65


PEFT + TP support

What does this PR do?

[x] LoRA on linears
[x] LoRA on embeddings
[x] PEFT tests with TP
[x] Compute the number of trainable parameters properly
[x] Model saving
[x] Consolidation of adapter weights
[x] Update functions type annotations

To do in following PRs:

Add support for LoRA on GQA linears
Load pre-existing LoRA weights
Add support for pipeline parallelism

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

I am missing the knowledge of the peft internals to truly grasp the pull-request, but I think I understood that it includes:

propagating the neuron parallelization behaviour to the base model instead of the peft model (or to both ?),
explicitly adding parallelization for the extra lora layers in the peft model,
adjusting parameter count based on the extra lora layers, taking parameter size into account.

Detected a couple of nits. It looks like the CI did not run the PEFT tests, perhaps because it failed before that ? Can you check ?

To answer your questions:

The peft model is just a wrapper around the base model. But yes since the ParallelizerManagers is able to only deal with PreTrainedModels to find which subclass to use, we need a bit of work to make it work with NeuronPeftModel.
Indeed, we find the base model from the peft model and parallelize it as before
On top of that, we also need to shard the LoRA adapters which we do as you understood
We use a way of counting the parameters that works with both TP and PP and quantization (for QLoRA in the future?) for peft models

Yes, I will work on it, it is annoying.


Add support for nested tenant config override

This PR adds the ability to assign from nested JSON values on the Tenant model while staying backwards compatible with the existing implementation.
Essentially eloquent's model getAttribute is replaced with the Laravel helper function Arr::get when the values are extracted from the tenent model which allows for dot notated paths to be used to map nested JSON values.
For example this allows implementations such as the following
\Stancl\Tenancy\Features\TenantConfig::$storageToConfigMap = [
    'whitelabel.config.theme' => 'whitelabel.theme',
];

Hey, thanks for the PR! I was trying to find a past discussion about this because I think there was a convo about how this part of the code works, so I wanted to check if there'd be any problem with using Arr::get(). But it seems like this will work fine.
I found this issue https://github.com/archtechx/tenancy/issues/412 and that may have been it (I think there was some other discussion too but this looks similar enough). Essentially, "supporting arrays" is a thing on both sides of the foo => bar mapping here. I believe the commit which fixed #412 https://github.com/archtechx/tenancy/commit/6dad6ce49a2a24e070b768ee93e0a3792a8d8924 added support for mapping a single tenant value to multiple config values.
And this PR will support reading from arrays on the tenant side. Is that correct?
The implementation looks good and so does the test. Though I think I'll change the target to 4.x. We're focusing on v4 development now so we prefer that new features are added there, and 3.x changes are only things like urgent bug fixes.
If I change the target branch, there will likely be a conflict in the test file, since we migrated to pest on the master branch. You can try resolving that on your own, or @abrardev99 will fix it on Monday and we'll get this merged 👍🏻

Ah hmm, seems like your branch is based on 3.x which has some additional changes that can't be easily merged. I guess we'll merge this into 3.x then and merge 3.x into master

Thanks a lot for the PR!!


WMS ID 819

Add here your WMS ID
General requirements

Information in the workshop is adequate and updated
Code is correct and working
Links are correct
Make sure you enter the help email link in your manifest.json
Please make sure WMS URLs are updated as needed after your PR is approved

Checklist - Refer to the QA document for the complete list
Please confirm that the following is completed before submitting your PR

[ ] All filenames are lower case (including folders, images, files, etc.)
[ ] Filenames are descriptive
[ ] Your workshop folder structure should be similar to the one used in the sample workshop (https://github.com/oracle-livelabs/common/tree/main/sample-livelabs-templates/sample-workshop)
[ ] Are you using multiple versions (desktop/, sandbox/, tenancy/)? Make sure that each of them contains a manifest.json and an index.html
[ ] Image references in markdown contain an alternate text

@longjzha Please make sure that all images have an alternate description to comply with accessibility rules.
Example:

should be something like this:


Reorganize demo feature documentation

Create a nested section called features
Organize feature index page
Add feature flags under features subsection
Add signal coverage under features subsection

OK, I think I fixed the links - at least they appear to work with npm run serve:netlify but they don't work with npm run serve as hugo aliases appear to be disabled... Is there a different way to do this?

Hmm, seems I still get these errors with npm run check:links:
blog/2023/demo-birthday/index.html
  target does not exist --- blog/2023/demo-birthday/index.html --> /docs/demo/feature-flags/
blog/2022/announcing-opentelemetry-demo-release/index.html
  target does not exist --- blog/2022/announcing-opentelemetry-demo-release/index.html --> /docs/demo/trace-features/
  target does not exist --- blog/2022/announcing-opentelemetry-demo-release/index.html --> /docs/demo/metric-features/
docs/demo/architecture/index.html
  target does not exist --- docs/demo/architecture/index.html --> /docs/demo/metric-features/
  target does not exist --- docs/demo/architecture/index.html --> /docs/demo/trace-features/
docs/demo/index.html
  target does not exist --- docs/demo/index.html --> feature-flags
  target does not exist --- docs/demo/index.html --> feature-flags/
  target does not exist --- docs/demo/index.html --> metric-features/
  target does not exist --- docs/demo/index.html --> trace-features/

Yes, me too, and this appears to be because hugo.yaml has disableAliases: true # We do redirects via Netlify's _redirects file. If you want it to work, you have to run npm run serve:netlify instead of npm run serve. I'm not sure how to proceed here...

Ergh, failed twice to push changes to your branch due to git permissions -- here's a patch file of the changes you need to make this work.
0001-fix-links.patch

I like some of where this is going, but I see it adding even more confusion.
The new section includes Telemetry coverage and Feature Flags. I don't believe they shouldn't be grouped. Should the new section be called "Telemetry Features" instead, and Feature Flags be moved back up? Also, I would like to see "Manual Span Attributes" pulled into this section.
Thinking into the future, we currently have a gap with manual metrics needing to be documented, and this section would be a great spot to add them.

Ergh, failed twice to push changes to your branch due to git permissions -- here's a patch file of the changes you need to make this work. 0001-fix-links.patch

Thanks and yeah, I feared this was the answer - I'll file a bug about aliases not working properly. I'm not sure fixing all links is scalable long-term.

@puckpuck any further thoughts on this PR?

Btw, thanks for the PR @flands, this slight reorg is an improvement IMHO! 👍🏻


{Network} Bump azure-mgmt-network from 20.0.0 to 21.0.1

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Network

Force merging.


[minor] fix documents links for contract + fix test for legal entity

Coverage increased (+0.002%) to 90.701% when pulling feb68924884bf50f8fa7af9f6eda547bca26909f on fix-documents-links#2613 into d8bbabe14eaf8605487c205c782c918b7f6de575 on master.


Add more failure factors to README.md

I needed to search quite a while for https://stackoverflow.com/questions/52738506/cgeventtapcreate-returns-null-in-macos-mojave to figure out why in news builds, MediaKeyTap doesn't work anymore. This information might come in handy for other people, too.

Thanks for the PR !


SnapSync pipeline halting on RocksDB Busy exception during flat db heal

Description
During snap-sync, especially on a low IO instance, a deadlock can occur that will halt the snap sync pipeline.  See stack trace in logs below.
Besu should implement a retry policy that will catch the exception and retry the commit before throwing, rather than allowing the exception to abend the pipeline.
Acceptance Criteria

Snap sync pipeline is more tolerant of IO saturated machines

Steps to Reproduce (Bug)

start snap sync of mainnet with flat db healing, on an IO restricted instance

Expected behavior: [What you expect to happen]
snap sync to finish with full flat db heal
Actual behavior: [What actually happens]
When IO contention is too high, a RocksDB Busy exception will be thrown and abend the sync pipeline
Frequency: [What percentage of the time does it occur?]
Logs (if a bug)
{“@timestamp”:“2023-09-19T13:05:45,780",“level”:“INFO”,“thread”:“EthScheduler-Services-26 (batchPersistTrieNodeData)“,”class”:“SnapsyncMetricsManager”,“message”:“Healed 74500 world state trie nodes, Peer count: 25”,“throwable”:“”}
{“@timestamp”:“2023-09-19T13:05:55,384”,“level”:“INFO”,“thread”:“EthScheduler-Services-26 (batchPersistTrieNodeData)“,”class”:“Pipeline”,“message”:“Unexpected exception in pipeline. Aborting.“,”throwable”:” org.hyperledger.besu.plugin.services.exception.StorageException: org.rocksdb.RocksDBException: Busy
	at org.hyperledger.besu.plugin.services.storage.rocksdb.RocksDBTransaction.commit(RocksDBTransaction.java:95)
	at org.hyperledger.besu.services.kvstore.SegmentedKeyValueStorageTransactionValidatorDecorator.commit(SegmentedKeyValueStorageTransactionValidatorDecorator.java:65)
	at org.hyperledger.besu.ethereum.bonsai.storage.BonsaiWorldStateKeyValueStorage$Updater.commit(BonsaiWorldStateKeyValueStorage.java:472)
	at org.hyperledger.besu.ethereum.eth.sync.snapsync.PersistDataStep.persist(PersistDataStep.java:80)
	at org.hyperledger.besu.ethereum.eth.sync.snapsync.SnapWorldStateDownloadProcess$Builder.lambda$build$27(SnapWorldStateDownloadProcess.java:392)
	at org.hyperledger.besu.services.pipeline.MapProcessor.processNextInput(MapProcessor.java:31)
	at org.hyperledger.besu.services.pipeline.ProcessingStage.run(ProcessingStage.java:38)
	at org.hyperledger.besu.services.pipeline.Pipeline.lambda$runWithErrorHandling$3(Pipeline.java:169)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: org.rocksdb.RocksDBException: Busy
	at org.rocksdb.Transaction.commit(Native Method)
	at org.rocksdb.Transaction.commit(Transaction.java:207)
	at org.hyperledger.besu.plugin.services.storage.rocksdb.RocksDBTransaction.commit(RocksDBTransaction.java:89)
	... 12 more
”}

Versions (Add all that apply)

Software version: 23.7.x
Cloud VM, type, size: Azure d4s

Additional Information (Add any of the following or anything else that may be relevant)

Besu setup info - mainnet, --Xsnapsync-synchronizer-flat-db-healing-enabled=true
System info - IO constrained

fixed by #6004


There are two users of the same name

In GitLab by @Robin-Mao on Mar 14, 2018, 11:52
If you are reporting a problem, please make sure the following information are provided:

Version of board (last git commit number) , docker engine and docker-compose.
Config files of board, you can get them by packaging "board.cfg" and files in the same directory, including subdirectory.
Log files, you can get them by package the /var/log/board/.
Other necessery information.

In GitLab by @sokril on Nov 8, 2019, 07:47
The picture shows the same users infomation in database.

In GitLab by @luotian-github on Nov 8, 2019, 07:47
in UI

In GitLab by @liyanq528 on Nov 8, 2019, 07:47
only changed sign-in and sign-up
fixed by push request #1053

In GitLab by @luotian-github on Nov 8, 2019, 07:47
please verify fix

In GitLab by @sokril on Nov 8, 2019, 08:18
closed

In GitLab by @sokril on Nov 8, 2019, 08:18
assigned to @sokril

In GitLab by @liyanq528 on Nov 11, 2019, 08:45
mentioned in merge request !433

In GitLab by @liyanq528 on Nov 13, 2019, 07:16
mentioned in merge request !450


thriftpool: Change the benchmark test to parallel

This is closer to how they are used in real world code.

For comparison, this is the previous (non-parallel) benchmark result:
$ go test -bench . -benchmem
goos: darwin
goarch: amd64
pkg: github.com/reddit/baseplate.go/thriftpool
BenchmarkPoolGetRelease/channel-8         	12347830	        95.7 ns/op	       0 B/op	       0 allocs/op
PASS
ok  	github.com/reddit/baseplate.go/thriftpool	1.404s


Archive app version 0.3.7

Description
The main purpose of this pull request is to archive the app at version 0.3.7.
Test Plan
N/A
Motivation and Context
We enhanced the interactions for the async thunks GetPlaylists, GetAlbums, GetPlaylistTracks, GetArtistImages, GetFavoriteTrack, GetUserImage, StopChatListener, GetChat, and SendChatMessage. We also updated the way in which the shadow opacity for the nav is calculated.
How Has This Been Tested?
I tested this manually by going through the app to make sure everything was working just as it was before the update.
Types of Changes

[x] Documentation
Bug fix
[x] New feature
Breaking change

Checklist

[x] My code follows the code style of this project
[x] My change requires a change to the documentation
[x] I have updated the documentation accordingly

 Archive app version 0.3.7


Setup AWS Batch using CloudFormation

Task
(from [Rastervision docs](docs - https://docs.rastervision.io/en/0.12/cloudformation.html?highlight=aws)) Using Batch is advantageous because it starts and stops instances automatically and runs jobs sequentially or in parallel according to the dependencies between them. In addition, this deployment sets up distinct CPU and GPU resources and utilizes spot instances, which is more cost-effective than always using a GPU on-demand instance. Deployment is driven via the AWS console using a CloudFormation template.
Rastervision provides a cloudformation template for adaption. This will be the basis for this project leveraging cloud compute and will need to be adapted to leverage LINZ accounts and access to AWS.
Definition of Done

[x] upload the CloudFormation Template to AWS via the AWS CloudFormation interface
[x] specify the Stack Name via the template
[x] specify the VPCvia the template
[x] specify the Subnets via the template
[x] Ensure GPUs are enabled (see -docs)

Out of Scope

CDK

Discussion Required
Are some of the cloudformation requirements going to be an issue?:

You have either root access to your AWS account, or an IAM user with admin permissions. It is probably possible with less permissions, but we haven’t figured out how to do this yet after some experimentation.
you have the ability to launch P2 or P3 instances which have GPUs.
you have requested permission from AWS to use availability zones outside the USA if you would like to use them. (New AWS accounts can’t launch EC2 instances in other AZs by default.) If you are in doubt, just use us-east-1.
VPC: The ID of the Virtual Private Cloud in which to deploy your resource. Your account should have at least one by default.
Subnets: The ID of any subnets that you want to deploy your resources into. Your account should have at least two by default;

went with CDK in the end after road blocks with the CF template


Validate GraphQL queries/mutation names do not collide

Current Behavior
Validate that GraphQL query and mutation names do not collide. This check occurs prior to GraphQLSchemaBuilder execution which creates the GraphQL schema utilizing permissions metadata from the authorization resolver. The collision check runs regardless of any permissions set in the runtime config and may be unnecessarily validating against a collision that will not be a problem due to the particular query or mutation not being add to generated GraphQL schema.
Suggested Behavior
Validate that GraphQL query and mutation names do not collide based on permissions metadata because certain query and mutation fields may not be created/included in the GraphQL schema if zero permissions allow the particular query/mutation operation.
Originally posted by @severussundar in https://github.com/Azure/data-api-builder/pull/1060#discussion_r1059267412

Determine if this results in helpful error messages as-is or if there is a bug.

I am hesitant to implement this because by doing so we are effectively saying:

Authorization rules configured in one entity affect the naming configuration in a different entity. This adds logical complexity to a configuration that should remain easy to modify and understand.
An authorization rule change that ultimately prevents the engine from starting up due to this validation failing would require cascading changes to other entities which a developer may not desire to make in a production workload. Downstream apps and dependencies may not be expecting GraphQL schema changes caused by authorization rule changes.

Example config that fails today but would pass the validation suggested in this issue:
"ProductCatalogue": {
  "source": "productcatalogue",
  "permissions": [
    {
      "role": "authenticated",
      "actions": [
        "create"
      ]
    }
  ],
  "graphql": {
    "type": {
      "singular": "Product",
      "plural": "Products"
    }
  }
},
"Product": {
  "source": "products",
  "permissions": [
    {
      "role": "authenticated",
      "actions": [
        "read",
        "delete",
        "update"
      ]
    }
  ]
}

That fails today is because DAB checks query and mutation names without considering authorization rules/permissions.
If this GraphQL query/mutation name duplication check validation is skipped here: https://github.com/Azure/data-api-builder/blob/dacf3bccbe0a36da51776bf4afd1b4a0d4348ff4/src/Core/Configurations/RuntimeConfigValidator.cs#L329-L349
Then more issues will arise as the remainder of the GraphQL schema is generated. The operation responsible for generating the GraphQL object type definitions, their input types, and their fields expects that at least one role is defined for the entity. (see: https://github.com/Azure/data-api-builder/blob/dacf3bccbe0a36da51776bf4afd1b4a0d4348ff4/src/Core/Services/GraphQLSchemaCreator.cs#L213-L216)
That operation neglects to check whether a "read" operation is defined for the entity. When a read operation is not defined for an entity, but another action is defined for the entity such as 'create', the generated ObjectTypeDefinition has zero fields added that map to the entity.

e.g. entity 'book' will have GraphQL object type definition created without fields like id, title, publisher_id.

Consequently, the generated input filters ProductOrderByInput and ProductFilterInput (for entity ProductCatalogue) will have no fields defined and will result in a HotChocolate schema validation error.
https://github.com/Azure/data-api-builder/blob/dacf3bccbe0a36da51776bf4afd1b4a0d4348ff4/src/Service.GraphQLBuilder/Queries/InputTypeBuilder.cs#L39-L55

See analysis above for determining to close.


Reading in Arrow in SPYT from RPC proxies behaves differently for dynamic and static tables

This is incredibly surprising, but reading timestamp column in Arrow works for dynamic tables and does not work for static tables.
What are our plans to fix formats for dynamic tables, can you remind me? :)

I reproduced this in unit tests, fix will be prepared soon.

Fixed. Will be able in the next release. timestamp type was not specified as a forbidden type for arrow reading.
Colleagues tell that proxy will support all types in a nearest future.


Fixes #2597. Enables standard glyphs to be set via ConfigurationManager

Fixes #2597
As a distraction from working on the new view architecture, and because i've lost hope that we'll ever be able to ask terminals if they support particular glyphs, I decided to refactor how the standard glyphs are set and enable users to change them via config.
See https://github.com/microsoft/terminal/issues/1040#issuecomment-1535203264
Pull Request checklist:

[x] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[x] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

@BDisp @tznind etc... please take a look and review.

Looks good.  Just a few minor points.
This is a great feature, awesome work! :rocket:

It's a very great work, congrats.

I got carried away and went further.

Almost all glyphs used in the project are now covered. Some more still to come
Refactored LineCanvas to ensure when the config changes, existing LineCanvas' instances get updated.
Much better docs of each glyph
Revamped LineDrawing scenario

Support LineCanvas tracking attibutes
Floating tool window that uses ColorPicker and RadioGroup
Added "Add Layer" button vs. color change

Maybe a static value that is changed in configs but not reset after the test or something?
[xUnit.net 00:00:24.06]       Expected:  ╒═╕ \n╔╡1╞╗\n║╘═╛║\n╚═══╝
[xUnit.net 00:00:24.06]       Actual:    ╒═╖ \n╔╡1╞╗\n║╘═╜║\n╚═══╝

Typo. I blame chatgpt who I used for some of this.

It'll be fun to extend the LineDrawing scenario to do more.
Issues

it should show what's gonna be drawn as the mouse drags
zero length lines are not handled correctly
switch layers
undo
erase

Yeah that would be cool!

Ok. This puppy is ready for final review.