Added Some useful updates under the Resources heading

I Included a link to an amazing course by Google which can help Technical writers improve their technical documentation skills.
Also a link to a website that has a curated list of Blogs, Agencies, etc.. that pays Technical writers for writing quality technical articles, documentation, and tutorials.

Thanks.


Add ANKSigned fast paths to ANKFullWidth

4 fast paths should be added to ANKFullWidth when ANKSigned has been implemented:

init(_: ANKSigned<Magnitude>)
init(exactly: ANKSigned<Magnitude>)
init(clamping: ANKSigned<Magnitude>)
init(truncatingIfNeeded: ANKSigned<Magnitude>)

init(ANKSigned<Magnitude>) is simply easier to reason about than its inlined equivalence.

Hm. I suppose there's a performance problem with this approach, since the current ANKSigned model uses signed zeros. While the expressions I'm want to replace would more readable, some would also contain unnecessary !magnitude.isZero comparisons. I may have to rethink ANKSigned, dunno.

I added fast paths in 2c841d74062471884d145bfaa2be089828400a6a because they require very few things to work.


chore: try bumping deployment images

@n1ru4l I think we must test this on the main branch? so feel free to merge if needed


Failed to find widget by key in a widget test.

I have a DropdownMenuItem with a ListTile and I want to find one of the items by the key, however, the test is failing because it is finding two widgets with the same key, but the two widgets have different keys.

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.1, on Microsoft Windows [versÃ£o 10.0.19043.1526], locale pt-BR)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Chrome - develop for the web
[✓] Visual Studio - develop for Windows (Visual Studio Community 2022 17.0.5)
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.64.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability
• No issues found!

Hi @luisgustavoo, thanks for reporting this.
Please provide a complete minimal reproducible code sample that we can use to verify this.
Thank you

Sample code.
category_model.dart
class CategoryModel {
  const CategoryModel({
    required this.description,
    required this.iconCode,
    required this.colorCode,
    this.id,
    this.userId,
  });

  final int? id;
  final String description;
  final int iconCode;
  final int colorCode;
  final int? userId;
}

main.dart
import 'package:error_key/category_model.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  CategoryModel? _selectedCategory;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: DropdownButtonFormField<CategoryModel>(
        key: const Key('categories_key_expenses_register_page'),
        validator: (category) {
          if (category == null) {
            return 'Inform the category';
          }
          return null;
        },
        onChanged: (category) {
          setState(() {
            _selectedCategory = category;
          });
        },
        value: _selectedCategory,
        hint: const Text(
          'Select category',
        ),
        isExpanded: true,
        isDense: false,
        items: const [
          DropdownMenuItem<CategoryModel>(
            value: CategoryModel(
              description: 'Test 1',
              iconCode: 1,
              colorCode: 1,
            ),
            child: ListTile(
              key: Key(
                'list_tile_item_key_0_expenses_register_page',
              ),
              title: Text('Test 1'),
            ),
          ),
          DropdownMenuItem<CategoryModel>(
            value: CategoryModel(
              description: 'Test 2',
              iconCode: 1,
              colorCode: 1,
            ),
            child: ListTile(
              key: Key(
                'list_tile_item_key_1_expenses_register_page',
              ),
              title: Text('Test 2'),
            ),
          ),
        ],
      ),
    );
  }
}

widget_test.dart
import 'package:error_key/category_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';

import 'package:error_key/main.dart';

void main() {
  testWidgets('Counter increments smoke test', (WidgetTester tester) async {
    await tester.pumpWidget(const MyApp());

    final categories =
        find.byKey(const Key('categories_key_expenses_register_page'));
    final categoryItem =
        find.byKey(const Key('list_tile_item_key_0_expenses_register_page'));

    await tester.tap(categories);
    await tester.pumpAndSettle();

    expect(find.byType(DropdownMenuItem<CategoryModel>), findsWidgets);

    await tester.tap(categoryItem);
    await tester.pumpAndSettle();

    expect(categoryItem, findsOneWidget);
  });
}

OK. Solved my problem, but I found this duplication of keys confusing

You do not appear to be on the only one. There's an existing issue describing a similar case in https://github.com/flutter/flutter/issues/89905.
Kindly follow up there to see if this gets resolved in the future.
Closing from here as duplicate.
Thank you


[PATCH] Add support for Local arguments in kernel functions

The patches attached enable support for func(@Local int arg1, float arg2,...) or func(int arg1_$local$, float arg2, ...).
As the following kernel code illustrates:
   public class LocalSimpleKernelTest extends Kernel {
 	private static final int LENGTH = 10;

	public LocalSimpleKernelTest(final AtomicInteger[] max) {
		myArray = new int[LENGTH];
	}

	@Local
	private int myArray[];

	public void doIt1(int baseValue, @Local int arr[]) {
		for (int i = 0; i < LENGTH; i++) {
			arr[i] += baseValue;
		}
	}

	public void doIt2(int baseValue, int arr_$local$[]) {
		for (int i = 0; i < LENGTH; i++) {
			arr_$local$[i] *= baseValue;
		}
	}

	@Override
	public void run() {
		int base = 10;
		doIt1(base, myArray);
		doIt2(2, myArray);
	}

   }

LocalAnnontationsSupport.patch.txt

@CoreRasurae  Thank you, can you submit this as a pull request, it will help us streamline testing it and getting it into the next release (i should be doing that in the next few days). Thanks for the submission.

@freemo Sure, I can do that, but won't be able to do it today. I am also preparing another patch to add support for increased atomics support by allowing AtomicInteger[] arrays to be mapped as OpenCL integers, thus easily allowing atomic operation both on Java and on OpenCL, in case there is interest for this feature. This would allow all supported OpenCL atomic operations on integers.

@CoreRasurae Awesome, yea I'll be happy to add that feature as well as long as there arent any negative impact on existing features (cant imagine there would be). So happy to approve both features, thanks so much.

@CoreRasurae merged your PR, Thanks!


Is it possible for the Max Transfer Rate Setting (MTR) to be applied dynamically?

Is your feature request related to a problem? Please describe.
For me, the optimal upload rate for large uploads varies depending on other usage of the network.

Overnight I'd be happy for it to be fully saturating the uplink, in order to maximise capacity, and it damaging download usage (see #1099) is not a problem.
During the majority of the day, I'm happy for it to run at, say, 80% to ensure that download usage is not impacted.
During a conference call it'd be ideal if it were limited to say 10-20% of the uplink bandwidth.

The Max Transfer Rate (hereafter MTR) setting allows me to decide on the usage at the start of an upload, but it appears to set it once, at the start of the upload.
Describe the solution you'd like
If an upload is currently in progress, and the MTR is modified (or removed entirely!) then the in-progress upload should honour that new limit (or non-limit, as the case may be)
Describe alternatives you've considered
Currently I have to cancel and restart the uploads, which is OK, but a little annnoying.
The log files get noisier every time I restart, and it's more effort.
Would be great if it were completely trivial.
Additional context
For reference, I'm currently in the process of uploading ~100GB of data, over ~1,000 files, over a domestic 2Mbps upload (Woo, Coronavirus!). It'll take about a week to do at 1.5Mbps.

As I understand it, in this context, ASE is just a wrapper around AzCopy, which I think is a synchronous call, not an async one, so I suspect this may not be possible without very drastic changes to AzCopy?
But figured I'd ask in case someone knows a way around that makes it more plausible.

@Brondahl your initial thoughts are correct. AzCopy doesn't support changing it's bandwidth limits to a set number in the middle of a transfer. 😟 I'd recommend heading over to their repository and asking for that as a feature request.
In the meantime, maybe you could:

at night, set transfer limit to something high
start a transfer which should finish while you sleep
wake up, set transfer limit to something smaller
start ta transfer which should finish by night time

Repeat until all data uploaded.
You could also try scripting it, have the night time and day time transfers not start until the right time?
Just some ideas. :)

Thanks for the confirmation.
Yes, that's roughly what I'm doing, although I'm actually just using the relatively nice "Cancel" and "Re-upload" handling:

Set everything to upload with no limit as I go to bed.
Cancel it when I wake up (losing the last 5-20 minutes, but nbd)
Set limit to something safe.
Reupload everything and select the "Do not Reupload" option for duplicates.
Cancel that when I'm about to go to bed.
Repeat

Scripting it sounds like it would be a good call if I needed this long-term. Fortunately I should be done pretty soon, and won't need it again once the data is on Azure.

The support to dynamically change the max transfer rate for each transfer is added to our 1.25.0 release.


Collision is inaccurate when navigating

Godot version
4.0 beta 4
System information
Windows 11, Geforce 3090
Issue description
Attached is a project containing a scene with a CharacterBody3D and a Skeleton3D that uses navigation to move towards the player. Inside the Skeleton3D there is a BoneAttachment3D with a RigidBody3D and a CollisionShape3D inside it.

The navigation seems to work but does not take the CollisionShape3D boundary into consideration and the Character clips through the wall.

Steps to reproduce
Add a character with skeleton and add a boneattachment to a bone with a collision box.
Have the character navigate to the player avoiding obstacles.
Minimal reproduction project
godot-collision-bug.zip

Damn, even without it being attached to a bone it clips through while pathfinding.

IIRC Smix has said that navigation is distinct from collision.

@Zireael07 thanks. I've been thinking about it. Supporting Collision in navigation would mean a complete rework of the navigation as you could no longer guarantee that the character was in the bounds of the path at all. If it was pushed off-track, the events would need to be retriggered and it just adds a boat-load of entropy and wouldn't be a nice feature to work with at all.


Created an EventMutator for when you want to mutate an event before reading

Objective

Often in games you will want to create chains of systems that modify some event. For example, a chain of damage systems that handle a DamageEvent and modify the underlying value before the health system finally consumes the event. Right now this requires either:

Using a component added to the entity
Consuming and refiring events

Neither is ideal when really all we want to do is read the events value, modify it, and write it back.
Solution

Create an EventMutator class similar to EventReader but with ResMut and iterators that return &mut so that events can be mutated.

Testing

I replicated all the existing tests for EventReader to make sure behavior was the same (I believe) and added a number of tests specific to testing that 1) events can actually be mutated, and that 2) EventReader sees changes from EventMutator for events it hasn't already seen.

I'm getting the same CI error here too:
2024-06-11T22:50:55.190743Z ERROR bevy_log: Could not set global logger and tracing subscriber as they are already set. Consider disabling LogPlugin.
2024-06-11T22:50:55.191809Z ERROR bevy_log: Could not set global logger and tracing subscriber as they are already set. Consider disabling LogPlugin.
2024-06-11T22:50:55.191838Z ERROR bevy_log: Could not set global logger and tracing subscriber as they are already set. Consider disabling LogPlugin.
test tests::keep_gotten_strong_handles ... ok
2024-06-11T22:50:55.199175Z ERROR bevy_log: Could not set global logger and tracing subscriber as they are already set. Consider disabling LogPlugin.
2024-06-11T22:50:55.201492Z ERROR bevy_asset::server: Encountered an I/O error while loading asset: Simulated failure 1 of 2
2024-06-11T22:50:55.204467Z ERROR bevy_asset::server: Failed to load asset 'd.cool.ron' with asset loader 'bevy_asset::tests::CoolTextLoader': A RON error occurred during loading
2024-06-11T22:50:55.208497Z ERROR bevy_log: Could not set global logger and tracing subscriber as they are already set. Consider disabling LogPlugin.
2024-06-11T22:50:55.217346Z ERROR bevy_asset::server: Encountered an I/O error while loading asset: Simulated failure 2 of 2
I haven't touched anything related to this so I'm at something of a loss.

Worked out the issue, par_read doesn't mark events as seen and thus lets you see events twice. My tests assumed par_read should behave the same as read.
For now I'll change the test.
I'll submit another PR with fixed par_read later.

To be clear, it looks like this has always been the behavior of par_read

Added the fix to #13821 but only to the par_read for EventMutator and NOT for EventReader figuring either the EventReader (PR #13836) or Added peeking to EventReader (PR #13809) will be taken which already contain the fix.

I am not completely convinced that this addition is a strictly positive improvement in the Events API. The current expectation of most event systems is that each consumer or reader gets an ordered or unordered stream of each event since it started consuming.
Adding the ability for any number of systems to modify an event in the stream for all subsequent readers adds that property that the behavior of the event system is now order-dependent for all systems. I think it conflicts with developer intuition about how a typical event system behaves.
Consuming and re-emitting a separate event I would argue actually is the ideal for adhering to the semantics of the current event system. If the need for these types of event changes proves to be fairly common, I think we would be better off providing a wrapper type that captures the entire intended behavior. For example:
trait EventMutator<From: Event, To: Event> {
  fn mutate_events(&mut self, mutator: FnMut(&From) -> To);
}

where an implementation might contain both the reader for From and writer for To. It would also make the system parameters more explicit about what mutation is actually occurring.

The problem with that is the combinatorial complexity for that is awful. DamageEvent becomes DamageAfterArmorEvent becomes DamageAfterArmorWithPoisonEvent etc. so instead I just fire off damage events and chain the systems manually anyway.

I think this should exist: we have an existing example for this because users kept asking how to do this. If we can meaningfully simplify and robustify a common pattern we should here.

I would love to see an example of this making your proposed damage system "simpler" while not making it more error-prone. In my opinion, the use of events in this way is making the system more complicated than it needs to be. The combinatorial complexity doesn't go away when you make it implicit, I think it just turns into a foot gun.

I disagree.
This a very very common pattern in games, and systems themselves are already order dependent. If I have two systems that mutate the same component I must specify there run order or behavior can “footgun”. So this is already true.
Not only that but I can actually already do this in a roundabout way by directly accessing the events resource this just provides better semantics and less bugs by allowing better tracking of already seeen events while unifying the API.

Then why insist on using events at all instead of a component?

It’s more performant, it doesn’t involve adding removing components every frame, and because philosophically it is an event and not a component.

Again, every game does something like this.
People have already asked how to do it often enough there is an example.
You can already do it if you know how EventReader and EventWriter are implemented.
Why wouldn’t make it less “arcane” and provide a unified API that matches existing APIs?

If the firing of the first event is an event, then so too are the modifications to whatever value is contained in the event. I think this muddies what the definition of an event is.
For context, I do come from a distributed systems background and not a game development background. I would prefer to see the actual morphology of the event expressible in the API. I don't think providing this in its current state is a good long-term design. If feels like it is circumventing the strengths of Rusts type system in order to keep a status quo.

I’m sorry but I don’t understand the concern.
How is this any different from allowing component mutation?
I’m happy to listen I just don’t get it.

Essentially, I want the API of Bevy to move in a direction where more system constraints are verifiable at compile time. Not being able to express order-or-execution constraints with component modification is not something I would say is ideal, it is just hard to solve. I don't really want to see even more of the API that Bevy provides out of the box to be only verifiable at runtime.
I think this change makes the behavior of the event system more ambiguous instead of less ambiguous.

Let's say I update a plugin I use, and it now modifies the value of some emitted event in a shared dependency (or core event) before my system is able to read it. Before, perhaps my systems were order independent from the plugin. Now, however, the entire system has a different pattern of behavior even though the plugins API surface did not change.

Would I need to implement my own event system in order to express immutable events?

Again. How is that different from component mutation?
On Sun, Jun 16, 2024 at 12:09 PM, Jacob @.***(mailto:On Sun, Jun 16, 2024 at 12:09 PM, Jacob < wrote:

Let's say I update a plugin I use, and it now modifies the value of some emitted event in a shared dependency (or core event) before my system is able to read it. Before, perhaps my systems were order independent from the plugin. Now, however, the entire system has a different pattern of behavior even though the plugins API surface did not change.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

So this a philosophical concern related to compiler vs runtime errors and mutability?

You don’t have immutable events today. What you describe can happen today.

Would I need to implement my own event system in order to express immutable events?

Yes, or add a new event kind to Bevy (like observers were added). The existing events are mutable: this is by design, and wearing both my Maintainer and SME-ECS hats, those semantics will not change. This pattern is common within game dev as a whole, and while I think that immutable events are a really interesting avenue to explore, deeply breaking existing users to support them is not on the table.

I think that both the existing model and immutable-by-design events can and should exist in some form, but this isn't the thread to discuss that.

I am not fundamentally against mutability or suggesting it be removed, but I also don't think making it even easier for important data flow constraints to be hidden is the right direction. I think that event mutation without an explicit API of that mutation is an anti-pattern. I guess the crux of my concern is that we are making the behavior of this particular system less explicit.

I fundamentally disagree.
I think this is significantly more explicit than the current state of affairs.

@BobG1983 can you update (I would expect nearly a full rewrite) https://github.com/bevyengine/bevy/blob/main/examples/ecs/send_and_receive_events.rs to demonstrate the net effect of this change (and also teach this feature)?

Happy to. I’ll take a look either tomorrow or Tuesday.
On Sun, Jun 16, 2024 at 1:36 PM, Alice Cecile @.***(mailto:On Sun, Jun 16, 2024 at 1:36 PM, Alice Cecile < wrote:

@.***(https://github.com/BobG1983) can you update (I would expect nearly a full rewrite) https://github.com/bevyengine/bevy/blob/main/examples/ecs/send_and_receive_events.rs to demonstrate the net effect of this change (and also teach this feature)?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@alice-i-cecile I've updated the events example, but currently the send_receive_events example is still correct and the best way to do it.
I was considering adding a get_writer and get_reader to EventMutator but then I'd also expect a get_reader and get_mutator to be added to EventWriter for completion. That would require a ManualEventWriter to be created (cos EventWriter takes ownership of the resource and ResMut can't be cloned). That would then require a get_events to be added to both Mutator and Writer (and possibly Reader) and it would end up looking very similar to the existing example (with maybe a bit of a cleaner API). I think it's worth doing, but on examination, it feels like a much larger events system change and would change the scope of this PR pretty significantly.
It's my opinion that such a change would be better in it's own PR after this one is merged.
Thoughts?

we have an existing example for this

Omg I had no idea, where can I find this?

Ah @atornity, apparently you can't. Instead you have to drain, filter and then resend them all using ResMut<Events<T>>. Bah!

Ah @atornity, apparently you can't. Instead you have to drain, filter and then resend them all using ResMut<Events<T>>.

oof - I really need this functionality (specifically for a damage system)

Give me a minute @atornity I have two more things I want to change in Events that should allow you to do this, but I have three PRs right now that all edit the same files and will need some reconciliation, so don't wanna get too ahead of myself.

Created EventCursor, replacing ManualEventReader, marked ManualEventR…
de0f0a8
…eader as deprecated. Updated all uses of ManualEventReader to EventCursor. Deprecated Events::get_reader and replaced it with Events::get_cursor everywhere. Also took the opportunity to tidy up the events tests. Removed unrequried tests of Mutator and Reader and replaced them with tests of EventCursor, also removed unrequried E event and replaced with TestEvent in all tests. Sorted tests so they're easier to follow
@alice-i-cecile @atornity

As an aside this now also fixes the par_read bug mentioned in #13836

Still waiting on a few reviews.

@BobG1983 now that the release is out the door I finally have time to review this :) Very pleased with the design and engineering. Once merge conflicts are resolved I'll merge this in.

I'll get those fixed either this evening or tomorrow.
For the migration guide. Do I add it as a comment?

As part of the PR description :) I've edited the description to get it started; take a look and revise it as you see fit.

Done

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1584 if you'd like to help out.

Thank you to everyone involved with the authoring or reviewing of this PR! This work is relatively important and needs release notes! Head over to https://github.com/bevyengine/bevy-website/issues/1655 if you'd like to help out.


Doesn't work with yarn version 3

publish-vscode-extension Version
Operating System

1
osx

Description
It fails at yarn list --prod --json, because yarn 2 and 3 don't have yarn list
This is preventing users from being able to upgrade to newer versions of yarn while using this action.
I see this is a problem in the underlying vsce package as well. https://github.com/microsoft/vscode-vsce/issues/517
Expected Behavior
It will need to check the version of yarn and use the appropriate commands for the yarn version. Either that, or change the yarn argument from a boolean to a number or string to represent the version.
Actual Behavior
It fails, example
Steps to Reproduce

Run it on any package that is using yarn version > 1

It looks like a workaround for this is to pass dependencies: false to vsce: https://github.com/microsoft/vscode-vsce/issues/439
This bypasses the yarn list check which is fine for yarn v2+ with pnp (no node_modules). I propose we add an option to this action like dependencies: boolean, similar to vsce.

Hi @sdankel thx for your contribution. I will take a look as soon as possible :)

published with v1.3.0


lazy ratelimit check

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]

/lgtm

/lgtm


Optimize upgrade function

The upgrade function is not well implemented atm. Please improve :D

Became irrelevant because of the rewrite with Gui.


Loose the IP when going to standby

Fix #62
This commit also does the following:

Add a timeout for etcd locker transactions (the timeout is now the KeepAliveDuration)
Change the LeaseTime to 5 * KeepAliveDuration (was 3 * KeepAliveDuration)

LGTM


Assume hg38 build by default

Opening an issue for tracking proposes. As we discussed last week, for now, we probably want to assume hg38 assembly for the human reference genome, with the option of explicitly search others like hg19 by adding that at the end of the search query.

Fixed in #112


Hopefully removed the last part of the handling of Certicate thumbpri…

…nt and Azure Subscription ID. Fixes #259.

:white_check_mark: Build ServiceBusExplorer 4.1.0-PullRequest0260.273.build.474 completed (commit https://github.com/paolosalvatori/ServiceBusExplorer/commit/8f79411768 by @ErikMogensen)


Fix unittest for Windows path

Fixes #1587

Great, any idea whats going on this npm?

No, I can't imagine the changes in this pull request caused it. Maybe just something on the side of Github, and it doesn't show up if you rerun?


"Uninstall the Azure Key Vault Secrets Provider extension" should include Client Secret clean up

A Client ID and Client Secret generated in "Provide identity to access Azure Key Vault" is manually written into the cluster secrets as part of those instructions.  IMO, it would be good from a security standpoint to instruct users to clean up that secret in the "Uninstall the Azure Key Vault Secrets Provider extension" section as I believe that secret Client ID/Client Secret would still be 'live' and a potential risk if it leaked with the instructions given.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f8b713b9-e735-704a-a0e2-834cfab0260f
Version Independent ID: 3daf6490-1946-b068-bc9f-8fdadfe4aa13
Content: Use Azure Key Vault Secrets Provider extension to fetch secrets into Azure Arc-enabled Kubernetes clusters - Azure Arc
Content Source: articles/azure-arc/kubernetes/tutorial-akv-secrets-provider.md
Service: azure-arc
Sub-service: azure-arc-kubernetes
GitHub Login: @mayurigupta13
Microsoft Alias: mayg

Thanks for the feedback. We will make the necessary change to the clean up section.

@ms-jcorley
Thanks for bringing this to our attention.

@ms-jcorley
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.

#reassign:JnHs

Hi @ms-jcorley - thanks again for the helpful suggestion! We've updated the topic with instructions for deleting the secret.
I'll close this issue now; let us know if you have additional feedback or suggestions. Thanks again for taking the time to help us improve our docs.
#please-close


Compact record constructor is missing generic type info on parameters

Please provide a brief summary of the bug
If a compact constructor is added to a record, that record's reflective Constructor object loses the generic type info on its Parameter objects.
Did you test with the latest update version?
Tested with 21.0.2.

Please provide steps to reproduce where possible
import java.lang.reflect.Type;
import java.util.List;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

class RecordParameterTest {
	public static List<String> fieldWithExpectedType;
	public static Type expected;

	@BeforeAll
	static void determineExpectedType() throws NoSuchFieldException {
		expected = RecordParameterTest.class.getField("fieldWithExpectedType").getGenericType();
	}

	record ImplicitConstructor(List<String> arg){}

	record CompactConstructor(List<String> arg) {
		CompactConstructor { }
	}

	record CanonicalConstructor(List<String> arg) {
		CanonicalConstructor(List<String> arg) {
			this.arg = arg;
		}
	}

	@Test
	void implicit() {
		assertEquals(expected, firstConstructorParameterType(ImplicitConstructor.class));
	}

	@Test
	void compact() {
		assertEquals(expected, firstConstructorParameterType(CompactConstructor.class));
	}

	@Test
	void canonical() {
		assertEquals(expected, firstConstructorParameterType(CanonicalConstructor.class));
	}

	static Type firstConstructorParameterType(Class<?> c) {
		return c.getDeclaredConstructors()[0].getParameters()[0].getParameterizedType();
	}
}

Expected Results
All tests pass
Actual Results
compact fails. The other tests pass.
What Java Version are you using?
openjdk 21.0.1 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode, sharing)
What is your operating system and platform?
Windows 11 on x86-64
How did you install Java?
No response
Did it work before?
No response
Did you test with other Java versions?
No response
Relevant log output
No response

This is something to raise at the OpenJDK project itself.  I recommend posting to https://mail.openjdk.org/mailman/listinfo/amber-dev

@karianna I didn't get any replies on the Project Amber mailing list. (Message here.) Is there perhaps a better place to report bugs?

I'd recommend nudging that thread and asking where they'd like a bug report.

Submitted a bug report to bugs.java.com. The internal review ID is 9076928.

I've reopened it, you can track at https://bugs.openjdk.org/browse/JDK-8331026

Turns out there's another bug here: https://bugs.openjdk.org/browse/JDK-8320575
And a fix on the way here: https://github.com/openjdk/jdk/pull/17070


upgraded to 6.4.1-SNAPSHOT

I will start merging these later today/tomorrow as I also need to deploy these new snapshots directly. Otherwise it will take a several hours for jenkins to catch up and we would have lots of false negatives.

+1


Why is rootPath a path and not a URI

The whole protocol uses URIs. That is nice because a client can operate over any protocol, be it file://, ftp://, git:// or whatever. But the rootPath is a path, and this essentially prevents any kind of indexing if the client operates on a protocol that is not file:// or a remote host. It cannot set the rootPath if it is operating over FTP or git protocol, because there is not local root path, and the server can in turn not search that rootPath for source files (may it be through direct file system access or through a protocol extension). It would have to be a URI that points to the remote resource over the same protocol the client uses.

This could be done in a backwards-compatible matter by deprecating rootPath and introducing a new param rootUri

Agree. This should be fixed.

Addressed for upcoming 3.0


Reduce the frequency of stats refreshes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-11 of 11 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 28.563%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

background/refreshrelease.go
0
11
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
914

Relevant Lines:
3200

💛  - Coveralls


BLM Tea time submission

This is a DRAFT PR only
Keep it around as a ref for next time.
It has logic to auto-gen the white paper list
There are notes there that explain how it works

Oh, and you can see how it looks in my fork

@maherou here is my Tea time submission in DRAFT mode.
I am awaiting any inputs from @elaineraybourn and/or @curfman.
Also, PS, I goofed regarding the previous work I had done for you on auto-gening the white-paper list file using Liquid which was here in this PR. I still have it on a commit in my fork but lost it here (because I didn' know what I was doing) in trying to create this PR for this tea time submission.

I like your draft and provided my feedback in an email before I saw this issue. Thanks.

Ok, thanks @elaineraybourn. Now, I am just going to sit tight and wait for @curfman who I think is very busy with SIAM this week.

@markcmiller86: I spoke with Lois today and we are both fine with the text as written.  Are you ready to submit it?  The intention is to combine this discussion with Mary Ann Leung's and have them both be part of the same Tea Time breakout session.

@maherou and @curfman sure thing. For some reason, I had the impression I should wait for update/guidance from @curfman. Will submit now.

Ok, its out of DRAFT mode and ready for you to merge.

Thank you.


Fix incorrect package link method calls in templates

Follow  #29531 . Fix the links in templates.

It is a regression of #29531 , I forgot to replace the names in templates to the new one.


error: no space left on device

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

Can't connect and login the site (or a custom CVAT)
It may be run out of drive memory
OS startup error message

Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-161-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Thu Nov  4 04:27:07 UTC 2021

  System load:                    0.81
  Usage of /:                     95.4% of 195.86GB
  Memory usage:                   6%
  Swap usage:                     0%
  Processes:                      320
  Users logged in:                0
  IP address for eno1:            <IP_ADDRESS>
  IP address for eno2:            <IP_ADDRESS>
  IP address for br-da5acf3eff8a: <IP_ADDRESS>
  IP address for docker0:         <IP_ADDRESS>

  => / is using 95.4% of 195.86GB

 * Super-optimized for small spaces - read how we shrank the memory
   footprint of MicroK8s to make it the smallest full K8s around.

   https://ubuntu.com/blog/microk8s-memory-optimisation

28 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

New release '20.04.3 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Nov  4 00:18:12 2021 from <IP_ADDRESS>
~ ❯                                                            s@su180 04:27:08
_p9k_dump_instant_prompt:print:25: write error: no space left on device
_p9k_dump_instant_prompt:print:27: write error: no space left on device
_p9k_dump_instant_prompt:print:45: write error: no space left on device
_p9k_dump_instant_prompt:print:48: write error: no space left on device
_p9k_dump_instant_prompt:print:89: write error: no space left on device
_p9k_dump_instant_prompt:print:99: write error: no space left on device
_p9k_dump_instant_prompt:print:208: write error: no space left on device
_p9k_dump_instant_prompt:print:242: write error: no space left on device
_p9k_dump_instant_prompt:print:245: write error: no space left on device
_p9k_dump_state:print:13: write error: no space left on device

Storage status

~ ❯ df -h --total                                                                                s@su180 04:27:08
Filesystem                         Size  Used Avail Use% Mounted on
udev                                16G     0   16G   0% /dev
tmpfs                              3.2G  1.6M  3.2G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  196G  187G     0 100% /
tmpfs                               16G     0   16G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                               16G     0   16G   0% /sys/fs/cgroup
/dev/sda2                          976M  221M  688M  25% /boot
/dev/sda1                          511M  6.7M  505M   2% /boot/efi
overlay                            196G  187G     0 100% /var/lib/docker/overlay2/d0636080e8e63c9db1269a3568ca0ddd0ae6fdaa2a0e438f495232519bf64296/merged
overlay                            196G  187G     0 100% /var/lib/docker/overlay2/6bd00ffbdc719f8e2091a0647baa4f968a0f244e758a9c610bd9bce1327b2779/merged
overlay                            196G  187G     0 100% /var/lib/docker/overlay2/0b63a4bad3cb65379b857b3c0b1a2b2539f145736f8a93a7a4f43e8146f4a255/merged
overlay                            196G  187G     0 100% /var/lib/docker/overlay2/bf07a563955aede8bd2069d6e5b0840796627ac6d28416d0153b75312b4e0f99/merged
overlay                            196G  187G     0 100% /var/lib/docker/overlay2/14c2b52e7d723482bb336ddb325eb9341d03ea5b08b3068717480b272f6dfbd5/merged
tmpfs                              3.2G     0  3.2G   0% /run/user/1000
total                              1.3T  1.1T   54G  96% -

docker-compose error

~ ❯ docker-compose --version                                                                                s@su180 08:50:32
[32274] INTERNAL ERROR: cannot create temporary directory!

Expected Behaviour

Connect the site and login successfully

Current Behaviour

Errors occur when connecting the site and cannot login

Possible Solution

Increase docker volume?

Steps to Reproduce (for bugs)

Connect the custom CVAT site

Your Environment

SAS HDD 2TB X 2 (RAID 0)
System memory: 32 GB
HPE DL380 server
Ubuntu 18.04
docker version: 20.10.8
docker-compose version: 1.29.x
A forked CVAT (last merge from CVAT develop branch was Aug 5 2021), https://github.com/Comverser/gnlabs.git

@Comverser , unfortunately we cannot help you with that. Your PC has no space left on device. One way to solve that is to change where docker storage directory: https://linuxconfig.org/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux
I will close the issue. You always can use cvat.org without configuring your own instance.

@Comverser , unfortunately we cannot help you with that. Your PC has no space left on device. One way to solve that is to change where docker storage directory: https://linuxconfig.org/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux
I will close the issue. You always can use cvat.org without configuring your own instance.

Would you please give me come comments on the way I found below? I am afraid to do it alone as this instance contains 1TB of annotated data.
Ubuntu Server 18.04 LVM out of space with improper default partitioning

I have solved this issue easily by deleting unused docker images.
docker rmi $(docker images -f "dangling=true" -q)


[WIP] Store files metadata in database

Task linked: QF-2760 Keep the file metadata in the database


I can't log in

even by putting username and password in single quotes the login exception is raised

Thank you for the feedback. I am sorry to hear that you have problems logging in. Unfortunately, the server doesn't give much information on what goes wrong, so this is a little difficult to troubleshoot. The most common issue is that the username and password are incorrect. Can you log in to the web portal with the same credentials? Can you try modifying main.py and putting your username and password directly in there? E.g.
username = "allan"
password = "something"

Thank you for the feedback. I am sorry to hear that you have problems logging in. Unfortunately, the server doesn't give much information on what goes wrong, so this is a little difficult to troubleshoot. The most common issue is that the username and password are incorrect. Can you log in to the web portal with the same credentials? Can you try modifying main.py and putting your username and password directly in there? E.g.
username = "allan"
password = "something"

yes, in the portal i can login with the same data. The problem persists even if I pass the parameters directly to main.py :((

yes, in the portal i can login with the same data. The problem persists even if I pass the parameters directly to main.py :((

Hmm, I am not sure what is going on in that case.

Hmm, I am not sure what is going on in that case.

Do you perhaps have an account on another server? Where do you normally log in?


Improve Auth forms

This PR works on Login, Register, RequestReset and ResetPassword forms.

Ability to submit by clicking Enter: is very convenient and a pretty standard feature
Bottom margin in alerts: it looks better. I applied the same style as in src/app/Auth/ResetPassword.tsx

Yes sure! I Tried to just change the target, but there are some conflicts. I will try to rebase the changes on top of the convert-to-react-query branch and open a new PR


Fix regression in envvar checks

Closes #4446.

Results demonstrated at https://github.com/gratipay/gratipay.com/issues/4446#issuecomment-300320924.


Add a license to Project

Hey @lazare1999. I wonder what type of license I should add to this project

I think MIT license would cut it

Thanks @lazare1999


trying to use recaptcha in a bootstrap modal.

Hello, I'm using your recaptcha class and it works well, great work! However I'm trying to use it on my website. To be more specific, I'm using it inside a bootstrap modal and the captcha works but the captcha label is aligned weird. Like it's buggin back and forth at the right border of the modal. I thought it will fix inside the normal page body like in the right corner. I know I can hide it but the biggest problem is, that the page speed is stroooongly reduced by using recaptcha. Is there any style inside your class where I can float / align the google label to another place? I've red that the reason cames from using a model.

hi @ItzMe42 , Do you mean it will slow down your page load speed if you're trying to hide the recaptcha badge? You can try to overwtire recaptcha css to make it fit in a modal.

Hi @ItzMe42  , in version 1.7, I have added a config called INVISIBLE_RECAPTCHA_DATABADGE that you can customize your css style.
There are three different styles available: bottomright,bottomleft, inline


Add govulncheck to CI

https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck

Add to any workflow:
https://github.com/marketplace/actions/golang-govulncheck-action
- id: govulncheck
  uses: golang/govulncheck-action@v1
  with:
    go-version-file: go.mod


Cite gPhoton?

Good project! I want more like this.
Would you be kind enough to cite gPhoton, which seems to be a clear precursor to this effort?
https://github.com/cmillion/gphoton

HI @cmillion
Thank you for your message. I will surely include a citation to gphoton when I receive the proof of the paper.

HI @cmillion
Thank you for your message. I will surely include a citation to gphoton when I receive the proof of the paper.


message: Add spinner on Mark as Resolved while request is outgoing.

Description
The "mark as resolved" check icon which shows up on topic bars can take a some time to resolve. This can lead to users double-clicking the icon, which can cause race conditions.
Changes

The on_hover_topic_resolve  icon is changed to a spinner when the "mark as resolved" button is clicked.
The button is disabled while the spinner is displayed.
The icon is changed back to a check mark when the request is complete.

This PR prevents double-clicking and race conditions by changing the icon into a spinner while the request is still ongoing. This will let users know that the request is still being processed and that they should not click the icon again.
Fixes: #26190

Screenshots and screen captures:
https://github.com/zulip/zulip/assets/91622060/4e0b1d37-c71e-4c4b-9ed0-af622bd0fa4f

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

@nimishmedatwal Thanks for working on this one. Can you fix the CI issues so that this becomes ready for review? Looks like you wrote some JS code inside the Handlebars template. We generally don't do that. Instead, we define all the JS code separately.
Also, we tend to make the commit description wrap at around 70 characters instead of one long line. Feel free to check out our commit discipline for more context on that.

@sbansal1999 I've fixed the CI issue so if you could give a review it would be great!

You need to remove the spinner in the success handler for the API request -- this code doesn't wait.
@nimishmedatwal I'm going to close this PR since it doesn't seem to be on track to a working implementation. I think you should step back from this PR and go ahead and go through our new application feature tutorial (and potentially other resources) to learn a bit more about how to do state changes correctly in a web application, and then come back to trying to contribute PRs once you feel you've mastered that.

You need to remove the spinner in the success handler for the API request -- this code doesn't wait.
@nimishmedatwal thanks for working on this, but I'm going to close this PR since it doesn't seem to be on track to a working implementation. I think you should step back from this PR and go ahead and go through our new application feature tutorial (and potentially other resources) to learn a bit more about how to do state changes correctly in the zulip web application, and then come back to trying to contribute PRs once you feel you've mastered that.

Okay sure! Will do that.


Register the Conductor with Eureka

Please let me know how do I register the conductor server to  EurekaDiscovery server.
Question1: In which class of the conductor code do I need to mark the class as @EnableDiscoveryClient.
Question2: Once registered with eureakdiscovery server how should the WORKER need to poll.

@dileepkeely I believe @EnableDiscoveryClient is a spring annotation. I am not aware of the use of a similar annotation for the guice framework.
There is already an integration with the eureka client. You can see more on WorkflowTaskCoordinator


Some account details not working

https://calamar.app/kusama/account/0x565d3c8cd1fcc93ed837d3f9830e333659cd0962ae7fadb7c87899d0b1431822

It is because of the query is failing on timeout: https://gist.github.com/uiii/2cd2b8dbbbe9bcecd0ce2ebdbf7a7c93
We must wait to be optimized by subsquid.

it works now

however this one does not work: https://calamar.app/kusama/account/0x90c6619c6ba60125e49e75e1ea5d9b46431ba834d005319cc036104c94fcfd34


Do not hide .selectpicker by default

I recently updated to bootstrap-select 1.10. A change that I remarked from our previous version (1.7) is that now, the .selectpicker class is hidden by default.
Now, the documentation recommends to use this class to mark the <select></select> which should be bootstrapped. Yet, a <select class="selectpicker"></select> is now hidden even before Bootstrap-select was called into action.
While this can be of course understood as a default behaviour, it seems a mistake to me. Firstly, it might cause regressions to those upgrading (as in our case, but that's not why I report this; upgrading is our choice/need, this is our problem now).
Secondly and foremost, this annihilates the fallback case/degraded mode. Simple example: I want to use Bootstrap-select, so I import the style and script. But the user has not JS activated in their browser, or the script fails to load for a reason. Before, the old-fashioned <select></select> would still have been accessible. With the defaultly-hiding .selectpicker class, the combobox is just missing from the page.
Preparing for not-available JS situations appears to me as a good practice for any JS developer, and this would be a simple fix for such a case.

Is there a reason (other than having JS disabled) that having the select hidden by default wouldn't be ideal? This was added back in https://github.com/silviomoreto/bootstrap-select/commit/c711c8ca458852bdc0b82e38ac70674b39512a62 - specifically to address the flash of unstyled content.

OK, I understand the purpose.
Yet, I see two additional limitations:

Any error in the JS prior to the calling of selectpicker() will cause the function not to be called, and therefore the picker to be unavailable.
Thought the .selectpicker class is recommended in documentation, it is not an obligation. Any jQuery selector will do (we often use an ID on our project, though the copy-pasting has the presence of the class on all pickers as a consequence, sometimes even on selects we did not call .selectpicker() upon). What I see here is that there are two different treatments:

for selects with the .selectpicker class, no blinking occurs.
for others, there is a blinking.

Now, in both cases, this might be more the problem of the developer than Bootstrap Select's. But the same could be said about the blinking: if the developer is unafraid of not having a fallback solution, they can add .selectpicker {display: none;} to their CSS themselves.
I'd understand if this issue turns into a won't fix now that I have the history. Thanks.

I am also facing the exact same issue with selectpicker, when I am changing route and revisit the route on which selectpicker is used, that select is gone for always. I don't know how to fix this?

When loading the select (whether inside a modal or on the main page), insert this call after the HTML:
$('.selectpicker').selectpicker('render');
This way it will render the selects again.


[Feature request] Support Groq?

Hey there! Amazing library!
As you've may have heard, Groq is insanely fast compared with OpenAI.
Since they have copied OpenAI's client I assumed this library may work... unfortunately, it doesn't.
The JSON never gets processed correctly no matter which mode I choose.

Very interested in this as well.

@mikealche @ionflow Hey, i was successfully able to use groq with the following TS snippet. Does this work for you?:
`import Instructor from "@instructor-ai/instructor";
import { z } from "zod";
import Groq from "groq-sdk";
const groq = new Groq({
apiKey: process.env.GROQ,
});
const client = Instructor({
client: groq,
mode: "TOOLS",
});
const UserSchema = z.object({
// Description will be used in the prompt
age: z.number().describe("The age of the user"),
name: z.string(),
});
// User will be of type z.infer
const user = await client.chat.completions.create({
messages: [{ role: "user", content: "Sam Altman is 39 years old" }],
model: "llama3-70b-8192",
response_model: {
schema: UserSchema,
name: "User",
},
});
console.log(user);
`

Groq is supported and works fine for me. You can also try with my previous (commented out) approach.
Both work ok.
import Instructor from '@instructor-ai/instructor'
import { z } from 'zod'
import Groq from 'groq-sdk'

/*
// import OpenAI from 'openai'
const groq = new OpenAI({
  apiKey: GROQ_API_KEY,
  baseURL: 'https://api.groq.com/openai/v1',
})
*/

const groq = new Groq({
  apiKey: GROQ_API_KEY,
})

const client = Instructor({
  client: groq,
  mode: 'TOOLS',
  debug: true,
})

Groq is explicitly supported with light weight validation and tests - but worked out of the box since they use pass through on the oai SDK :)
here is the test
https://github.com/instructor-ai/instructor-js/blob/main/tests/mode.test.ts#L27
posted a little demo here:
https://x.com/dimitrikennedy/status/1781513162589622273


Local RTL changes verified with Testbench

Priyanka's local RTL changes.
Verified all tests bath with:

make verify-standalone-all-rtl
make verify-standalone-all-gl
make verify-caravel-all-rtl
make verify-caravel-all-gl

These issues have been addressed in the latest release (tag = mpw-7e)


genesisStateFile not being copied over to beacon.config.json during beacon init

Describe the bug

when i run yarn run cli beacon init --template-config-file altona.json --chain.genesisStateFile=genesis.ssz --rootDir .altona (or if I omit the cli parameter and include chain.genesisStateFile as "genesisStateFile": "genesis.ssz", in my altona.json), I don't see the genesisStateFile parameter copied over in the resultant beacon.config.json
Expected behavior

the genesisStateFile parameter should be copied over to the resultant beacon.config.json both when passed as a cli option and when specified in the altona.json

@3xtr4t3rr3str14l Is this issue still happening in master? If resolved, please feel free to close it

just tested.  it's still happening in master.  when I run yarn run cli init --testnet medalla --genesisStateFile testGen.ssz I would expect to see testGen.ssz in the beacon.config.json, but I do not.  Instead, I see the default was provided via the --testnet option

the same happens when I run yarn run cli init --genesisStateFile testGen.ssz (the same as above, but without the --testnet option


JetBrains: Request Failed: Sourcegraph Cody Gateway: unexpected status code 400 error is shown after clicking Public knowledge only

IDE Information
IntellJ IDEA 2024.1.4 (Community Edition)
Build #PC-233.13763.11, built on January 26, 2024
Runtime version: 17.0.9+7-b1087.11 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Metal Rendering is ON
Non-Bundled Plugins:
com.sourcegraph.jetbrains (6.0.31)
Bug Description
Platform: Windows
Steps to reproduce:

Have Cody plugin installed in your JB IntelliJ editor
Login to Cody with Enterprise user
Make sure there is already file available in source code file
Start new chat >  Make sure current repository and current source file is shown
Send the request using that > Scroll down and Click on Public Knowledge only

Observed Behavior:
Request Failed: Sourcegraph Cody Gateway: unexpected status code 400 error is shown after clicking Public knowledge only
Expected behavior:
No error should be shown and request should be sent successfully
Additional context
Video link: https://drive.google.com/file/d/1gcG-mXYXkEL8tK4Uz9arBHX57vyfpWId/view?t=1

The same problem can be accomplished in VS Code

This is a low prio issue. The error message contains an explanation. The message cannot be empty. We should improve the message probably.
Linear issue created for tracking: https://linear.app/sourcegraph/issue/CODY-3518


Error in parsed sketch

I deploy a demo on my own server, but in inpainting task, the parsed sketch always keep loading

Does our online demo work for you -- to rule out the browser issue.
Can you try clear, and load your own image?  Or Clear and re-click the example.

Does our online demo work for you -- to rule out the browser issue.
Can you try clear, and load your own image? Or Clear and re-click the example.

the on line demo is work for me, so i think it is not the browser issue, i can load my own image but the parsed sketch pad didn't work , and if i refush the page ,the server will be closed


Feature/set protected data as rentable & remove protected data as rentable methods

Objective: Add setProtectedDataAsRentable & removeProtectedDataAsRentable functions
done:
develop setProtectedDataAsRentable() in SDK
develop removeProtectedDataAsRentable() in SDK
add tests

can you rename the function to setProtectedDataToRenting & removeProtectedDataFromRenting


Is it possible to turn the token field names configurable by settings?

Hi, thank you for the project and work!
I mean, for example, when obtaining the token pairs, we perform the mutation like this:
mutation TokenAuth($username: String!, $password: String!) {
  tokenAuth(username: $username, password: $password) {
    token
    refreshToken
    payload
    refreshExpiresIn
  }
}

Suppose I want to rename the field token to access  and refreshToken to refresh and perform the mutation like this:
mutation TokenAuth($username: String!, $password: String!) {
  tokenAuth(username: $username, password: $password) {
    access
    refresh
    payload
    refreshExpiresIn
  }
}

I saw that the name definitions are done here:
https://github.com/flavors/django-graphql-jwt/blob/704f24e7ebbea0b81015ef3c1f4a302e9d432ecf/graphql_jwt/mixins.py#L21
and here:
https://github.com/flavors/django-graphql-jwt/blob/704f24e7ebbea0b81015ef3c1f4a302e9d432ecf/graphql_jwt/mixins.py#L24
Is it possible to make these fields configurable via settings definition or is it a breaking change?

#297 I stated this as well here


Added website_url and contact_role fields to businesses

Pull request checklist

[ ] My code contains tests covering the code I modified
[x] I linted and tested the project with bin/check
[ ] I added significant changes and product updates to the changelog

Here is my first pass at implementing this feature, here are some things I think we should add:

Client side URL validation in admin
Make it so the business website opens in a new tab
Maybe add a label to the show business page so it's clear what the contact role information is
System tests

Looking good! Do you have the appetite to add those 4 items? If so, go for it. If not, let me know and we can hand it off.

Looking good! I have a few tweaks I want to make to the design that I'm hoping to get to soon.
I'm thinking of something like this.

I'm thinking of something like this.

That looks nicer 😄
Let me know if you want me to do anything else for this PR 😉


Understanding the workflow

Hi,
I have gone through the Workflow example as it states but find it a little difficult to understand some sections. Would you be able to guide me through the following?

Are 'roles' defined in each step necessary or is it an additional step? (Are these attributes defined in the library?)

In 'model_status' attribute, for an example, 'Project\Bundle\SuperBundle\Entity\Post::STATUS_VALIDATED' where can i find this template entity in the given example? Is this like an object to store the statuses?

Along with these defined steps and processes, how would i show the UI? E.g. In 'draft_created' step i want to show a UI and in 'validated_by_admin' step i want to show another. Likewise i would need to show different UIs for each step. Is this possible?

Where does this part go to 'service id=project.workflow.listener.post_publication /service'

Thank you in advance.

@cedric-g Can we please reopen this issue? I also got the errors that table 'lexik_workflow_model_state' doesn't exist, so I created the database table and I also created a column in my order table for status. Because it just make sense to add them to the database.
I've followed everything in the documentation and what you have mentioned in this discussion. But know I'm not sure what to do next.
I've created my OrderModel class;
namespace Qi\Bss\FrontendBundle\PmodWorkflow\Model;

use Lexik\Bundle\WorkflowBundle\Model\ModelInterface;
use Qi\Bss\BaseBundle\Entity\Business\PurchaseModule\PmodOrder;

class OrderModel implements ModelInterface
{
    private $order;

    public function __construct(PmodOrder $order)
    {
        $this->order = $order;
    }

    public function getPost()
    {
        return $this->order;
    }

    public function setStatus($status)
    {
        $this->order->setStatus($status);
    }

    public function getStatus()
    {
        return $this->order->getStatus();
    }

    /**
     * Returns an unique identifier.
     *
     * @return mixed
     */
    public function getWorkflowIdentifier()
    {
        return md5(get_class($this->order).'-'.$this->order->getId());
    }

    /**
     * Returns data to store in the ModelState.
     *
     * @return array
     */
    public function getWorkflowData()
    {
        return array(
            'order_id' => $this->order->getId(),
            'content' => $this->order->getContent(),
            // ...
        );
    }

    /**
     * Returns the final object.
     * If your entity implements ModelInterface itself just return $this.
     *
     * @return object
     */
    public function getWorkflowObject()
    {
        return $this->order;
    }
}

As well as my OrderPublicationProcessSubscriber class;
namespace Qi\Bss\FrontendBundle\PmodWorkflow\Listener;

use Lexik\Bundle\WorkflowBundle\Event\StepEvent;
use Lexik\Bundle\WorkflowBundle\Event\ValidateStepEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class OrderPublicationProcessSubscriber implements EventSubscriberInterface
{
    /**
     * {@inheritDoc}
     */
    public static function getSubscribedEvents()
    {
        return array(
            'pmod_order_publication.published.validate' => array(
                'handleAccessValidationPublished',
            ),
            'pmod_order_publication.published.validation_fail' => array(
                'handleValidationFail',
            ),
        );
    }

    public function handleAccessValidationPublished(ValidateStepEvent $event)
    {
        if (!$event->getModel()->canBePublished()) {
            $event->addViolation('error message');
        }
    }

    public function handleValidationFail(StepEvent $event)
    {
        // ...
    }
}

I've added the service to my services.yml;
    bss.pmod.workflow.listener.order_publication:
        class: Qi\Bss\FrontendBundle\PmodWorkflow\Listener\OrderPublicationProcessSubscriber
        tags:
            - { name: kernel.event_subscriber }

And here is my configurations in my config.yml;
lexik_workflow:
    processes:
        pmod_order_publication:
            start: draft_created
            end:   [ deleted ]
            steps:
                draft_created:
                    label: "Draft created"
                    roles: [ ROLE_USER ]
                    model_status: [ setStatus, Qi\Bss\BaseBundle\Entity\Business\PurchaseModule\PmodOrder::STATUS_DRAFT ]
                    next_states:
                        validate: { type: step, target: validated_by_admin }

                validated_by_admin:
                    label: "Post validated"
                    roles: [ ROLE_ADMIN ]
                    model_status: [ setStatus, Qi\Bss\BaseBundle\Entity\Business\PurchaseModule\PmodOrder::STATUS_VALIDATED ]
                    next_states:
                        publish: { target: published }

                published:
                    label: "Post published"
                    roles: [ ROLE_USER ]
                    model_status: [ setStatus, Qi\Bss\BaseBundle\Entity\Business\PurchaseModule\PmodOrder::STATUS_PUBLISHED ]
                    on_invalid: draft_created # will try to reach the "draft_created" step in case validations to reach "published" fail.
                    next_states:
                        unpublish: { target: unpublished }

                unpublished:
                    label: "Post unpublished"
                    roles: [ ROLE_USER ]
                    model_status: [ setStatus, Qi\Bss\BaseBundle\Entity\Business\PurchaseModule\PmodOrder::STATUS_UNPUBLISHED ]
                    next_states:
                        delete:  { target: deleted }
                        publish: { target: published }

                deleted:
                    label: "Post deleted"
                    roles: [ ROLE_ADMIN ]
                    model_status: [ setStatus, Qi\Bss\BaseBundle\Entity\Business\PurchaseModule\PmodOrder::STATUS_DELETED ]
                    next_states: ~

This is my PmodOrder class for in case;
class PmodOrder
{
    const STATUS_DRAFT       = 1;
    const STATUS_PUBLISHED   = 2;
    const STATUS_UNPUBLISHED = 3;
    const STATUS_VALIDATED   = 4;
    const STATUS_DELETED     = 5;

    /**
     * @ORM\Column(name="workflow_status", type="string", length=255, nullable=true)
     *
     * @var string
     */
    protected $status;

    //
    // Some other properties for my order
    //
    // Some other getters and setters for my order
    //

    /**
     * Set status
     *
     * @param string $status
     * @return PmodOrder
     */
    public function setStatus($status)
    {
        $this->status = $status;

        return $this;
    }

    /**
     * Get status
     *
     * @return string
     */
    public function getStatus()
    {
        return $this->status;
    }

Please, can anyone assist me with what to do next?
Should there be any relation between my order table and lexik_workflow_model_state? A OneToMany  from order sounds logical to me. Or am I wrong?
Thanks in advance!


feat: update pyproject.toml

What does this PR do?
This PR aims to move pytest and coverage configuration from the setup.cfg file to pyproject.toml aiming to try and minimize the overall project structure. flake8 doesn't support pyproject.toml as of now (discussion open in https://github.com/PyCQA/flake8/issues/234).
This would make pyproject.toml the one stop place for all configurations.
Sidenote: there exists patches around flake8 which allow for some minimal support of pyproject.toml but that would mean the addition of another dependency.
Does your PR introduce any breaking changes? If yes, please list them.
None
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Hell Yeah I did.

maybe time to try https://github.com/charliermarsh/ruff instead of flake8 as @awaelchli discovered earlier this week :)
plus its pre-commit hook: https://github.com/charliermarsh/ruff-pre-commit

maybe time to try https://github.com/charliermarsh/ruff instead of flake8 as @awaelchli discovered earlier this week :) plus its pre-commit hook: https://github.com/charliermarsh/ruff-pre-commit

That could work !! The current flake8 configuration in setup.cfg can be absorbed into ruff, which can be configured within the pyproject.toml. This would eliminate the need of setup.cfg.
Apart from the aforementioned pre-commit hook, we could also incorporate ruff into the CI.
...
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install ruff
      # Include `--format=github` to enable automatic inline annotations.
      - name: Run Ruff
        run: ruff --format=github .
...

Apart from the aforementioned pre-commit hook, we could also incorporate ruff into the CI.

I would probably start only with pre-commit integration + enable fixing, see: #16433


Add zeitfetch

Added a Rust neofetch implementation. Currently close to publishing a crate for it, with a scoop package following shortly after.

Thanks for contribute.


The generate request examples with url undefinedundefined

With the code samples, the url host is undefinedundefined

This issue is fixed.


app.asar.unpacked not generated

I'm using latest version of everything.
I'm bundling puppeteer, which downloads a Chrome binary.
I have the following config:
  packagerConfig: {
    asar: {
       unpack: "node_modules/puppeteer/.local-chromium/**/*"
    },

><EMAIL_ADDRESS>install /Users/travis/build/icoretech/myapp-client/node_modules/puppeteer
> node install.js
Chromium (737027) downloaded to /Users/travis/build/icoretech/myapp-client/node_modules/puppeteer/.local-chromium/mac-737027

but no app.asar.unpacked has ever been generated, only app.asar.
also tried
  plugins: [
    ['@electron-forge/plugin-auto-unpack-natives']
  ],

but still same result.
I'm testing now with asar: false but still, am I missing something?

You want **/node_modules/puppeteer/**/* (note the beginning of the glob).

Hey @malept, thanks for helping out!
Why does one have to prepend **/ to asarUnpack file patterns?
How can one target specific directories such as a bin directory in app root?
Using **/bin/**/* unpacks bin directories in node_modules.

Hi @malept , my case  **/move/**  matches file called movement.js. but, I want only move folder


Could any one send me ffmpeg extension for media3 i really need it for my project and i couldn't find it
My operation system is windows

The ffmpeg extension can be foiund here: https://github.com/androidx/media/tree/release/libraries/decoder_ffmpeg
If there is something else you need to know, please file a new issue and narrow down your question a bit after having investigating a bit for yourself.

here is my build:
https://github.com/haijialiu/exoplayer-extension
but I don't know how to use it on media3.
According to https://developer.android.com/guide/topics/media/exoplayer/mappings?hl=zh-cn
androidx.media3.decoder haven't ffmpeg in my project.


Reduce the amount of warning when compiling to native

Take one of the integration tests with an in-process embedding model
Look at the log:

Warning: Could not resolve class sun.font.FontConfigManager for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.font.FontConfigManager.
Warning: Could not resolve class sun.font.FontConfigManager$FcCompFont for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.font.FontConfigManager$FcCompFont.
Warning: Could not resolve class sun.font.FontConfigManager$FontConfigFont for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.font.FontConfigManager$FontConfigFont.
Warning: Could not resolve class sun.font.FontConfigManager$FontConfigInfo for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.font.FontConfigManager$FontConfigInfo.
Warning: Could not resolve class sun.awt.X11FontManager for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11FontManager.
Warning: Could not resolve class sun.awt.X11GraphicsConfig for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11GraphicsConfig.
Warning: Could not resolve class sun.awt.X11GraphicsDevice for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11GraphicsDevice.
Warning: Could not resolve class sun.java2d.xr.XRSurfaceData for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.java2d.xr.XRSurfaceData.
Warning: Could not resolve class sun.awt.X11.XToolkit for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11.XToolkit.
Warning: Could not resolve class sun.awt.X11.XErrorHandlerUtil for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11.XErrorHandlerUtil.
Warning: Could not resolve class software.amazon.awssdk.core.internal.interceptor.HttpChecksumRequiredInterceptor for reflection configuration. Reason: java.lang.ClassNotFoundException: software.amazon.awssdk.core.internal.interceptor.HttpChecksumRequiredInterceptor.
Warning: Could not resolve class org.apache.commons.logging.impl.Jdk14Logger for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.Jdk14Logger.
Warning: Could not resolve class org.apache.commons.logging.impl.Log4JLogger for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.Log4JLogger.
Warning: Could not resolve class org.apache.commons.logging.impl.LogFactoryImpl for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl.
Warning: Could not resolve class org.apache.commons.logging.impl.WeakHashtable for reflection configuration. Reason: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.WeakHashtable.
Warning: Could not resolve class sun.awt.X11.XToolkit for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11.XToolkit.
Warning: Could not resolve class sun.awt.X11FontManager for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11FontManager.
Warning: Could not resolve class sun.awt.X11GraphicsEnvironment for reflection configuration. Reason: java.lang.ClassNotFoundException: sun.awt.X11GraphicsEnvironment.

Seems to be fixed when using GraalVM 21 ...


merge master into challenge-1

update challenge-1 with the latest master.

PR #402 replaces this.


Celo: CUSD sent to CELO network

Hello. One question. Can you help me?. Two weeks ago I sent CUSD by error from Coinlist to the CELO wallet of Binance.  Binance's told me that they did not have the CUSD listed and even the transaction was sent to the CELO network, which is not compatible.  How can I get these funds back?.  Thank you.
Environment

Elixir Version: 1.9.0

Erlang Version: 22

BlockScout Version: 15930333a72e5bd70c177715681f827057106d68

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15

Steps to reproduce
Tell us how to reproduce this issue. If possible, push up a branch to your fork with a regression test we can run to reproduce locally.
Expected Behaviour
Tell us what should happen.
Actual Behaviour
Tell us what happens instead.

This is the txid:
https://explorer.celo.org/tx/0x690f0b1236c3b3f91de61468d2276a347fe0dbdbd54180bafc763cc826d4e67c/token_transfers


Inactive user should be treathed as a loggout-out user

The loggedIn method should be checking the active status.

api should return status 403 - access denied. client will redirect to login screen + clear the session data

update middleware which checks for active flag.


[4.12] OCPBUGS-6789: add pod security admission enforcement to techpreview

Backport of https://github.com/openshift/api/pull/1341
/cc @deads2k @ibihim

/lgtm
/approve

/jira refresh

/label backport-risk-assessed

/label backport-risk-assessed

/label cherry-pick-approved


Vulnerability roundup 108: busybox-1.32.1: 10 advisories [7.2]

search, files

[ ] CVE-2021-42378 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42379 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42380 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42381 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42382 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42384 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42385 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42386 CVSSv3=7.2 (nixos-21.05)
[ ] CVE-2021-42376 CVSSv3=5.5 (nixos-21.05)
[ ] CVE-2021-42374 CVSSv3=5.3 (nixos-21.05)

CVE details
CVE-2021-42378
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the getvar_i function
CVE-2021-42379
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the next_input_file function
CVE-2021-42380
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the clrvar function
CVE-2021-42381
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the hash_init function
CVE-2021-42382
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the getvar_s function
CVE-2021-42384
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the handle_special function
CVE-2021-42385
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the evaluate function
CVE-2021-42386
A use-after-free in Busybox's awk applet leads to denial of service and possibly code execution when processing a crafted awk pattern in the nvalloc function
CVE-2021-42376
A NULL pointer dereference in Busybox's hush applet leads to denial of service when processing a crafted shell command, due to missing validation after a \x03 delimiter character. This may be used for DoS under very rare conditions of filtered command input.
CVE-2021-42374
An out-of-bounds heap read in Busybox's unlzma applet leads to information leak and denial of service when crafted LZMA-compressed input is decompressed. This can be triggered by any applet/format that

Scanned versions: nixos-21.05: 4f37689c8a2.
Cc @TethysSvensson

See also: #128345, #120363

Busybox is now 1.35.0


[5.6] Used strict comparison in ConfirmaleTrait

This will never matter. I only use strict type checks when it actually makes a difference in PRs.


Test play using vault plugin fails

Hi,
Trailing this and it seem to be failing with below error message, when using with vault.
script ran snip below
`
curl -s -X GET -H "X-Vault-Token:$VAULT_TOKEN"
https://$VAULT_ADDR/v1/secret/hello
| jq .data.bar
"baz"
ansible-playbook plugin_test.yml
[WARNING]: provided hosts list is empty, only localhost is available
PLAY [localhost] ****************************************************************************************************************************************************************************************************************************
TASK [Get a secret from Vault] **************************************************************************************************************************************************************************************************************
Friday 16 February 2018  12:07:27 +0000 (0:00:00.115)       0:00:00.115 *******
fatal: [localhost]: FAILED! => {"failed": true, "msg": "An unhandled exception occurred while running the lookup plugin 'vault'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Unable to retrieve personal token from vault: unknown url type: v1/auth/approle/login"}
[WARNING]: Failure using method (v2_runner_on_failed) in callback plugin (</usr/lib/python2.7/site-packages/ansible/plugins/callback/mail.CallbackModule object at 0x30d9e10>): [Errno 113] No route to host
PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1
`
Playbook
``

hosts: localhost
connection: local
gather_facts: False
vars:

vault_skip_verify: true
tasks:
name: Get a secret from Vault
debug: msg="{{ lookup('vault', 'secret/hello', 'bar') }}"
name: Get a secret from using with_vault
debug: msg="{{ item.bar }}"
with_vault:

secret/hello
``

script with playbook invocation
``
export VAULT_ADDR='vault.apps.ocpt.local'
export ANSIBLE_HASHICORP_VAULT_ROLE_ID=${ROLE_ID}
echo ${ANSIBLE_HASHICORP_VAULT_ROLE_ID}
export ANSIBLE_HASHICORP_VAULT_SECRET_ID=${SECRET_ID}
echo ${ANSIBLE_HASHICORP_VAULT_SECRET_ID}
curl -s -X POST -H "X-Vault-Token:$VAULT_TOKEN" -d '{"bar":"baz"}'
https://$VAULT_ADDR/v1/secret/hello
curl -s -X GET -H "X-Vault-Token:$VAULT_TOKEN"
https://$VAULT_ADDR/v1/secret/hello
| jq .data.bar
ansible-playbook plugin_test.yml
``
Actual curl displays the secret  as you can see in error, however the play fails !

decided to go with hashivault as it works correctly right out of the box...

Hi, thanks for submitting this, there's currently no tests for fetching secrets using approle as authentication method. We'll have to add some tests to ensure that it works in it's current form, looks like there's something wrong with how the URL is constructed by reading your error message No route to host


Problem: Indexer Socket is not cleaned up on exit

when running the regression testing suite, upon encountering a failure, the local file mina-indexer.sock is not removed. The user must then manually remove the file to allow the tests to pass

I think this was resolved by #253

Given the problem description this is complete.


freetype: Update to upstream version 2.11.0

I did not include the new src/dlg folder as it seems needed only for FT_DEBUG_LOGGING which we don't define.
There's a new src/sdf feature which we now compile, though I haven't checked if it's actually enabled.
Changes: https://sourceforge.net/projects/freetype/files/freetype2/2.11.0/

CI seems to crash on Windows. The backtrace is a bit weird as it points at TestBasis, but then CodeEdit:
 ================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.0.dev.custom_build (40d39b8c8c35fc92150a49216dec6f6d31497ff0)
Dumping the backtrace. Please include this when reporting the bug on godotengine/godot/issues
[0] af_loader_load_glyph (D:\a\godot\godot\thirdparty\freetype\src\autofit\afloader.c:306)
[1] af_autofitter_load_glyph (D:\a\godot\godot\thirdparty\freetype\src\autofit\afmodule.c:489)
[2] FT_Load_Glyph (D:\a\godot\godot\thirdparty\freetype\src\base\ftobjs.c:978)
[3] TextServerAdvanced::font_get_glyph_advance (D:\a\godot\godot\modules\text_server_adv\text_server_adv.cpp:2271)
[4] Font::get_char_size
[5] TextEdit::Text::invalidate_cache
[6] TextEdit::Text::invalidate_all
[7] TextEdit::_update_caches
[8] TextEdit::TextEdit
[9] CodeEdit::CodeEdit
[10] TestBasis::EulerToBasis
[11] doctest::Context::run
[12] test_main
[13] Main::test_entrypoint (D:\a\godot\godot\main\main.cpp:507)
[14] widechar_main
[15] _main
[16] main
[17] __scrt_common_main_seh (d:\a01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[18] BaseThreadInitThunk
-- END OF BACKTRACE --
================================================================

Not sure what was wrong with CI, I was not able to reproduce this crash. But 2.11.1 is released anyway, probably this should be updated and re-tested.

Updated to FreeType 2.11.1.

I did not include the new src/dlg folder as it seems needed only for FT_DEBUG_LOGGING which we don't define.

I actually had not properly removed that folder initially, now fixed. Also removed include/dlg.
That's imported from Boost so not including it saves us from having to also document the Boost license.

Cherry-picked for 3.5.


Add comparison / alternatives libraries section in doc

It would be nice to have a section in doc about how Redux compare to other state management solutions (Mobx / Mobx-state-tree for instance). There are already many blogs / talks about this topic but there are not centralized.
This would help newcomers understand what are the possible alternatives and if Redux is (or not) more suitable for their team and their project.

Hey @markerikson can I take a stab at this?

Hi @grantlouisherman, sorry I've written this a while ago and totally forgot it was still pending, I don't think it's still relevant, do you want me to close it ?

@exced you should at least assign it to yourself so people.know it's a claimed issue.

I closed the issue and the related PR, it's pretty outdated :)


❗Temp Fix To Current 5.4 problem❗ - Downgrade to v5.3 (Includes text and video instructions)

Temporary Fix: Downgrading to v5.3
Reverting to version 5.3 fixes the problems introduced by 5.4, making YouTube actually useable.
How to downgrade to 5.3:

Get the 5.3 source code.
I've already pulled it from GitHub and uploaded it to this pastebin post.
Copy all the code (Ctrl+a to select all and Ctrl+c to copy).
Open up TamperMonkey.
Navigate to the the TamperMonkey dashboard.
Find the "Remove AdBlock Thing" script, and click on it. This will take you to the editor.
Highlight the current code (Ctrl+a), press delete or backspace to get rid of it, then paste the v5.3 code you just copied (Ctrl+v).
Click File > Save to save this version over 5.4.
You're done. Go back to YouTube and you should be prompted that version 5.4 is out.
You want to click "Skip" for version 5.4, as it's known to be a faulty version.
You should no longer get notifications about 5.4, but you SHOULD get a notification when 5.5 comes out.
Everything should be working now.

Step-by-step video instructions..

Or just go this link
https://github.com/TheRealJoelmatic/RemoveAdblockThing/blob/861272fb6b4aee20cd6b59f281b2034926e174c0/Youtube-Ad-blocker-Reminder-Remover.user.js
and press "Raw" and then press "reinstall".

Downgrading does not work for me. I'm still having doubled audio in 5.3

Downgrading does not work for me. I'm still having doubled audio in 5.3

Downgrading does not work for me. I'm still having doubled audio in 5.3

Doubled Audio should not occur in 5.3 because that method of embed video was only added in 5.4. Try reloading your page, you need to sometimes close out and reopen youtube and make sure it is the correct version in your dashboard.

You are right. The script has upgraded back to 5.4 even though I told it not to do so. I'm on 5.3 an audio doubling is gone.

You are right. The script has upgraded back to 5.4 even though I told it not to do so. I'm on 5.3 and the audio doubling is gone.

You are right. The script has upgraded back to 5.4 even though I told it not to do so. I'm on 5.3 and the audio doubling is gone.

You are right. The script has upgraded back to 5.4 even though I told it not to do so. I'm on 5.3 and the audio doubling is gone.

Okay great to hear. I tried to fix it and I feel like I found the issue -- but I am currently to busy to do anything about it. I am currently satisfied with what I have that removes all ads. Hope 5.5 gets resolved soon.

Same here, downgrading did not fix the problem for me.

Same here, downgrading did not fix the problem for me.

@Spearman-98
Ensure you restart your browser.
Verify in the TamperMonkey Dashboard that v5.3 is what's installed.
If there's an auto-updater active, you may have gotten updated back to v5.4

"Remove Adblock Thing: New version is available.
Do you want to update?"
This pops up immediately again once I downgraded from 5.4 to 5.3, do I need to upgrade it again or just ignore it for now?

"Remove Adblock Thing: New version is available. Do you want to update?"
This pops up immediately again once I downgraded from 5.4 to 5.3, do I need to upgrade it again or just ignore it for now?

"Remove Adblock Thing: New version is available. Do you want to update?"
This pops up immediately again once I downgraded from 5.4 to 5.3, do I need to upgrade it again or just ignore it for now?

There should be a skip button you can press in the middle. If not, ignore it. Do not upgrade it because it will be 5.4 and it will change the code to that.

"Remove Adblock Thing: New version is available. Do you want to update?"
This pops up immediately again once I downgraded from 5.4 to 5.3, do I need to upgrade it again or just ignore it for now?

I cover this in the main text of the post as well as the video........

Downgrading to v5.3 is pointless because it doesn't block YouTube ads. It's better to just use it with the script disabled.

Haven't seen a single ad and YT has been up and running most of the day.

Can confirm that this method doesn't work GroggyOtter

Downgrading to v5.3 is pointless because it doesn't block YouTube ads. It's better to just use it with the script disabled.

Haven't seen a single ad and YT has been up and running most of the day.

Are you signed in to your Google account while watching? I've noted that if I use a VPN and don't sign in to my account, the subject method to block works, but if I'm not on a VPN connection and signed in, the subject method doesn't work -- I still see ads,

@Blodyholy
Can confirm that this method doesn't work GroggyOtter
Downgrading to v5.3 is pointless because it doesn't block YouTube ads. It's better to just use it with the script disabled.
Haven't seen a single ad and YT has been up and running most of the day.

Are you signed in to your Google account while watching?

Yes.

I've noted that if I use a VPN and don't sign in to my account, the subject method to block works, but if I'm not on a VPN connection and signed in, the subject method doesn't work -- I still see ads,

It has been working for me and I'm not currently using my VPN. Normal connection.

@Blodyholy
Can confirm that this method doesn't work GroggyOtter
Downgrading to v5.3 is pointless because it doesn't block YouTube ads. It's better to just use it with the script disabled.
Haven't seen a single ad and YT has been up and running most of the day.

Are you signed in to your Google account while watching?

Yes.

I've noted that if I use a VPN and don't sign in to my account, the subject method to block works, but if I'm not on a VPN connection and signed in, the subject method doesn't work -- I still see ads,

It has been working for me and I'm not currently using my VPN. Normal connection.

That first sentence of mine came out rather strong, apologies. I'm not sure what the issue is I guess, I'm rather confused as to why this works for some but not others. shrug

That first sentence of mine came out rather strong, apologies. I'm not sure what the issue is I guess, I'm confused as to why this works for some but not others. shrug

It's all good. No harm done.
I wish I could help you out more.
If it's any consolation, the problem you're describing is something I've experienced, well before either of these patches.
And if it's the same thing I've experienced (random videos start having short ads at the beginning), I have good news for you. It should just go away after a bit. Like within a day. So I sure hope it's the same thing I've experienced (Also noticed that it's more frequent right after a chrome browser update and I wonder if that has something to do with it).
If it's something different, I can't speak to that but I wish you luck.

That first sentence of mine came out rather strong, apologies. I'm not sure what the issue is I guess, I'm confused as to why this works for some but not others. shrug

It's all good. No harm done. I wish I could help you out more.
If it's any consolation, the problem you're describing is something I've experienced, well before either of these patches. And if it's the same thing I've experienced (random videos start having short ads at the beginning), I have good news for you. It should just go away after a bit. Like within a day. So I sure hope it's the same thing I've experienced (Also noticed that it's more frequent right after a chrome browser update and I wonder if that has something to do with it).
If it's something different, I can't speak to that but I wish you luck.

The short bit of ads I can attest to seeing as well, prior to the updates. Thank you for help and kind words =) I'll give it a bit and see if it shakes out. I understand this is an ever-moving process, with YouTube playing a virtual 'whack-a-mole' to these tools.

To solve the issue of Tampermonkey automatically upgrading versions, I suggest you try using version 5.3 and manually change
// @version 5.3 to // @version 5.4 in the editing function.
This way, Tampermonkey should not attempt to automatically upgrade your version to the actual 5.4, and it will still automatically upgrade to 5.5 when the author releases that version.

Where can I find the version 4.0 ?

Where can I find the version 4.0 ?

v4.0

I've changed the ad speed to x5, and it works, undetected
https://github.com/alif748/random-test/blob/main/YT-ad/speed-x5.js

Decided to comment here since its the issue topic with most replies.
Another "temp fix" if we can call it that way in 5.4 is pressing spacebar (obviously on the yt page) it will pause the 2nd video running on the background and the video being displayed works as expected.

Decided to comment here since its the issue topic with most replies. Another "temp fix" if we can call it that way in 5.4 is pressing spacebar (obviously on the yt page) it will pause the 2nd video running on the background and the video being displayed works as expected.

Unfortunately, that only addresses one of the many problems that 5.4 introduced.  (And v5.5)
Downgrading is pretty much the best solution for right now.

God bless you, thank you so much. I keep getting duplicated audio on videos, as well. Damn pooptoobe!

Doesn't work.

Doesn't work.

 Love you <3

5.3 isn't working as well, it plays advertisements fast forward and sometimes still gives the Ad blockers violate YouTube's Terms of Service error. Someone help which version to use for smooth experiance

5.3 isn't working as well, it plays advertisements fast forward and sometimes still gives the Ad blockers violate YouTube's Terms of Service error. Someone help which version to use for a smooth experience

Might want to check this reply.
That has happened to others, and it goes away.
No idea what causes it, but it's happened to me a few times.

Downgraded to 5.3 as instructed.
All is well again! Thank you!
macOS 10.13.6
Firefox 115.11.0esr

Thank you so much for this solution! I've been experiencing video reloads when switching between fullscreen mode and "normal" mode for two days now (though sometimes everything just worked) and was wondering what caused the problems, until I remembered I updated Tampermonkey three times in a row. Rollback to 5.3 fixed my problems!

I am either:

Getting the video embed error
Ads are embedded into the actual video with no way to skip them.
I've tried using many adblockers (including Ghostery and Ad Nauseam) but they fell through.


feat(geometry): separate "rotate()" and "mul()" in Quaternion

class Quaternion is been removed in edabc4b8fe16247ece77e2b4fd39c5f4db991bd9.
Close this pull request.


Inform teachers which attainment grades were used to calculate the final grade

We probably want to sort out #720 before working on this as it may impact which grades we want to show.

Probably now means that we should show what course parts were used to calculate the final grade?


Jaeger Zipkin OpenTelemetry guides

This is the version of the current zipkin and jaeger guides which use OpenTracing but with OpenTelemetry
Testing Zipkin Guide Locally
To test locally. publish to maven local micronaut-tracing
Generate the guides:
./gradlew clean micronautMicroservicesDistributedTracingZipkinOpentelemetryBuild -x micronautMicroservicesDistributedTracingZipkinOpentelemetryRunTestScript
Testing Locally
To test locally. publish to maven local micronaut-tracing
Zipkin Guide
Generate the guide:
./gradlew micronautMicroservicesDistributedTracingZipkinOpentelemetryBuild -x micronautMicroservicesDistributedTracingZipkinOpentelemetryRunTestScript
Jaeger Guide
Generate the guide:
./gradlew micronautMicroservicesDistributedTracingJaegerOpentelemetryBuild -x micronautMicroservicesDistributedTracingJaegerOpentelemetryRunTestScript
Edit builds
Add maven local to local boms so that you can resolve dependencies:
    mavenLocal()
}

dependencies {
    annotationProcessor(platform("io.micronaut.tracing:micronaut-tracing-bom:4.2.0-SNAPSHOT"))
    implementation(platform("io.micronaut.tracing:micronaut-tracing-bom:4.2.0-SNAPSHOT"))

Sorry about that...  I cancelled all the intermediate builds, which of course triggers an email fro each one 😢
I wish there was a way to batch suggestions together

I wish there was a way to batch suggestions together

Found it 🙄


Move SUM-related products to SUM

This is really a niche request, but most Summer Edition products are somehow in 3ED, while the actual SUM set is empty.
I believe all should be moved from 3ED to SUM instead. Thoughts?

That's fine, I didn't know there was a dedicated SUM set. I'll move those over.


[python-client] Add bulk publish and dist lock examples

Description
Added the following missing examples to the python client doc:

[x] bulk publish
[ ] bulk subscribe
[x] dist lock

Issue reference
PR will help close: dapr/docs#2770
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

@berndverst definitely review the examples I've added - and if there's a bulk subscribe example floating around, let me know

@berndverst removed bulk publish/subscribe until it's implemented.. thanks for your help!