Simply concat colored boxes result in visible seams

Steps to Reproduce

Execute flutter run on the code sample, look at it
If interested, remove RepaintBoundary, run again, look at it

Expected results:
Should see a whole green screen without any seam
Actual results:
has visible seam
Remark: This is only a reproducible sample; in my real-world case, the seam is quite ugly and affects the overall display
The screenshot:

Even if remove the RepaintBoundary in code, still buggy:

Code sample

import 'dart:io';
import 'dart:ui' as ui;

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_test/src/_matchers_io.dart'; // ignore: implementation_imports
import 'package:path/path.dart' as p;

void main() {
  final binding = TestWidgetsFlutterBinding.ensureInitialized();
  binding.window
    ..physicalSizeTestValue = const Size(41, 41)
    ..devicePixelRatioTestValue = 1;

  testWidgets('example', (tester) async {
    await tester.pumpWidget(
      MaterialApp(
        debugShowCheckedModeBanner: false,
        home: Container(
          color: Colors.white,
          child: Column(
            children: [
              for (var i = 0; i < 2; ++i)
                Row(
                  children: [
                    for (var j = 0; j < 2; ++j)
                      RepaintBoundary(
                        child: Container(
                          color: Colors.green,
                          width: 20.5,
                          height: 20.5,
                        ),
                      )
                  ],
                ),
            ],
          ),
        ),
      ),
    );

    await tester.debugWidgetTestSaveScreenshot(find.byType(MaterialApp), 'debug_screenshot');
  });
}

// helper function
extension on WidgetTester {
  Future<void> debugWidgetTestSaveScreenshot([Finder? finder, String stem = 'debug_screenshot']) async {
    await runAsync(() async {
      final image = await captureImage(element(finder ?? find.byType(MaterialApp)));
      final bytes = (await image.toByteData(format: ui.ImageByteFormat.png))!.buffer.asUint8List();
      final path = p.join((goldenFileComparator as LocalFileComparator).basedir.path, '$stem.png');
      debugPrint(
          'debugWidgetTestSaveScreenshot save to path=$path image.size=${image.width}x${image.height} byte.length=${bytes.length}');
      File(path).writeAsBytesSync(bytes);
    });
  }
}

Logs

no log

no error

3.0.2

@fzyzcjy

Simply concat colored boxes result in visible seams
If interested, remove RepaintBoundary, run again, look at it
Even if remove the RepaintBoundary in code, still buggy:

The problem you are describing is not really clear whether it is related to RepaintBoundary or not.
I also tried changing the parameter of physicalSizeTestValue and it worked as expected (see demo).

Demo
https://user-images.githubusercontent.com/104349824/175524942-cdd2cc28-6b72-4b96-bcd5-2fdff35ccbc4.mp4

As far as I see, it seems you are asking for assistance on personal code. Please see https://flutter.dev/community for resources and ask questions like this.
You may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you!

As far as I see, it seems you are asking for assistance on personal code.
If you disagree, please write in the comments and I will reopen it.

Thanks for your reply, but I disagree. This is unrelated to personal code, but indeed a fundamental bug of Flutter itself. The bug is (after seeing your reproduction and modifications), when you have non-integer sized colored rectangles, its boundary is incorrectly rendered.

@huycozy Hi, "If you disagree, please write in the comments and I will reopen it." - I have written in the comments but have not seen it reopened

Hi thanks for the reply.

Based on your response and your issue's description, RepaintBoundary isn't related to the issue, so please leave it out of the description as well as the sample code to clarify the issue.

post edited, removing repaintboundary.

And you also need to describe the issue so that it's related to physicalSizeTestValue, then we have enough relevant information to proceed further.

I guess not related to setting physicalSizeTestValue, but related to non-integer sized widgets

Furthermore, I see there's an open issue related to physicalSizeTestValue https://github.com/flutter/flutter/issues/62451 that you may find relevant information.
If you see that issue is similar, I will close this issue as a duplicate, so please follow up on it for further updates.

Seems no imho

@fzyzcjy Thanks for updating the issue! Labeling the issue for further investigation!

@fzyzcjy Does this only show up in a test? Or can you reproduce that when running on an actual device?

@goderbauer This reproducible sample comes from some real-world cases in my app which runs on actual device

https://medium.com/flutter/whats-new-in-flutter-3-3-893c7b9af1ff

Fractional translation
Previously, the Flutter Engine would always align composited layers to exact pixel boundaries because it improved rendering performance on older (32-bit) model iPhones. Since adding desktop support, we’ve noticed that this led to observable snapping behavior, since screen device pixel ratios are commonly much lower. For example, on low DPR screens, tooltips could be seen visibly snapping when fading in. After determining that this pixel snapping was no longer necessary for performance on newer iPhone models, we’ve removed this pixel snapping from the Flutter Engine to improve desktop fidelity. Additionally, we also found that removing this pixel snapping stabilized a number of our golden image tests, which would frequently change with small hairline rendering differences.

Not tested yet, but hope this is fixed in 3.3 :)


The CLI command disappeared from the VSCode plugin

Hi Team,
I noticed that the CLI command has disappeared  in the newer VSCode and CodeServer plugins. Instead I can see the new Fork command that does not seem to run the Cell command in the terminal.

It seems to be disabled in favor of the Fork command.
https://github.com/stateful/vscode-runme/blob/0b81a900873c71fdc66d300f3396a714a21e48ef/src/extension/provider/cellStatusBar/notebook.ts#L29
    // todo(sebastian): disable for Fork; retire it?
    // this.#cellStatusBarItems.add(new CLIStatusBarItem(this.kernel))
    this.#cellStatusBarItems.add(new ForkStatusBarItem(this.kernel))

Are they supposed to be doing the same thing? If not, could We have the CLI back?
I find that the CLI is very useful when I need to selectively copy/paste the output. It is not possible to do it with the Cell output.
Thanks!

Thanks for filing this issue. We did indeed remove the CLI button in favor of Fork. They don't exactly work the same way, though. Sorry about breaking your workflow.
We'll return a separate CLI button in the next few days. Just to clarify you can't select anything in the Cell Output? What platform are running on?

Hi @sourishkrout

Thanks for filing this issue. We did indeed remove the CLI button in favor of Fork. They don't exactly work the same way, though. Sorry about breaking your workflow.

Thanks. And sorry for the trouble too.

We'll return a separate CLI button in the next few days. Just to clarify you can't select anything in the Cell Output? What platform are running on?

I can select the content of Cell Output, but it doesn't allow me to selectively copy them using CTRL+C:

Nor does it allow me to use Copy Cell Output to copy the selected parts:

If this selective copy can work, I'm happy to part with the CLI button.
Thanks again!

What platform are running on?

It's on Ubuntu.
Thanks again!

Thank you. We've reproduced the issue on Linux, and @pastuxso is looking into fixing it. Independently, we'll bring back the CLI button, anyways.

Hi Team,
I can see the CLI button is enabled now.
Thanks Team :pray:

@forseti that's great. Can you also confirm that CTRL+SHIFT+C will now copy the terminal output on Linux please?

@forseti that's great. Can you also confirm that CTRL+SHIFT+C will now copy the terminal output on Linux, please?

Never mind. Just saw your comments on the PR.


Debian Buster patch for correctly identifying pcaps

Closes #325
Thank you for your help @malvidin and @cccs-rs !

Codecov Report

Merging #329 (67db48d) into master (07cb93c) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #329      +/-   ##
==========================================
- Coverage   67.17%   67.11%   -0.06%
==========================================
  Files         120      120
  Lines       10562    10562
==========================================
- Hits         7095     7089       -6
- Misses       3467     3473       +6

Impacted Files
Coverage Δ

assemblyline/common/identify.py
89.18% <ø> (ø)

assemblyline/common/backupmanager.py
70.00% <0.00%> (-5.42%)
:arrow_down:

assemblyline/common/heuristics.py
84.37% <0.00%> (+1.56%)
:arrow_up:

assemblyline/odm/randomizer.py
96.05% <0.00%> (+2.63%)
:arrow_up:

Continue to review full report at Codecov.

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


Process only files by spriter importer

Unity imports folders and folder path is passed to OnPostprocessAllAssets method. If folder name ends with .scml, SpriterImporter tried to import it as .scml file which led to UnauthorizedAccessException  when calling File.ReadAllText in CreateSpriter method.
This pull request extends scml asset check to avoid such folders.

Thanks!


Window mousedown/mouseup events no longer fire in Chrome

Window mousedown/mouseup events no longer fire in Chrome 55.  I also tested Canary with the same result.
The events do fire in Firefox.
This is not a new issue in Cesium; I tested Cesium 1.28, 1.25, and 1.20 with the same results.
var viewer = new Cesium.Viewer('cesiumContainer');

window.addEventListener('mousedown',function(e) {
    console.log('mouse down');
});

window.addEventListener('mouseup',function(e) {
    console.log('mouse up');
});

window.addEventListener('click',function(e) {
    console.log('mouse click');
});

viewer.screenSpaceEventHandler.setInputAction(function(e){
    //window.addEventListener('mouseup',function(e) {
        console.log('Left down');
    }, Cesium.ScreenSpaceEventType.LEFT_DOWN);

@emackey any idea?  Is this a new Chrome bug?  Or a fix to Chrome that revealed a bug in Cesium?  Sandcastle specific (I also tested in a new window).

Example code added above.

Related #4767?

Is this related to #4126?

Chrome added support for pointerevents, which Edge and IE11 already have.  I wouldn't be surprised to see Firefox introduce them as well.  We already support pointerevents to be able to support touch (and pen) interactions in IE & Edge, so Cesium listens for and handles the pointerevents.
Unfortunately this means your old mousedown event is obsolete.  On browsers supporting pointer events, old-school mousedown is only fired as a fallback for when the real pointer event went unhandled by the page.
The correct solution is to use viewer.screenSpaceEventHandler as shown at the bottom of the sample code above, since that goes to the trouble of detecting pointer and touch events as well as old mouse events.  If you want to use the raw native JavaScript events, your app code will need to have paths to handle at least pointer events and likely touch events as well.
The browser is still willing to fire old mousedown events for non-Cesium elements on the page, but only because those elements don't have pointer event handlers wired up to them.  We can't offer that to apps that want raw mouse interactions on the Cesium canvas itself, since we already made the jump to pointer events.
Long story short:  Upgrade your app's event handling.  Use the ScreenSpaceEventHandler or another polyfill, or roll your own event handling that includes pointer events, but don't just bind to old-school mousedown and expect the Cesium canvas to fire that, it's obsolete.

Use the ScreenSpaceEventHandler or another polyfill,

I strongly recommend users always use https://github.com/jquery/PEP in any Cesium application, this will enable pointer events in all browsers for consistent behavior.  Cesium can't do this itself since we don't want to pollute the global namespace.  I recommend against using ScreenSpaceEventHandler in client apps because it doesn't buy you anything over using pointer events directly.

I have no problem recommending PEP over ScreenSpaceEventHandler for client apps.  But for situations where PEP is not welcome, ScreenSpaceEventHandler is a fine choice, and offers you this functionality:

It handles native pointer, touch, and mouse events, and detects which ones are meaningful.
It remembers locations of "other" touches/pointers, for example if pointer 2 is on the move it keeps track of where pointer 1 is, which raw pointer events don't do (but raw touches do).
It processes certain gestures, notably "pinching", and reports on that at a higher level than raw events or polyfills will provide.

It does have a few warts as well, for example it registers and prevents default even on unhandled actions.  But ever since it added support for pointer events, it became valuable in its own right, more than just a simple polyfill, and I think it's wrong to mark it private or try to steer users away from it.

@emackey while I agree with you, my longer-term goal is actually to make ScreenSpaceEventHandler private because we don't really want to support it as a general input handler for client apps.


Unnecessary depreciated warning for on_dropfile

Software Versions

Python: 3.10.6
OS: win64
Kivy: 2.1
Kivy installation method: pip install kivy

Describe the bug
I am getting a depreciated warning that I should use on_drop_file event instead of on_dropfile
Expected behavior
I shouldn't be getting this warning as I am using on_drop_file
To Reproduce

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.boxlayout import BoxLayout

class Filedrop_test(BoxLayout):

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

class TestApp(App):

    def build(self):

        root = Filedrop_test()

        if Window:
            Window.bind(on_drop_file=self.drop_file_handler)

        return root

    def drop_file_handler(self, *args):
        print(f'---{args=}')

if __name__ == '__main__':
    TestApp().run()

Code and Logs and screenshots
if I drop a file into the window, I get:
[WARNING] [Deprecated  ] Deprecated in 2.1.0, use on_drop_file event instead. Event on_dropfile will be removed in the next two releases.: Call to deprecated function on_dropfile in C:\Users\xxx\miniconda3\envs\xxx\lib\site-packages\kivy\core\window\__init__.py line 2106.Called from C:\Users\xxx\miniconda3\envs\xxx\lib\site-packages\kivy\core\window\__init__.py line 1045 by <lambda>().

Additional context
Add any other context about the problem here.

Confirmed on my machine. Kivy 2.2.1, Windows 11.

The bit that concerns me is it is (wrongly) calling a method that just passes, so whatever is supposed to be happening isn't.

Duplicate #7853


more test refactoring

What was wrong?
legacy tests exist.
How was it fixed?
created new tests from old tests using vi macros.
To-Do

[ ] OPTIONAL: Update Spec if applicable

[ ] Add entry to the release notes (may forgo for trivial changes)

[x] Clean up commit history

@cburgdorf Im going to update these after #880 gets merged


Commune Controller Upgraders not spawning & excessive haulers

Branch used: main
Describe the bug
At an unknown times, Controller Upgraders within the main commune no longer spawn after a prolonged time such as a day or less.
I have monitored this for 1 hour after noticing this and the behavior does not change.
I have noticed excessive haulers been spawned too when this happens, I have 30 haulers at times with only one room and no available rooms on the server no remotes either.
Expected behavior
At least 1 Controller Upgrader is spawned & active.
How can we reproduce this?
This has been noticed on the "Go Horse Brazilian" Community Server located on the server selection screen
and on shard3 of the official server.
IP: 'screeps.gohorse.dev'
Manual Correction for players
Kill your creeps using killCreeps() to reset this. Killing off other creeps does not solve this issue.

Strange bug, thanks for pointing out. Can you join our discord server so we can discuss further?

Seems to only occur on Main, appears fixed on Development


Broken /ravm config

Expected behaviour
Executing /ravm config should show up the config options
Actual behaviour
Executing /ravm config throws LUA Error:
1x ravMounts/functions.lua:197: attempt to index global 'RAV' (a nil value)
[string "@ravMounts/functions.lua"]:197: in function `SetDefaultSettings'
[string "@ravMounts/core.lua"]:25: in function <ravMounts/core.lua:23>

Locals:
self = <table> {
 EnsureMacro = <function> defined @ravMounts/functions.lua:541
 color = "9eb8c9"
 data = <table> {
 }
 PrettyPrint = <function> defined @ravMounts/functions.lua:183
 command = "ravm"
 L = <table> {
 }
 MountListHandler = <function> defined @ravMounts/functions.lua:235
 notes = "Summons optimal mounts based on your Mount Journal Favorites.|n|n|cffbbbbbbSlash command: /ravm|r"
 SetDefaultSettings = <function> defined @ravMounts/functions.lua:188
 CreateSettingsPanel = <function> defined @ravMounts/options.lua:49
 SendVersionUpdate = <function> defined @ravMounts/functions.lua:219
 MountIdentifier = <function> defined @ravMounts/functions.lua:699
 OpenSettings = <function> defined @ravMounts/functions.lua:213
 AttachTooltipLabels = <function> defined @ravMounts/functions.lua:669
 name = "Ravenous Mounts"
 version = "2.11.1"
 CreateOpenSettingsButton = <function> defined @ravMounts/options.lua:27
 PrettyMessage = <function> defined @ravMounts/functions.lua:178
 title = "Ravenous |cff9eb8c9Mounts|r"
 MountUpHandler = <function> defined @ravMounts/functions.lua:432
 IsFlyableArea = <function> defined @ravMounts/LibFlyable.lua:99
}
(*temporary) = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index global 'RAV' (a nil value)"
defaults = <table> {
 passengerMounts = true
 normalSwimmingMounts = false
 vendorMounts = true
 preferDragonRiding = true
 macro = true
 vendorMountModifier = 4
 normalMounts = true
 passengerMountModifier = 3
 clone = 4
 normalMountModifier = 2
 zoneSpecificMounts = true
 travelForm = true
 flexMounts = 2
 swimmingMounts = true
}
RegisterDefaultOption = <function> defined @ravMounts/functions.lua:37
ns = <table> {
 EnsureMacro = <function> defined @ravMounts/functions.lua:541
 color = "9eb8c9"
 data = <table> {
 }
 PrettyPrint = <function> defined @ravMounts/functions.lua:183
 command = "ravm"
 L = <table> {
 }
 MountListHandler = <function> defined @ravMounts/functions.lua:235
 notes = "Summons optimal mounts based on your Mount Journal Favorites.|n|n|cffbbbbbbSlash command: /ravm|r"
 SetDefaultSettings = <function> defined @ravMounts/functions.lua:188
 CreateSettingsPanel = <function> defined @ravMounts/options.lua:49
 SendVersionUpdate = <function> defined @ravMounts/functions.lua:219
 MountIdentifier = <function> defined @ravMounts/functions.lua:699
 OpenSettings = <function> defined @ravMounts/functions.lua:213
 AttachTooltipLabels = <function> defined @ravMounts/functions.lua:669
 name = "Ravenous Mounts"
 version = "2.11.1"
 CreateOpenSettingsButton = <function> defined @ravMounts/options.lua:27
 PrettyMessage = <function> defined @ravMounts/functions.lua:178
 title = "Ravenous |cff9eb8c9Mounts|r"
 MountUpHandler = <function> defined @ravMounts/functions.lua:432
 IsFlyableArea = <function> defined @ravMounts/LibFlyable.lua:99
}

1x ravMounts/functions.lua:215: attempt to index field 'Settings' (a nil value)
[string "@ravMounts/functions.lua"]:215: in function `OpenSettings'
[string "@ravMounts/core.lua"]:107: in function `?'
[string "@FrameXML/ChatFrame.lua"]:5291: in function <FrameXML/ChatFrame.lua:5237>
[string "=[C]"]: in function `ChatEdit_ParseText'
[string "@FrameXML/ChatFrame.lua"]:4948: in function `ChatEdit_SendText'
[string "@FrameXML/ChatFrame.lua"]:4984: in function <FrameXML/ChatFrame.lua:4980>
[string "=[C]"]: in function `ChatEdit_OnEnterPressed'
[string "*ChatFrame.xml:141_OnEnterPressed"]:1: in function <[string "*ChatFrame.xml:141_OnEnterPressed"]:1>

Locals:
self = <table> {
 EnsureMacro = <function> defined @ravMounts/functions.lua:541
 color = "9eb8c9"
 data = <table> {
 }
 PrettyPrint = <function> defined @ravMounts/functions.lua:183
 command = "ravm"
 L = <table> {
 }
 MountListHandler = <function> defined @ravMounts/functions.lua:235
 notes = "Summons optimal mounts based on your Mount Journal Favorites.|n|n|cffbbbbbbSlash command: /ravm|r"
 SetDefaultSettings = <function> defined @ravMounts/functions.lua:188
 CreateSettingsPanel = <function> defined @ravMounts/options.lua:49
 SendVersionUpdate = <function> defined @ravMounts/functions.lua:219
 MountIdentifier = <function> defined @ravMounts/functions.lua:699
 OpenSettings = <function> defined @ravMounts/functions.lua:213
 AttachTooltipLabels = <function> defined @ravMounts/functions.lua:669
 name = "Ravenous Mounts"
 version = "2.11.1"
 CreateOpenSettingsButton = <function> defined @ravMounts/options.lua:27
 PrettyMessage = <function> defined @ravMounts/functions.lua:178
 title = "Ravenous |cff9eb8c9Mounts|r"
 MountUpHandler = <function> defined @ravMounts/functions.lua:432
 IsFlyableArea = <function> defined @ravMounts/LibFlyable.lua:99
}
(*temporary) = <function> defined @SharedXML/Settings/Blizzard_Settings.lua:149
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'Settings' (a nil value)"
ns = <table> {
 EnsureMacro = <function> defined @ravMounts/functions.lua:541
 color = "9eb8c9"
 data = <table> {
 }
 PrettyPrint = <function> defined @ravMounts/functions.lua:183
 command = "ravm"
 L = <table> {
 }
 MountListHandler = <function> defined @ravMounts/functions.lua:235
 notes = "Summons optimal mounts based on your Mount Journal Favorites.|n|n|cffbbbbbbSlash command: /ravm|r"
 SetDefaultSettings = <function> defined @ravMounts/functions.lua:188
 CreateSettingsPanel = <function> defined @ravMounts/options.lua:49
 SendVersionUpdate = <function> defined @ravMounts/functions.lua:219
 MountIdentifier = <function> defined @ravMounts/functions.lua:699
 OpenSettings = <function> defined @ravMounts/functions.lua:213
 AttachTooltipLabels = <function> defined @ravMounts/functions.lua:669
 name = "Ravenous Mounts"
 version = "2.11.1"
 CreateOpenSettingsButton = <function> defined @ravMounts/options.lua:27
 PrettyMessage = <function> defined @ravMounts/functions.lua:178
 title = "Ravenous |cff9eb8c9Mounts|r"
 MountUpHandler = <function> defined @ravMounts/functions.lua:432
 IsFlyableArea = <function> defined @ravMounts/LibFlyable.lua:99
}

Steps to reproduce this behaviour

Have Ravenous Mounts add-on installed
Play with a Druid
Attempt to get the config via /ravm config

@waldenp0nd

Running /ravm help also thrown the same LUA error related to the settings.
Using version 2.11.1 of the add-on.

 In addition to here on GitHub, it should now be available to download from both CurseForge and WoWInterface.
Let me know if you have any further issues!

Thanks @waldenp0nd. It's now fixed with the latest version.


printing on brackets

Hi,
Brackets is real great software but what about printing code? Will this be implemented?

@peterflynn Excuse me, "...just copy the fully formatted code, paste into an app like Word or Outlook..."? This gets me things on the printed listing like the filename, where it's located, date last changed...? It does not and for me those are essential items for printing listings that may be referred to later. Please have somebody look at this issue who cares about printing listings. Those who don't, find it too easy to blow it off, like you did.

Same here. Coping to another text editor isn't reasonable solution.

This apparently still hasn't been addressed almost 2 years later.

lol


Multistage builds

Compiling NodeJS is gone.
Maybe need long-time testing.

@Starefossen we are using multistage ruby-node more than 3 months and it looks like there is no problem. I have updated some things. If you wanna we should merge it.

@Starefossen any news about that? I think it is time to making containers simpler.


installation authentification failure

npm install fails due to missing authentification token. This occurs with v1.4.0 and not v1.3.0

git checkout v1.4.0 (which is also origin/main currently)
npm install

401 Unauthorized - GET https://npm.pkg.github.com/@la-jarre-a-son%2Fui - authentication token not provided

Hello @piazic
I did not think anoyone was building MIDI Jar themself so i did not make the ui public.
I'll put the package on public, i think you will need to register your Github token to npm to install @la-jarre-a-son/ui package.
https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-with-a-personal-access-token

Hello @ArTiSTiX
Thanks for the quick reply!
I'm getting Permission permission_denied: The token provided does not match expected scopes.
But the token was generated with "repo" permissions.

@piazic can you retry plz ?
Permissions were inherited from repository (which i would like to keep private), if i cannot let this package be publicly available to everyone, i may have to add you specifically.

I've retried just now and still getting the same error message.

@piazic ah sorry, did catch the token scope you mentioned.
I suppose your personal token must have the read:packages scope permission. repo will be not enough.
You can generate a new one here: https://github.com/settings/tokens

Many thanks, I was able to access and run the new version.
I had to use python < 3.12 as distutils is still used.
Then I was getting an error:
midi-jar\node_modules\nlf\lib\compare-module-names.js:30         return compareVersions(module1.version, module2.version);         ^ TypeError: compareVersions is not a function
which I've fixed by changing to
return compareVersions.compare(module1.version, module2.version, "<=");

@piazic Cool !

I had to use python < 3.12 as distutils is still used. Then I was getting an error: midi-jar\node_modules\nlf\lib\compare-module-names.js:30 return compareVersions(module1.version, module2.version); ^ TypeError: compareVersions is not a function which I've fixed by changing to return compareVersions.compare(module1.version, module2.version, "<=");

What's your environment ?
I forked a fork of nlf (original package was not up-to-date, and audit reported critical security issues), so i might have to open a PR to fix this.

I'm on Windows 11
npm 10.2.0
npm --list shows
+--<EMAIL_ADDRESS><EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>invalid: "2.19.0" from node_modules/nlf | +--<EMAIL_ADDRESS>invalid: "3.4.0" from node_modules/nlf | +--<EMAIL_ADDRESS>invalid: "3.1.0" from node_modules/nlf
Something's wrong in my config then?

Hezllo @piazic,
I encountered the same issue, and on my side, it was the nlf package not being up to date in npm 🤷♂.
For some reason, even if it was supposed to be my fork, npm was using the original package.
I switched for a published fork (on github's registry, same as other packages i needed to fork), maybe it fixed the issue for you too.
Concerning the distutils issue, yup, i had the issue too, you can simply pip install setuptools, until all node packages depending on node-gyp are up-to-date (in my case i think this is some dependency from electron that requires node-gyp ^9, so i may upgrade at one time).

Thanks @ArTiSTiX !


Fix a typo in the README

This fixes a typo in the README and tweaks the step 2 of usage instructions as to be more consistent with the first one.

@Calinou thanks for the PR!


chore: bump go version (1.20)

Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes https://github.com/kedacore/keda/issues/4517

/run-e2e

/run-e2e

/run-e2e


Implement merged objects support

Issue Number
Resolves #549
Purpose/Implementation Notes

In addition to the merged data support this PR addresses the recent test data structural changes.
I also added mocks to test_data_clean_up test.
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

@davidsmejia I've run pre-commit at 6e09756ce0a0b55854b646035706e45152adb182 (previously also ran the merge migration command for the test, but since getting the duplicate column error and the deploy is still in progress, I reverted it back), thank you!


Keep last used module settings

Proshine loads the last used module settings on startup
Save settings on every change. Using VS built in Property.settings

Superseded by #130, but finally implemented, thanks.


Fix asyncBatch type definition

The result should be an array

Sync version is already fine. Merging

Thanks a lot @wong2


GOBBLIN-727: Skip commit in CloseOnFlushWriterWrapper if a commit has…

… already been invoked on the underlying writer.
Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-727

Description

[x] Here are some details about my PR, including screenshots (if applicable):
We skip commit() on the underlying writer if a commit has been previously invoked. Currently, duplicate commits on the underlying writer can result in Exceptions due to non-existing data in task staging location (as in the case of an FsDataWriter).

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Tested with a Gobblin job running locally.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

@htran1 please review.

+1


Rename script extension

RecordVideo -- very strange name. Maybe we should discuss it with help writers.
VideoRecorder? TestMovie?

Extension renamed to VideoRecorder.
Maybe it will be also renamed after technical writers review


Questions about annotations not specified in EmmyLua

Is there a reference to the annotations that are not listed in EmmyLua page? Especially @meta, I'm curious about its meaning, as the others can be guessed by their names.
And what does it mean to have a * in a type annotation? I noticed that while typing, many types/tables like string, table, os, etc, as seen on the screenshot.  Like:

@meta is is used internally by me. For example, when you find references of print, it will filter out the results from the @meta file.
table* is used to distinguish the type of literal and library:
local v = {} --> table
local v = table -> table*

Has been renamed to tablelib bitlib...


chore: repository governance

Repository governance update
This PR was automatically created by the AVM Team hive-mind using the grept governance tool.
We have detected that some files need updating to meet the AVM governance standards.
Please review and merge with alacrity.
Grept config source: git::https://github.com/Azure/Azure-Verified-Modules-Grept.git//terraform
Thanks! The AVM team :heart:

Hi!
We need to update the template, please add tags to the telemetry deployment, they can be an empty map {}
Sorry for the inconvenience


Make the book a demo button pop up the scheduler

Description
It would be nice if prospects didn't need to leave the page to book a demo, but a scheduling widget would pop up.
Epic/Story
No response
Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

Does it mean that you'd like the /booking page to disappear and just be a pop up in our pricing page?


Supply WebSocket connectionParams to operation context and introduce webSocketConnectionParams option for graphql handler

Closes #4305
In addition to using context.headers, you can now also access the WebSocket connection params through context.webSocketConnectionParams.
Furthermore, improve the graphql handler to accept the webSocketConnectionParams option and inject the contents to the downstream WebSocket connection.
sources:
  - name: MyGraphQLApi
    handler:
      graphql:
        endpoint: http://my-service-url:3000/graphql
        operationHeaders:
          # Take the token field from WebSocket connectionParams and use it for the Authorization header
          Authorization: Bearer {context.webSocketConnectionParams.token}
        webSocketConnectionParams:
          # Use the token from the HTTP header and pass it down to the WebSocket connection params
          token: Bearer {context.headers['x-my-api-token']}

TODO

[x] Add support for webSocketConnectionParams in graphql-tools (https://github.com/ardatan/graphql-tools/pull/4781)

Is there anything I can do to help get this done? I've installed the preview build locally and tried testing it, but it doesn't seem to pass the connection params on to the upstream.

We could use this as well.  Let us know if we can help

This does not appear to work as expected (when using subscriptionsProtocol: WS). With the following additional config, passthrough to the source fails (sending the literal string "{context.connectionParams.authorization}"):
connectionParams:
  authorization: "{context.connectionParams.authorization}"

One clearly identifiable issue with this change is the lack of the following for the connectionParams config (see here for how it's done for operationHeaders):
Object.keys(connectionParams).forEach(headerName => {
  this.interpolationStringSet.add(headerName.toString());
});

This results in the config failing to be interpolated at request time. There may be more to this, but that is an initial observation.


Jump-to-definition not working within schema definition file

I'm using Relay, so our project only has a single .graphql file, which is the schema itself. I'd expect to be able to cmd-click on things (or use jump to definition menu item) to jump around the file itself, but VSCode is telling me there's no definition found.
This is my .graphqlconfig file:
{
  "schemaPath": "data/schema.graphql",
  "includes": ["**/*.graphql"]
}

Log output from GraphQL Language Server:
ZEBRA 1: undefined undefined
ZEBRA: GraphQLProjectConfig {
  config:
   { schemaPath: 'data/schema.graphql',
     includes: [ '**/*.graphql' ] },
  configPath: '/Users/andrewingram/Repositories/tego-app/.graphqlconfig',
  projectName: undefined } /Users/andrewingram/Repositories/tego-app/data/schema.graphql

@AndrewIngram : Thanks for raising the issue. Can you please provide a minimal reproduction (or the single graphql file) as a github gist/repo? Will expedite things at my end.
I will look into it tomorrow evening or over the weekend. Thanks.

@AndrewIngram : Also, Generally, one file schema jump should work without the includes. But what are you trying to jump on? We currently support it for Enum, types and input types only. Not scalars etc.

Here's the simplest repro I can make (I grabbed the schema from the graphql-js project codebase) https://github.com/AndrewIngram/vscode-graphql-repro
I'm not seeing any jump-to-definition behaviour on anything.

Thanks! I will look into it asap and revert. I have to test it with .graphqlconfig - JSON but in the meantime, would it be possible to use the yml format and rename config to .graphqlconfig.yml.
That might work. Thanks.

Type:

Enum:

I've changed the repro to use yaml, but it hasn't made any difference

@AndrewIngram : Thanks, I will look into this soon and revert :)

Created an issue https://github.com/graphql/graphql-language-service/issues/244 to track the progress of this.

@AndrewIngram check out 0.3.1! I still need to expose the option to use .graphql files as source for 0.3.2 (by default generates from projectConfig.getSchema() result), but at least you'll have jump to definition!


[vm/ffi] Support FFI callbacks in AOT configurations

API Changes
Currently the function argument to Pointer.fromFunction is required to be a static tearoff (constant), but no restriction is placed on the exceptionalReturn parameter.
We will need to force the exceptional return value to be a constant as well, since Pointer.fromFunction needs to return the same function pointer for each callsite.
Since we don't have a const constructor for Pointers, we will require that the exceptionalReturn parameter be omitted when the native function returns a Pointer, and we will return NULL (0) instead.
Implementation
Precompiling callback trampolines
In the JIT, we allocate "callback ids" and setup associated thead-local state when compiling a callback (during Pointer.fromFunction).
The callback ids enable the generated code to find its Code object inside the Thread upon re-entry from native code.
The callback ids need to be baked into the generated code, so they must be allocated at compile-time.
However, Thread::ffi_callback_code_ needs to be populated at runtime.
This may be done lazily when fromFunction is invoked; therefore, we suggest splitting up fromFunction into calls to two internal methods, one of which is elaborated to IL at compile-time (like _asFunctionInternal) and the other which is dispatched to the runtime:
Object _nativeCallbackFunction<NS extends Function>(Function target, Object exceptionalReturn) native "...";

Pointer<NS> _pointerFromFunction<NS extends NativeFunction>(Object function) native "...";

// Compile-time transformation (after static checks):
fromFunction<NS>(f, e) =>
    _pointerFromFunction<NativeFunction<NS>>(
        _nativeCallbackFunction<NS>(f, e));

_nativeCallbackFunction
In AOT, we will identify calls to this method in the flow-graph builder and create the needed Function object immediately.
The call will then be replaced with a constant instruction in IL:
ta <- Constant(<type arg>);
fn <- Constant(#function);
NativeCall(_pointerFromFunction, ta, fn);

We do not allow storing native callbacks into JIT snapshots, so we cannot use the AOT approach for handling _nativeCallbackFunction which stores the callback's Function in the object pool of the callsite to fromFunction.
Instead, we will still dispatch to the runtime to compile the callback trampoline, ensuring that Thread::ffi_callback_code_ has the only reference to the compiled code.
_pointerFromFunction
This function will be implemented as a runtime entry in both AOT and JIT modes.
It is responsible for updating Thread::ffi_callback_code_ to hold the incoming Function's Code object and minting the Pointer which holds the Function's entrypoint (which is only known at runtime after the instructions image is loaded).
Finding the Thread
Runtime entries are typically loaded from a Thread object which is threaded through all generated code via a designated register, and Dart_Invoke passes the thread object directly to generated code.
However, native function pointers have no designated "current thread" argument, so we must retrieve the thread object from TLS upon entry to the native callback.
In JIT mode, we embed a pointer to the symbol DLRT_GetThreadForNativeCallback directly in the generated code during compilation.
Since the symbol's location is only determined when the VM is loaded, this relies on the fact that we do not save native callbacks into JIT snapshots.
However, in AOT mode it is essential to save native callbacks in AOT snapshots.
The only information a native callback receives upon entry is its program counter, so we need to save the address of DLRT_GetThreadForNativeCallback at a fixed offset from the callback trampoline's entry-point, similarly to a relocation against the data (or BSS) section in native code.
Unfortunately, our snapshot formats have very different levels of abstraction, and only one involves the native linker.
We therefore need to re-invent cross-segment relocations for callback trampolines.
Relocation
We presently support a kind of relocation for bare instructions.
These relocations only refer to offsets within the instructions image (not between the VM and Isolate images).
Moreover, these relocations have bounds on the size of the inserted offset in order to patch call/branch instructions and insert trampolines where the offset is too large to the patch the instruction in-place.
These relocations are patched before the snapshot is serialized in a pass over the code objects to be written.
For BSS-relative relocations, we cannot use trampolines to bridge large offsets (we are not patching calls and the BSS segment is not executable), we need to insert relocations relative to other segments, and we aren't constrained by need to patch instructions in-place (we can insert the offset as entire word in the instruction stream and skip over it).
Therefore we will add a new mechanism for inter-segment relocations which is processed during snapshot serialization.
We will add a field RawCode::bss_relocation_offset_ holding an offset into the associated Instructions where a relocation to the start of the BSS segment should be inserted (as a target machine word) during serialization.
Since our snapshot formats incorporate different abstractions, we need to process this field differently depending on the format.
ELF
We will insert a BSS segment of a fixed size (one page minimum) during snapshot serialization after the text segment, so that the offset (backward) to the BSS segment is known at every point during the instructions serialization.
For consistency with blobs (see below), we will attach the BSS section after the image, so we will patch the BSS relocations in a second pass after serializing the instructions image.
Assembly
In the Assembly snapshots we cannot fix the size or offset of the BSS segment, and therefore cannot patch the relocations as we serialize the snapshot.
Instead we have to force the assembler to create the relocation instead.
All instructions are serialized with the .quad assembler directive because we do not rely on the native assembler.
However, we can express the relocation as an assembly expression:
;; Definition of the BSS section:
.globl _kDartBssSection
.zerofill __DATA,__common,_kDartBssSection,1000,8

;; ...

.Lbssreloc: .quad _kDartBssSection - .Lbssreloc

Blobs
Blobs are the most restrictive format since we do not have access to a native linker or loader.
To ensure that the BSS section is loaded at the appropriate position, we will need to extend the API for the blobs format:
DART_EXPORT DART_WARN_UNUSED_RESULT
intptr_t Dart_BssAlignmentForImage(uint8_t* instructions_buffer, intptr_t instructions_size);

Since we need one BSS segment for each text segment, the size of the BSS segment will be stored in the corresponding text segment's header.
The embedder will be responsible for creating an appropriately sized and zero-filled mapping following the text.
The placement of the BSS segment after the instructions leverages the default behavior of mmap when a size larger than the file size is passed. Unfortuantely creating adjacent mappings with VirtualAlloc on Windows is not as easy.
Loading
To simplify loading, we will store the offset from the start of the text segment to the bss segment in the HeapPage header (which has alignment already used for other hidden fields).
After loading a snapshot we will use the offset to paste the resolved address of DLRT_GetThreadForNativeCallback into the BSS segment.

/cc @mkustermann @rmacnak-google @alexmarkov
Martin: I think this reflects the design we discussed.

Since the Dart callbacks which C code invokes have a lifetime until the end of the isolate (we don't know how long C code hangs on to them, so the GC cannot know it either) we want to have a bounded number of those (i.e. we restrict ourselves to static methods). We also enforce the error value to be a compile-time constant.
Precompiling callback trampolines: Since we restrict ourselves to static methods it seems weird if we have to call _pointerFromFunction every time we're interested in having this Pointer (e.g. in a loop). This pointer object is for all practical purposes a constant/singleton. Couldn't we re-write the call-site in the kernel transformer to simply read the value of a static global field (of type Pointer<NFT>), where the field would have an initializer expression which calls into the runtime to return a pointer with the right address?
Finding the Thread & Relocation: This aligns with my original suggestion, i.e. use pc-relative loads to get the address of the c function which, when invoked, returns the current thread. So far there seem to be no blockers on this. It also might allow us to use the data/bss section for other purposes in the future.
Blobs: Preferably we would change the embedder API to give us the filename (and/or buffer) of the blob and the VM can map the text and data/bss section appropriately. We can add a small header to the blobs format which describes the relative offsets to which the data/bss sections have to be mapped. This would simplify our embedders and gives us more flexibility

Precompiling callback trampolines: Since we restrict ourselves to static methods it seems weird if we have to call _pointerFromFunction every time we're interested in having this Pointer (e.g. in a loop). This pointer object is for all practical purposes a constant/singleton. Couldn't we re-write the call-site in the kernel transformer to simply read the value of a static global field (of type Pointer<NFT>), where the field would have an initializer expression which calls into the runtime to return a pointer with the right address?

Absolutely, I'll do that.

Blobs: Preferably we would change the embedder API to give us the filename (and/or buffer) of the blob and the VM can map the text and data/bss section appropriately. We can add a small header to the blobs format which describes the relative offsets to which the data/bss sections have to be mapped. This would simplify our embedders and gives us more flexibility

I agree with the idea of consolidating the blobs format from 4 files into 1, and adding a header so the VM can create the mappings as appropriate.

@sjindel-google We can close this issue, right?

I was leaving it open as a marker for deprecating blobs, but as we discussed that should happen asynchronously.

@sjindel-google It seems like the code related about this issue has been reverted. I wonder will it still can be used in next dev release?

@ForelaxX Yes, code has been re-landed and it's ready to use.


Slight improvements

On line 57, I would suggest checking if Material.getMaterial("LINGERING_POTION") returns null as opposed to looping through all the materials.
I would also suggest making your key maps final and your methods to create keys return immutable maps instead of making a new map each time.
Lastly, your use of a switch statement on line 282 can be simplified by removing the return true; after each case except for the last one like so:
switch(bukkitVersion) {
case "1.12.2" :
case "1.12.1" :
case "1.12" :
...
case "1.7.2" :
    return true;
default:
    return false;
}

Thanks for the suggestions!
Great catch on the loop and switch statement. Done!
I assume you were looking at the Gist in which I mistakenly made some create keys methods private when it was my intention they be public. My thoughts were that someone may wish to obtain the map and use/modify it for whatever purpose. For that reason, I feel it is not desirable to return an ImmutableMap (although I know it maintains insertion order just like LinkedHashMap).


Recruit local volunteer (so they can help w qs around which groceries can be pay-ahead, etc)

We need to provide more guidelines, content for volunteer managers. Lower priority for now.


Bump EKS version to 1.29

As per subject
Checklist

[x] I have successful end to end tests run (with & without domain)

Sorry I didn't check the available versions.


CI: Updated folder tests

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #issue...

Validation
How did you test these changes?

[ ] Built and ran the app
[ ] Tested the changes for accessibility

Screenshots (optional)
Add screenshots here.

/azp run


How long did it take to train this model？

Thank you for your great work. I will appreciate if you report the length of training time, which will help others decide whether they are able to follow this work since some researchers don't have enough resource to train a model.

Thank you for your interest in our repository and for reaching out. We greatly appreciate your kind words. In our experiments, we conducted training using two NVIDIA RTX 3090 GPUs. Taking the SPVCNN backbone as an example, training for 50 epochs typically takes around 70 hours. However, it's important to note that training times may slightly vary due to hardware constraints. This duration is comparable to training times for baseline methods. We hope this information proves useful in assessing the feasibility of replicating our work, especially for researchers with varying resource availability. If you have any further questions or need additional details, please don't hesitate to ask. Thank you once again for your interest :)


raft_client: fix imbalance load of raft msg & optimize raft msg flush

Signed-off-by: gengliqi<EMAIL_ADDRESS>
What problem does this PR solve?
Problem Summary:

imbalance load of raft msg: raft client uses region_id % grpc-raft-conn-num to choose the specific connection. It's no problem when grpc-raft-conn-num is 1(default value). However, when grpc-raft-conn-num is larger, for example, 2, the distribution maybe not uniform because of the region id. If the num of TiKV is 3, the region id maybe always even because PD allocates region id with 3 peer id. To fix this problem, @5kbpers suggests using seahash. I test it with a parity check and find the distribution is very uniform. Even if the value is even, its hash value is odd or even. Also, the speed of seahash is good enough(benchmark result shows 11ns/iter in my laptop).
raft msg flush strategy: The raft msg is flushed only after handling all regions msg of this round. It may introduce some unnecessary latency. However, if the raft msg is flushed every time, the grpc CPU will be very high because of a large number of notifying. To alleviate this problem, the delay time is introduced. But I think this method is not very elegant. Maybe we should refactor this logic later.

What is changed and how it works?
What's Changed:
explained above.
Related changes

Need to cherry-pick to the release branch

Check List
Tests

No code

Side effects

No

Release note

No Release Note

It may introduce some unnecessary latency.

Do you have any stats to show how large is the latency?

Maybe it's necessary to do a benchmark for the new flush mechanism. @gengliqi maybe your new mechanism can be used with https://github.com/tikv/grpc-rs/pull/469?

Better to split this PR into two, each one solves an individual issue.

/merge

/merge

/run-cherry-picker


Add LFS fsck feature

This is a first-cut of the LFS fsck command to address issue #262.
I wanted to put this out there for review before adding stuff like on-the-fly status completion updates (which would be useful given the possibility of LFS fsck hashing gigs of media content).  I'm curious whether this is a good approach to the fsck problem.
After a fresh git clone and running script/bootstrap, I encountered a ton of errors in the unit tests for the commands package, so the changes you see in the non fsck unit tests were to fix those issues on my machine.
Example of the unit test errors I encountered:
--- FAIL: TestUpdateWithOldPrePushHook_2 (0.04s)
	update_test.go:174: Error writing pre-push in Before(): open /private/var/folders/0t/n69_kx414lg481jhdyf8n6xh0000gn/T/git-lfs-tests/empty/.git/hooks/pre-push: no such file or directory

Not sure why TestFsck() is breaking on the build box.  Will investigate.

do we want to look for LFS stuff in past commits?

I think there are at least 4 modes that we could support.

I think we can get away with 1-3.  Scanning the entire git history isn't interesting unless you have everything downloaded already.

Thanks for the comments, @technoweenie .  I'll make the changes.  Before I add support for different modes, I'm going to push some temporary debug code to diagnose the os.Stat() error.

I'm going to push some temporary debug code to diagnose the os.Stat() error.

Use the testing package's Logf().  They only display on test runs that have the error, so there's no harm leaving them in after you fix the bug.

Alright, I'm stuck.  I'm not sure why this works locally and not on the CI box, and the test is simple, so perhaps someone else could take a quick look.
TestFsck() is failing to find the LFS object corresponding to a LFS file after a commit.  I have test code that recursively prints out the repo dir, and on the CI machine, there are simply no LFS objects under .git/lfs/objects.  On my local machine, of course, everything works as expected.
If someone can figure this out, I'd still like to get clarification on how to run a bunch of commands on a TestRepository sequentially without the repo state getting cleared.  Currently -- and several other unit tests like TestCleanPointer depend on this behavior -- func (r *Repository) test(path string)() invokes repo.clone() before each testCommand Run(), so it isn't possible.

Ugh, sorry about the sad state of integration testing here. I have some ideas on making it better.
The reason it's failing is because Git LFS isn't installed.  You can replicate it locally by removing the clean filter:
$ git config --global --unset filter.lfs.clean

I'm going to update the test to manually write a bad file to .git/lfs/objects.

I have my own branch that uses your commits up until you started all those debug commits.  I also changed the test so that it corrupts the file in the before callback.  Once the test passes, I'd add a check in the after callback that ensures the file is gone.
I want to change the fsck behavior so that it just prints the errors to STDOUT without logging an error.    Still can't get the tests to pass though.

Also, I'm going to make https://github.com/github/git-lfs/pull/291 a priority of mine.  Your testing experience in this PR is unacceptable.

Thanks for picking this up and taking on the testing issues.


provider docs: resource cloudflare_api_token uses removed data.cloudflare_api_token_permission_groups in example

Confirmation

[X] This is a bug with an existing resource and is not a feature request or enhancement. Feature requests should be submitted with Cloudflare Support or your account team.
[X] I have searched the issue tracker and my issue isn't already found.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform v1.9.4
cloudflare/cloudflare version = "5.0.0-alpha1"
Affected resource(s)
api_token
User permissions
data "cloudflare_api_token_permission_groups" "all" {}
Token allowed to create new tokens.
Can only be used from specific ip range.
resource "cloudflare_api_token" "api_token_create" {
name = "api_token_create"
policy = [{
permission_groups = [
data.cloudflare_api_token_permission_groups.all.user["API Tokens Write"],
]
resources = {
"com.cloudflare.api.user.${var.user_id}" = "*"
}
}]
not_before = "2018-07-01T05:20:00Z"
expires_on = "2020-01-01T00:00:00Z"
condition = {
request_ip = [{
in     = ["<IP_ADDRESS>/32"]
not_in = ["<IP_ADDRESS>/32"]
}]
}
}
Account permissions
data "cloudflare_api_token_permission_groups" "all" {}
Token allowed to read audit logs from all accounts.
resource "cloudflare_api_token" "logs_account_all" {
name = "logs_account_all"
policy = [{
permission_groups = [
data.cloudflare_api_token_permission_groups.all.account["Access: Audit Logs Read"],
]
resources = {
"com.cloudflare.api.account." = ""
}
}]
}
Token allowed to read audit logs from specific account.
resource "cloudflare_api_token" "logs_account" {
name = "logs_account"
policy = [{
permission_groups = [
data.cloudflare_api_token_permission_groups.all.account["Access: Audit Logs Read"],
]
resources = {
"com.cloudflare.api.account.${var.account_id}" = "*"
}
}]
}
Zone permissions
data "cloudflare_api_token_permission_groups" "all" {}
Token allowed to edit DNS entries and TLS certs for specific zone.
resource "cloudflare_api_token" "dns_tls_edit" {
name = "dns_tls_edit"
policy = [{
permission_groups = [
data.cloudflare_api_token_permission_groups.all.zone["DNS Write"],
data.cloudflare_api_token_permission_groups.all.zone["SSL and Certificates Write"],
]
resources = {
"com.cloudflare.api.account.zone.${var.zone_id}" = "*"
}
}]
}
Token allowed to edit DNS entries for all zones except one.
resource "cloudflare_api_token" "dns_tls_edit_all_except_one" {
name = "dns_tls_edit_all_except_one"
include all zones
policy = [{
permission_groups = [
data.cloudflare_api_token_permission_groups.all.zone["DNS Write"],
]
resources = {
"com.cloudflare.api.account.zone." = ""
}
},
{
permission_groups = [
data.cloudflare_api_token_permission_groups.all.zone["DNS Write"],
]
resources = {
"com.cloudflare.api.account.zone.${var.zone_id}" = "*"
}
effect = "deny"
}]
exclude (deny) specific zone
}
Token allowed to edit DNS entries for all zones from specific account.
resource "cloudflare_api_token" "dns_edit_all_account" {
name = "dns_edit_all_account"
include all zones from specific account
policy = [{
permission_groups = [
data.cloudflare_api_token_permission_groups.all.zone["DNS Write"],
]
resources = {
"com.cloudflare.api.account.${var.account_id}" = jsonencode({
"com.cloudflare.api.account.zone." = ""
})
}
}]
}
Terraform configuration files
data "cloudflare_api_token_permission_groups" "all" {}

resource "cloudflare_api_token" "r2" {
  name = "example"

  policies = [{
    permission_groups = [
      data.cloudflare_api_token_permission_groups.all.r2["Workers R2 Storage Bucket Item Read"],
      data.cloudflare_api_token_permission_groups.all.r2["Workers R2 Storage Bucket Item Write"],
    ]
    effect = "allow"
    resources = {
      "com.cloudflare.edge.r2.bucket.${var.cloudflare_account_id}_default_${data.cloudflare_r2_bucket.main.name}" = "*"
    }
  }]
}

Link to debug output
.
Panic output
No response
Expected output
.
Actual output
.
Steps to reproduce
.
Additional factoids
No response
References
No response

Might be worth adding a simpler issue template for minor doc things like this

you're viewing the v5 docs which are in alpha and not complete - this is still present in 4.x. 5.x documentation changes will be made at a later date.


[FEATURE] Mimetype blocking

Describe the feature
Allow admins to block certain mimetypes from being uploaded
Additional details

Done


Failing test in time package

What version of Go are you using (go version)?
go version go1.7.3 linux/amd64
What did you do?
From the src directory I ran ./all.bash.
What did you expect to see?
All tests passing.
What did you see instead?
One test failed:
--- FAIL: TestLoadFixed (0.06s)
	time_test.go:943: Now().In(loc).Zone() = "-01", -3600, want "GMT+1", -3600
FAIL
FAIL	time	2.526s

The fix for https://github.com/golang/go/issues/17276 didn't make it into 1.7.3

So I guess this is a duplicate issue. It seems I don't have permission to mark it as such, even though I do see a "Close" button here. I'd prefer that someone marks this issue as duplicate before closing it.

We don't have a separate dupe state, so closed it is.


MSYS2 Git package is breaking multilanguage messages

Please see the incuded screenshot.

You can see here are some right and some broken Korean syllable characters on the image. The reason is some of Git functions are written in C and some others are in Bash script.
And I think the real problem is not all required patches are applied. I saw /git/PKGBUILD of this repo, and found it is using https://github.com/git/git, instead of https://github.com/git-for-windows/git.
I don't think we don't even need to have patches to apply for Git. The Git for Windows project is maintaining all of them. Also, Git Bash is now released using MSYS2.

Just changing the archive file url to download in PKGBUILD, is totally considerable.

We build MSYS git. It is like Cygwin git. You point to MINGW git. This is another story. We not have maintainer for it. This is not simply like change download URL. There are a lot of work that need to be done to get MINGW git working.

Oh, I misunderstood. However, is it possible to make mingw-w64-{}-git?
The problem issued here only appears in MINGW32 or MINGW64 shells, not in MSYS shell. And the encoding only breaks on shell script Git commands, not in binary Git commands. So I think the gettext(1) and gettext(3) which Git commands use, do run in different behavior. Then, for example, /usr/bin/gettext.sh can be fixed to use msys-iconv-2.dll.


Key.matches doesn't work if num locks is enabled

I was trying the TextInput example but I saw that the Key.matches function didn't work.
When checking if two keys matches, it checks if every modifiers are equals, including .num_lock.
Here's a video of the issue.
https://github.com/rockorager/libvaxis/assets/38861340/b1ee4210-10dd-4da9-a47d-037eda00eb90

Thanks for reporting this! The fix also removes caps_lock for most cases.


Node explorer: Change style of Farm details section

to avoid the scroll bar and make copy process easier i suggest using readonly text field  like in this screenshot

Status: merged; waiting for the release


Canvas clipping and save/restore vs wrapper state

It seems like the save() and restore() around drawables running will cause the CanvasContextWrapper state to be inaccurate after the restore(). This could cause miscellaneous bugs with incorrect line styles / fills / strokes.

Seems potentially related to https://github.com/phetsims/scenery/issues/479.

Seems potentially related to #479.

This issue referred to itself, not sure if that was intentional.

My bad, related to https://github.com/phetsims/friction/issues/31 (the thermometer color having issues when clipping is turned on).

Commit fixes the issue. The other before/after stroke/fill save/restore pairs don't have wrapper changes in-between calls, so should be safe.


ResourceLoader.has() uses localized paths, but Resource.set_path()/take_over_path() don't.

On commit 0f7af4ea51744cda23c4d3c7481f9c332973d1d4 this is still true.
When setting the path for a resource, the path does not get localized, making future calls to has() return false unless the path is localized before setting.
Is this correct behaviour?

Related to #6153?

Can anyone still reproduce this in Godot 3.2.1 or 3.2.2beta4?

Closing due to lack of response. Please comment if you can still reproduce this bug.
PS: If no minimal reproduction project was included in the original bug report, please upload one as well to ease troubleshooting.


feature avoid unnecessary copying during projection.

Proposed changes
If a result column id is unique, swap directly.
If there are multiple identical result column id, swap one and copy the rest.


"DeprecationWarning: Buffer()..." using node.js v10

🐛 Bug Report
When upgrading Jest to v24.5.0 from v23.5.0 we get the following errors, which tell me that some package is still making use of deprecated Buffer functionality. These errors were not shown before upgrading.
 PASS  app/containers/InfoBanner/index.test.js
(node:17686) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    at showFlaggedDeprecation (buffer.js:159:11)
    at new Buffer (buffer.js:174:3)
    at Object.<anonymous> (/Users/alexvernacchia/consumer/cxxxp/node_modules/sshpk/lib/algs.js:57:6)
    at Runtime._execModule (/Users/alexvernacchia/consumer/cxxxp/node_modules/jest-runtime/build/index.js:765:13)
    at Runtime.requireModule (/Users/alexvernacchia/consumer/cxxxp/node_modules/jest-runtime/build/index.js:361:14)
    at Runtime.requireModuleOrMock (/Users/alexvernacchia/consumer/cxxxp/node_modules/jest-runtime/build/index.js:469:21)
    at Object.<anonymous> (/Users/alexvernacchia/consumer/cxxxp/node_modules/sshpk/lib/key.js:6:12)
    at Runtime._execModule (/Users/alexvernacchia/consumer/cxxxp/node_modules/jest-runtime/build/index.js:765:13)
    at Runtime.requireModule (/Users/alexvernacchia/consumer/cxxxp/node_modules/jest-runtime/build/index.js:361:14)
    at Runtime.requireModuleOrMock (/Users/alexvernacchia/consumer/cxxxp/node_modules/jest-runtime/build/index.js:469:21)
 PASS  app/containers/HomeFeedResults/index.test.js
(node:17685) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    at showFlaggedDeprecation (buffer.js:159:11)

package.json
  "devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
    "@deliveroo/eslint-config": "^0.8.0",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^8.2.6",
    "babel-jest": "^23.4.2",
    "babel-jsxgettext": "0.5.0",
    "cookiecutter": "^1.2.1",
    "deep-freeze": "0.0.1",
    "enzyme": "3.9.0",
    "enzyme-adapter-react-16": "1.11.2",
    "enzyme-to-json": "3.3.5",
    "eslint": "^5.3.0",
    "eslint-config-prettier": "^2.9.0",
    "eslint-plugin-import": "^2.13.0",
    "eslint-plugin-jest": "^22.3.0",
    "eslint-plugin-jsx-a11y": "^6.1.1",
    "eslint-plugin-prettier": "^2.6.2",
    "eslint-plugin-react": "^7.10.0",
    "jest": "^24.5.0",
    "jest-matcher-one-of": "^1.0.0",
    "jest-prop-type-error": "^1.1.0",
    "jest-watch-typeahead": "^0.2.1",
    "jsdom": "^14.0.0",
    "jsdom-global": "3.0.2",
    "nock": "9.0.22",
    "prettier": "^1.14.0",
    "redux-mock-store": "1.2.3",
    "stylelint": "7.10.1",
    "stylelint-config-standard": "16.0.0",
    "supertest": "^3.0.0"
  }

When running npm ll sshpk we get
<EMAIL_ADDRESS>│ /Users/alexvernacchia/consumer/cxxxp
│
│ git+https://github.com/d/cxxxp.git
│ https://github.com/d/cxxxp#readme
├─┬<EMAIL_ADDRESS>│ │ A JavaScript implementation of many web standards
│ │ git+https://github.com/jsdom/jsdom.git
│ │ https://github.com/jsdom/jsdom#readme
│ └─┬<EMAIL_ADDRESS>│   │ Simplified HTTP request client.
│   │ git+https://github.com/request/request.git
│   │ https://github.com/request/request#readme
│   └─┬<EMAIL_ADDRESS>│     │ Reference implementation of Joyent's HTTP Signature scheme.
│     │ git://github.com/joyent/node-http-signature.git
│     │ https://github.com/joyent/node-http-signature/
│     └──<EMAIL_ADDRESS>│         A library for finding and using SSH public keys
│         git+https://github.com/arekinath/node-sshpk.git
│         https://github.com/arekinath/node-sshpk#readme
└─┬<EMAIL_ADDRESS>  │ Wrapper around libsass
  │ git+https://github.com/sass/node-sass.git
  │ https://github.com/sass/node-sass
  └─┬<EMAIL_ADDRESS>    │ Simplified HTTP request client.
    │ git+https://github.com/request/request.git
    │ https://github.com/request/request#readme
    └─┬<EMAIL_ADDRESS>      │ Reference implementation of Joyent's HTTP Signature scheme.
      │ git://github.com/joyent/node-http-signature.git
      │ https://github.com/joyent/node-http-signature/
      └──<EMAIL_ADDRESS>deduped
          A library for finding and using SSH public keys
          git+https://github.com/arekinath/node-sshpk.git
          https://github.com/arekinath/node-sshpk#readme

This is weird because it states that this package has nothing to do with jest, but the only thing we upgraded was jest.
Using "babel-jest": "^24.5.0" doesn't fix the issue as well
To Reproduce
Steps to reproduce the behavior:
run node --pending-deprecation --trace-warnings ./node_modules/.bin/jest and see deprecation warnings.
Expected behavior
I expect not to see any deprecation warnings.
Link to repl or repo (highly encouraged)
I'll try to get a repo up with the problem.
Please provide either a repl.it demo or a minimal repository on GitHub.
Issues without a reproduction link are likely to stall.
Run npx envinfo --preset jest
Paste the results here:
  System:
    OS: macOS 10.14.4
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
  Binaries:
    Node: 10.15.3 - /usr/local/bin/node
    Yarn: 1.13.0 - /usr/local/bin/yarn
    npm: 6.4.1 - /usr/local/bin/npm
  npmPackages:
    jest: ^24.5.0 => 24.5.0

As you point out yourself, that dependency does not come from jest. Seems to be an issue with request's dep tree? You're better off opening an issue there.
Happy to reopen if this is truly an issue in jest's dependency tree (although it's doubtful there's much we can do about upstream issues)

As you point out yourself, that dependency does not come from jest. Seems to be an issue with request's dep tree? You're better off opening an issue there.

Yeah, it could be that. I guess I'm still a bit stuck on the fact that upgrading jest is what made these deprecation warnings appear.
I updated node-sass to the next version and the sshpk dependency disappeared. This leaves jsdom, which doesn't log these warnings on jest v23, but does on jest v24.
The only thing I updated was jest, which is why I'm having trouble understanding why these would be getting logged now in an unrelated package that didn't change.


Fixed typo in suggest for ext-mbstring

wow, we just released this, thanks !

👍

fabbot.io — The rules contain unknown fixers (non_printable_character).

Does this mean fabbot.io is executing our .php_cs file? If so, that's definitely a bad idea, since someone can send a PR and execute arbitrary code on their servers.

it's ok as fabbot runs it in virtualized sandbox
in the end, it's not up to me or you, but up to fabbot.

What sort of information could be leaked from the sandbox is the real question I guess.

It's up to the infrastructure and fabbot.io decided they are prepared enough to do this.
If you want, raise a concern directly to them, not here.

Thank you @pascal-hofmann.


[CD] Add a continuous deployment Job

Is your feature request related to a problem? Please describe.
We should have a CD job to deploy and validate BotKube artifacts - helm charts and all-in-one resource manifests
Describe the solution you'd like
Ideally, we should have 2 BotKube instances -

One pointing to the latest commit in develop
Another one to the latest release

Edit:
We have applied for free AWS credits under their Open source program.
Till we get that, we can use Kind to deploy and validate the deployments

We can enable GitHub Pages to enable the all-in-one resource manifest downloads.
Similar to https://docs.litmuschaos.io/docs/next/getstarted.html#install-litmus

Also check https://github.com/actions/upload-release-asset

Hi @PrasadG193
Picking up this task.

Hi, I'm closing this as current CI pipeline already installs BotKube via Helm chart on local k3d cluster, and we probably won't have long-running cluster anytime soon. Cheers!


Wrong git project name in 'deploy to bluemix' button

there is a wrong repository name in the deploy to bluemix button - this stops the deploy process.
Thanks
Joerg

fixed


Evaluate Integration of Red Hat API Endpoints with Registry App

Describe the issue
Assess the feasibility and potential benefits of integrating Red Hat Cost Management API endpoints into the registry application to enhance cost optimization features.
Rational/Why
Additional Context

[ ] Review API Documentation

Examine the Red Hat API documentation, focusing on the Cost Management endpoints, particularly the getRecommendationList operation.

[ ] API Endpoint Feasibility Study

Conduct a technical feasibility study to determine how these API endpoints can be utilized within the registry app's architecture.

Definition of done/Acceptance Criteria

Iryna will clarify with Billy if this ticket is still relevant and required to do.

closing this ticket as @w8896699 confirms that it is no longer applicable in terms of cost recovery model.


ci: create Sentry release

Use the Sentry GitHub action to create releases for dev and prod. This should enable better tracking of issues + versions.

@loreto it looks like we need a Sentry internal integration token for this. When you get a chance could you follow the steps here and then add the token as a SENTRY_AUTH_TOKEN secret in the release environment?


Update require-doc-approval.md

Category

[X] Content fix
[ ] New article

What's in this Pull Request?
Line 54, menu option changed and can be found under "Integrate" for SharePoint libraries.

Docs Build status updates of commit 3269aec:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/business-apps/power-automate/guidance/require-doc-approval.md
:bulb:Suggestion
View
Details

docs/business-apps/power-automate/guidance/require-doc-approval.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit e6bee64:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/business-apps/power-automate/guidance/require-doc-approval.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 9d81fba:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/business-apps/power-automate/guidance/require-doc-approval.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Selection of a history in telescope always ends in pasting the latest history record

As showed above,  when I trigger yanky.nvim telescope window, I cycled up and press enter  at the No.13 history, but at the cursor position, the text pasted is always the lastest one(showed below)

The config I use is just the default setting from Lazyvim(https://www.lazyvim.org/extras/coding/yanky)
I am on a remote Ubuntu through SSH, and the terminal is kitty with fish shell.

I had a similar problem (see #134) when I was interacting with a remote host. I think it has to do with the clipboard. Run :checkhealth.
Also try setting this to false (by default it is true):
  system_clipboard = {
    sync_with_ring = false,
  },

Ok! I can reproduce this issue using a ssh, I try to find a fix.

Ok! I can reproduce this issue using a ssh, I try to find a fix.

Thanks for the work. Looking forward to updates!

Should be fixed now, can you confirm ?

Should be fixed now, can you confirm ?

Wonderful, it works well now. Thank you for the quick fix. I close this.


delete leveldbs before exit function

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.baorenyi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.


SFDC CLI does not deploy Standard SObject workflow elements - not found in zipped directory

I have created this bug from [(https://github.com/forcedotcom/cli/issues/707)] even it seems to be related because it is closed.
Summary
Salesforce CLI appears to be unable to deploy workflow elements for Standard objects when those workflow elements are specified in the package.xml as individual metadata elements (i.e. WorkflowRule, WorkflowAlert, WorkflowFieldUpdate, etc.) and not as a whole workflow metadata element (i.e. Workflow).
Steps To Reproduce:
Create a workflow rule with a workflow email alert and workflow rule on the Opportunity object
Create a package.xml file listing each of the elements individually in WorkflowRule, WorkflowAlert metadata types.
Retrieve the metadata. (this works correctly)
Deploy the workflow to another org. (Failure point)
Expected result
The workflow elements should be deployed to the target org
Actual result
No deployment occurs. The error seen is:
An object XXXXXXXX of type WorkflowRule was named in package.xml, but was not found in zipped directory
An object XXXXXXXX of type WorkflowAlert was named in package.xml, but was not found in zipped directory

Additional information
SFDX CLI Version(to find the version of the CLI engine run sfdx --version):
sfdx-cli/7.119.2 win32-x64 node-v14.17.6
SFDX plugin Version(to find the version of the CLI plugin run sfdx plugins --core)
@oclif/plugin-autocomplete 0.3.0 (core)
@oclif/plugin-commands 1.3.0 (core)
@oclif/plugin-help 3.2.3 (core)
@oclif/plugin-not-found 1.2.4 (core)
@oclif/plugin-plugins 1.10.1 (core)
@oclif/plugin-update 1.5.0 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-plugin-lwc-test 0.1.7 (core)
alias 1.1.10 (core)
apex 0.2.8 (core)
auth 1.7.1 (core)
config 1.2.35 (core)
custom-metadata 1.0.12 (core)
data 0.6.1 (core)
generator 1.2.0 (core)
limits 1.2.1 (core)
org 1.7.0 (core)
salesforce-alm 52.3.5 (core)
schema 1.0.8 (core)
sfdx-cli 7.119.2 (core)
source 1.1.0 (core)
telemetry 1.2.4 (core)
templates 52.1.0 (core)
trust 1.0.8 (core)
user 1.4.0 (core)
OS and version:
Windows 10.0.18362

@JavierCarvajalLBS I've been trying to reproduce this with sfdx 7.119.2 and 7.122.1, can retrieve from one org and deploy to another scratch org, no error.
Do you still see this error? If so, do you have a repo to reproduce this? Thanks.

I am also facing this problem
With sfdx CLI I can easily get the WorkflowRule with the sfdx force:source:retrieve -m command, but when trying to deploy it with the sfdx force:source:deploy -m command, I get this error:
Error  myObject__c.myWorkflowRuleName  An object 'myObject__c.myWorkflowRuleName' of type WorkflowRule was named in package.xml, but was not found in zipped directory

I am facing the same issue

I think the parent object's workflow needs to be in the package.xml, too. This is what I did:

At first, I only included Flow and WorkflowAlert in my package.xml.
When I tried to deploy, I got an error: "WorkflowAlert was named in package.xml, but was not found in zipped directory."
I added Workflow to my package.xml and kept Flow and WorkflowAlert in there, too.
I'm able to deploy the WorkflowAlert now.


Video Won't Start on Android

So, I have this working just fine on iOS. On Android, it won't work until I leave the page then come back to it. Here's my initial code to load the video. After that is the code that's called from the next page to return to the home page containing the video. I'll say that this used to work when I was developing on a Windows laptop but since switching to Visual Studio Mac it doesn't start.
******* MainPage Code *******
    public MainPage()
    {
        InitializeComponent();
        NavigationPage.SetHasNavigationBar(this, false);
        Media.Source = new Uri("ms-appx:///GD_video_trimmed.mp4");
        BindingContext = new MainPageViewModel(Navigation);
    }

    protected override void OnAppearing()
    {
        ((MainPageViewModel)BindingContext).PopulateModel();

        if (Media.CurrentState != InTheHand.Forms.MediaElementState.Playing)
        {
            Media.Play();
        }

        SizeControls();
    }

****** Code called to return to MainPage and the Video starts then ******
public static void ClearNavigationStack(INavigation navigation)
{
navigation.InsertPageBefore(new MainPage(), navigation.NavigationStack[0]);
navigation.PopToRootAsync();
}

All future MediaElement work will take place at https://github.com/xamarin/XamarinCommunityToolkit


Cannot open menu with Alt+m

However, I managed with Esc+m, but that breaks a bit as Esc is also going back.
It would also be nice if you could choose menu with right and left arrows, as that would be more natural to me than Tab (and Shift+Tab to go the other direction didn't work either).

Did you set any specific keybindings for the menu in the configuration? Sometimes some keybindings are not interpreted correctly by the terminal, can you check whether sending Alt+m works?
Also Shift-Tab is not implemented, to cycle through menu items you will have to use Tab for now. I will make menu movements modifiable in the coming releases.


Change compression fn to save empty metadata dir

This commit fixes an issue when storing checkpoints with no metadata.
Now the metadata folder is stored in the compressed checkpoint even
if there are no files inside. This avoids an error when trying to load
the checkpoint.

Thank you for the PR, it is much appreciated!
Can I be the (really) fussy one and ask to change a couple of things?

PyCharm can be annoying reminding of the built-in shadowing with dir as variable name;
I think that we used everywhere the operator / for joining paths instead of calling the join function. Would you mind changing it in the name of consistency and conciseness?

Thanks again, it's great to see people using our work!

No problem, thanks for the feedback!
I have addressed the issues you pointed out in my latest commit, so now everything should be fine.
Let me know if there is something else that should be changed


[typescript] Add Typography pxToRem

Wanted to use Theme.typography.pxToRem(number) but wasn't able to because of typings (or at least of course my editor was mad). This fixes that.

@jaredpetker Thanks!


Move contents from README.md to doc/index.rst

Feel free to revise explanations if need to

Can you assign this task to me?

No problem! Quick heads up: I started adding some content to it in #83

Done with #232


Please restore upload-doc

PR #176 removed upload-doc support, on the grounds that docs.rs is a better choice.  However, docs.rs doesn't work for every crate.  In particular, it doesn't work for any crate that uses bindgen in a build.rs file.  Would it be possible to restore it?

The built-in upload-doc was considered too specific for github project.
You can still use release hooks or a shell script combined with cargo release for that.


feat(GirderBox): Allow for changing URL in UI

:tada: This PR is included in version 4.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Preload saved pins

Issue Number:
183
Issue Description:
Preload user's save pins when navigating to .../maps page
Summary of solution:

Fetch current user
Fetch saved pins of current user
Create markers for pins
Drop pins on map and add popup
Create React wrapper & additional functions as utilities

Can this issue be closed?
Yes.
Should any new issues be added as a result of this solution?

Caching of pins

I've already started coding this but realized that this is a separate issue that should be handled via the SW

Error handling if user is not logged in

Caught errors being thrown to the console by lower level route functions

Convert pin to a saved pin is posted to db (refresh page or change marker)

Have you named your branch in a descriptive way? Remember to name your branch in a unique and descriptive manner in order to properly reflect the issue or feature.
Yes: preload-savedPins
Thanks for contributing!

@jkwening thanks for all the feedback! I definitely appreciate all suggested improvements.


update since tags

@ldanzinger please review the updates to the qdoc since tags

@lsmallwood just the 2 version changes. PopupView is new and will require 100.1, and one of the versions of the callout uses 100.1 API

👍


monero: <IP_ADDRESS> -> <IP_ADDRESS>

Motivation for this change
Continuing the update in #73124. This PR takes care of monero-gui.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change
[x] Tested execution of all binary files
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @ehmry

I tested the connection of both monero-wallet-cli and monero-gui to a local daemon. Everything seems to be working.


+8 New icons: Text Formatting, Arrows and Pain Tool categories

✨ Description of New Features

➡⬅ Left/Right Arrow Icons: Added icons for navigating left and right.
📝 Text and Formatting Icons: Added new icons for text formatting functionalities, such as: bold, italic, underline and at-sign.
🎨 Paint Tool Icon: Added a new icon to represent the paint tool.

https://github.com/user-attachments/assets/cbc03536-12b5-4aa4-b4a6-e5dd1c2124fe
These additions expand the icon set with useful options for navigation, text editing, and design tools. All icons are animated and ready for use!
by Hubert Ryan

hey, @HubertRyanOfficial , thank you for all of these icons! that is great work. i love the pen-tool, arrows and bold one
italic and underline are also great, could you make them a little faster tho?
at-sign and undo, i guess, we need to rethink
i'll merge it after your fixes and if you don't mind, i'll update the at-sign and undo cause i've got an idea

hey, @HubertRyanOfficial , thank you for all of these icons! that is great work. i love the pen-tool, arrows and bold one
italic and underline are also great, could you make them a little faster tho? at-sign and undo, i guess, we need to rethink
i'll merge it after your fixes and if you don't mind, i'll update the at-sign and undo cause i've got an idea

Hey there, it's a pleasure.  I've been looking for good open source projects to contribuite and I found yours, so it's perfect.
Changes that you asked me are done. ✅

Italic and underliner faster.
Yarn.lock is back.


Is there any chance to introduce IHttpClient form factory?

I know it is late for such thing, but it is probably the last chance to introduce IHttpClient interface.
If you introduce factory in 2.1 without interface it will always return a class. An interface is better for testing, mocking, etc. I'm sure that I don't have to prove this 🤓
I can implement this if you only agree 😄

@glennc @davidfowl @rynowak

@ptrstpp950 Isn't better to have a mock of IHttpClientFactory that returns an HttpClient with a testing HttpMessageHandler? so that you receive a properly valued HttpResponseMessage instead of an empty shell.

@Kralizek I can easily provide implementation of IHttpClient with HttpResponseMessage if needed, but I agree that IHttpClientFactory will be useful also

I’ve seen this discussed previously for the full framework. If memory serves, concrete types are preferred in this case because they’re easier to extend in future versions as extending an interface requires breaking changes from a binary compatibility point of view.

Is it sufficient that you can create an interface based custom/named HttpClient class? Seems a little easier to mock GetFoo() than the actual HTTP stuff going to actually do the GET /Foo?bar=true stuff on a theoretically IHttpClient, especially when you consider all the nice, automatic content negotiation of WebApi client package are all extension methods ultimately wrapping over the HttpClient's GetAsync method that just returns a byte array/stream.

But the HttpMessageHandler (base class for HttpClient) contains only one method (ok 3 in real but I don't count two Dispose). Mocking it is impossible because it looks like:
protected internal abstract Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken);

I fully agree with @AdamDotNet and I prefer to mock GetFoo(). But sometime it is not my choice and I have to "mock" response to create integration test using TestServer. To be fair probably changing above method from internal to public and allowing to inject my implementation of HttpMessageHandler to HttpClientFactory will be even better than the interface.

We have no plans to introduce an abstraction over HttpClient. See this for an uber long discussion on adding an interface for the client https://github.com/dotnet/corefx/issues/1624.

If you use the typed client pattern then the majority of your business logic would only be operating against your own typed client, which can have an interface. We have an overload of AddHttpClient that accepts an interface and a type for exactly that purpose. So the code that actually has to interact with HttpClient is the code that is deserializing return types and possibly some error handling and caching.
It is far from what you have to do today. For example, I wrote this to test my PageModel:
[Fact]
public async Task GET_populates_values()
{
    IEnumerable<string> testValues = new List<string>() { "value1", "value2", "value3" };

    var valueService = new Mock<ValuesService>();
    valueService.Setup(x => x.GetValues()).Returns(Task.FromResult(testValues));

    var indexUnderTest = new IndexModel(valueService.Object);

    await indexUnderTest.OnGet();

    Assert.Equal(testValues, indexUnderTest.Values);
}

And when testing the ValuesService itself I mocked HttpMessageHandler without much problem:
[Fact]
public async Task will_return_last_known_good()
{
    var firstCall = true;
    var handler = new MockMessageHandler(req =>
    {
        if(firstCall)
        {
            firstCall = false;
            var resp = new HttpResponseMessage(HttpStatusCode.OK);
            resp.Content = new StringContent("[\"testval\"]");
            return resp;
        }
        return new HttpResponseMessage(HttpStatusCode.InternalServerError);
    });

    var client = new HttpClient(handler);
    client.BaseAddress = new Uri("http://test.local");
    var cache = new MemoryCache(Options.Create(new MemoryCacheOptions()));

    var service = new ValuesService(client, cache, _logger.Object);

    await service.GetValues();
    var values = await service.GetValues();

    Assert.False(firstCall);
    Assert.Equal("testval", values.First());
}

public class MockMessageHandler : HttpMessageHandler
{
    private Func<HttpRequestMessage, HttpResponseMessage> _handler;

    public MockMessageHandler(Func<HttpRequestMessage, HttpResponseMessage> handler)
    {
        _handler = handler;
    }

    protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        return Task.FromResult(_handler(request));
    }
}

I didn't really feel the need for mocking HttpClient itself in any of that testing. The typed client abstraction made the tests that actually interacted with the HTTP types fairly small. Am I alone or naive in that?


Adds a sample service along with a sample workflow

Adds a sample Python service which does very little, but does show how we can configure github actions for a specific service, without having to run them for all services.
This should be documented under: How do I add a new service to the monorepo?

Nice. Probably enough of a stub example for now until we have a think about architecture (e.g. affecting services/ folder structure & documentation). We'll have core / infrastructure related services deployed to MP via ECR, but will we also have user-facing services deployed to CP from this repo?
We should probably require a README for each service as they'll effectively all have their own mini runbook.
A README in the root services folder would be good also - what languages do we accept? What are the minimum requirements for a service (docs / tests ...)?

Mostly I just wanted to test out whether it was feasible to have different sets of CI based on where the changes were committed, but I think I agree about documentation.  I'll add skeleton docs until we've agreed details around tech stack etc, and we can track that work in a github issue.


client: update pd/client to repair kvproto compatibility

Signed-off-by: husharp<EMAIL_ADDRESS>as https://github.com/tikv/pd/pull/5861 described, will merged after 5861 to make sure compatibility.

/test all

/test


Cmder as the terminal doesn't open in CWD

Using information from https://github.com/Microsoft/vscode/issues/12006, I managed to inject Cmder into my terminal inside code but it opens in my user directory instead of the current folder. How do I go about fixing this?
Relevant settings:
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": ["/K", "D:\\Program Files\\cmder\\vendor\\init.bat"]

If you check out the question: "Can I use Cmder's shell with the terminal on Windows?" within the vscode docs at https://code.visualstudio.com/docs/editor/integrated-terminal, they make mention of a vscode.bat file you need to point to, instead of the vendor\init.bat

Woops, missed that! Thank you.


Release on crates.io missing

Is there a specific reason that foundry is not published on crates.io yet (https://doc.rust-lang.org/cargo/reference/publishing.html)? Would be great for visibility.

rn foundry relies on the latest master of ether-rs especially for all solc related features, since there are quite a few changes.
expect this to be available on crates, once ethers-solc is more stabilized and battle tested.

Thanks for clarifying. Feel free to close this issue or keep it open.

Closing to keep things clean, we're still rapidly iterating so not worth publishing yet, but it's in our plans.


Printed URL is plain HTTP

The URL printed by the script has http scheme instead of https. Typical output:
> imgur.sh 123.jpg
http://i.imgur.com/123.jpg
Delete page: https://imgur.com/delete/123456

That's because that's the URL which comes back from the API call.
I could add an option to do a string replacement on the URL which comes back, but I don't intend to add any options to this script. It's meant to be as simple as possible.
I could make it always do that string replacement. Are there strong reasons to? HTTPS has a latency hit, but you're then not leaking the URL to networks as the request travels.
Or maybe you could cook up some alias to manipulate the output of the script as it stands.

HTTPS prevents MITM and sniffing attacks. Its percepted overhead is disputed in various sources, see https://istlsfastyet.com/ for example.
At any rate, if returning unmodified Imgur answer is by design, then it's fair enough.

Yes, I think it should continue to return the unmodified result. Perhaps if the API returned both an HTTP and an HTTPS URL I might choose to return the HTTPS one instead. But without it being offered, I don't think it's right to invent it, even though we're pretty sure it's going to be valid.
I think for now if it's important to you you should maintain a fork of the script, or cook up an alias or wrapper script to modify the output for you automatically.

Ah okay, it's your decision and I respect that you're honouring the return results from Imgur. The unfortunate thing is that it means I'm going to have to maintain my own package now instead of having this incorporated into the Arch User Repository, which is fine, but I'm in favour of security everywhere for everyone.
Admittedly MitM on Imgur images is probably not the most pressing concern but it would allow for example governments and ISPs to identify browsing patterns and gather metrics on what you're doing, what you like, etc. HTTPS is a means of preventing this.
I'll maintain my own fork and create my own package for it then.
Thanks.

Hmm, I do agree with you on all of that. I'll make another request to
imgur. They should really be returning the https or both.

I've looked over the code again. On remembering that I invent the URL for the delete page from the a hash given by the API, I've changed my mind.

HTTPS URLs are now returned as of v7.

At some point in the ensuing years, the API has changed to now give back an HTTPS URL, so I've now removed the little filter which upgraded http to https.