[google_maps_flutter] Switch app-facing package to new analysis options

Switches from legacy analysis options to current analysis options,
fixing all analysis issues it exposed.
Part of https://github.com/flutter/flutter/issues/76229
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

We do not want custom analysis rules in flutter/plugins. See https://github.com/flutter/flutter/issues/76229 if you are interested in fixing analysis issues in the maps plugin, as that's the direction we want to go.
If there are things in flutter_lints that aren't in the repository settings, we should evaluate adding them there so the apply to all code.

@stuartmorgan
Does it mean I update the all 3 packages in https://github.com/flutter/plugins/tree/main/packages/google_maps_flutter?
Since custom_analysis.yaml has entire google_maps_flutter, not just its example
I found that i need update interface package too since just migrating google_maps_flutter causes the tests to fail as it expects certain types during the test.

Does it mean I update the all the 3 maps packages in https://github.com/flutter/plugins/tree/main/packages/google_maps_flutter?
Since custom_analysis.yaml has entire google_maps_flutter, not just its example

You need to do the entire package, not just the example. You don't need to do all three at once (and ideally shouldn't).

I found that i need to update interface package too since just migrating google_maps_flutter causes the tests to fail as it expects certain types during the test.

I'm not sure what this means. What runtime type changes were you making?

@stuartmorgan
Thanks for the instructions from the issue and notes, I am excited for this project.
I am entirely sure, I will do careful testing to be sure and update individual packages.
Here one example of such error, analyzer is fine  in google_maps_flutter but test still fails, probably because i have assigned types to quite few maps in the codebase
00:05 +2 -64: /Users/tahatesser/AndroidStudioProjects/plugins/packages/google_maps_flutter/google_maps_flutter/test/google_map_test.dart: Can update zoomGesturesEnabled
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following PlatformException was thrown running a test:
PlatformException(error, type 'Null' is not a subtype of type 'double' in type cast, null, null)

When the exception was thrown, this was the stack:
#0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:177:18)

probably because i have assigned types to quite a few maps in the codebase

If this includes method channel code, you need to be very careful do do the right combinations of as with dynamic and then casting.

@stuartmorgan
Following the instructions, I've made the changes. If it looks fine, I would move to other packages ASAP :)

It looks like this doesn't pass tests currently.

@stuartmorgan
fixed the changelog :)


Nice work! How to solve this error in unity? Thank you!

error: Assets\Scripts\GlobalControl.cs(25,22): error CS0103: The name 'OVRInput' does not exist in the current context

You'll need to add the Oculus Integration package from the Unity Asset Store to the project. I don't redistribute that package due to its license.

You'll need to add the Oculus Integration package from the Unity Asset Store to the project. I don't redistribute that package due to its license.


python311Packages.streamz: fix by adding missing test dependencies

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 310780 run on aarch64-darwin 1

4 packages marked as broken and skipped:

python311Packages.streamz
python311Packages.streamz.dist
python312Packages.streamz
python312Packages.streamz.dist

Result of nixpkgs-review pr 310780 run on x86_64-darwin 1

4 packages marked as broken and skipped:

python311Packages.streamz
python311Packages.streamz.dist
python312Packages.streamz
python312Packages.streamz.dist

Result of nixpkgs-review pr 310780 run on aarch64-linux 1

4 packages built:

python311Packages.streamz
python311Packages.streamz.dist
python312Packages.streamz
python312Packages.streamz.dist

Result of nixpkgs-review pr 310780 run on x86_64-linux 1

4 packages built:

python311Packages.streamz
python311Packages.streamz.dist
python312Packages.streamz
python312Packages.streamz.dist


Continuous loading indicator is shown when a user proceeds for payment after navigating back from Enter PIN screen by tapping on < arrow.

Frequency: 100%
Repro on build version:  v1.6.0(1004294326)  and Test Flight build v1.6.0(37)
Repro on devices: iPhone SE 2 (14.2) , Google Pixel Xl (8.1)
Testing Account:<PHONE_NUMBER>/ Backup Key
Repro Steps:

Launch the application & login with a test account.
Tap on Send button.
Tap on any contact user.
Enter an amount tap on review button.
Tap on Send button.
Make sure the Enter PIN screen is shown.
Tap on < Arrow from Enter PIN screen
Tap on Send button again and observe.

Current Behavior:  Continuous loading indicator is shown
Expected Behavior:  User should be able to do payment
Impact: User is blocked to payment when navigate back from Enter PIN screen
Investigation: Issue does not repro after kill and relaunch the app
Attachment:  BackbuttonIssue.mp4 (https://drive.google.com/file/d/13qSIRTJGkHhEzLx7fhHFlSQPtbmV-Khu/view?usp=sharing) (Bug Observe at  10 sec )

Hi I have verified this issue using latest Appstore build V1.15.2 & Android Internal Build V1.15.2 and found issue is fixed so, closing this ticket.
Verified on Devices: iPhone 6+(12.4.5), Vivo v11 pro (10)


TransferManager.download fails when file has zero bytes

It seems that if I attempt to download a file using a target filename, if the downloaded file has a size of zero bytes, an exception is raised.
import boto3, s3transfer.manager
c = boto3.client('s3')
mgr = s3transfer.manager.TransferManager(c)
f = mgr.download('test-bucket', 'zero-byte-file', '/tmp/zero-byte-file.download')
f.result()

raises:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "../venv/lib/python2.7/site-packages/s3transfer/futures.py", line 71, in result
    return self._coordinator.result()
  File "../venv/lib/python2.7/site-packages/s3transfer/futures.py", line 220, in result
    raise self._exception
OSError: [Errno 2] No such file or directory

I think this is caused by DeferredOpenFile. _open_if_needed is never being being called since the file is zero-bytes, and there is no attempt to write to the file. And since the file is never opened, it is never created. Then when the file is renamed, it cannot be found.
This does not appear to happen in version 0.1.4. Version 0.1.4 does not appear to have been using the DeferredOpenFile class for DownloadFilenameOutputManager

Yeah we just started noticing this as well. This PR: https://github.com/boto/s3transfer/pull/65 should fix it.

The PR got merged so it will be available in the next release of s3transfer.

Great. Thanks!


Support for custom roulette elements

Hi. I'd really like to see support for custom roulette spinning elements. Overall the package is great and many thanks for it, but I'm really missing this feature, if you don't have plans on implementing this I guess I'll have to modify it myself :(

Hello, @pahas! Thank you for your interest in this package.
I have an idea to make a custom render function for the roulette elements.
It'll look something like this:
<RoulettePro
renderFunction={({ id, image, text }) => (
  <div key={id}>
    {/* Your custom element here */}
  </div>
)}
/>

I'll implement it soon. Approximately on the weekend.
Thank you for your support.

And by the way. You can modify this package whatever you want because it is under the MIT license.

🥳 React Roulette Pro 1.3.0 is released 🥳
New props:
prizeRenderFunction - a function that renders your roulette prize items. Customize your prize items as you need.
prizeWidth - a prize width in px.
Examples are in the AdvancedUsage.js
I hope it'll help you. If I can make something else just let me know.
Thank you for your support. I really appreciate it!

Thanks, I have been playing myself with this package for some time and almost got what I needed. BTW I meant more raw solution for prizes, because I use my own React element for the prize cards, the API doesn't kinda suit me, but I made some modifications for myself so it's ok.
Also, would you ever be interested in implementing something like current center element highlighting or when the roulette ends, make the card bigger. I'll attach an example design so you can understand. (the center gray card)

Your idea looks interesting. I’ll play with it tomorrow and let you know. Thank you!

About something like current center element highlighting.
You can highlighting the center element by using box-shadow.

About make the card bigger when the roulette ends.
It's possible to make it with useRef. We can add a ref to the prize item that should win and when the roulette stop spinning add some styles like transform scale. I've added your idea to my implement list it but It won't be implemented soon because it requires architecture change and I'll do it when I have enough time.
If you have any more ideas or questions just write them. I'll try to help!

Okay, but do you have any idea how to keep center element highlighted? I guess that's what requires arch changes?

To keep center element highlighted when the roulette spinning you should add something like this:
.roulette-pro-prizes-container::after {
  content: "";
  width: 200px;
  height: 234px;
  background-color: transparent;
  position: absolute;
  z-index: 999;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(calc(-50% + 4px));
  margin: auto;
  /* box-shadow: 0 0 50px 20px royalblue; */
  border: 3px solid royalblue;
  overflow: hidden;
}

But when the roulette stop spinning this border is still active.

How to fix:
// Outside the component
const css = document.createElement('style');
css.textContent = `
.roulette-pro-prizes-container::after {
  content: "";
  width: 200px;
  height: 234px;
  background-color: transparent;
  position: absolute;
  z-index: 999;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(calc(-50% + 4px));
  margin: auto;
  border: 3px solid royalblue;
  overflow: hidden;
}
`;

// Inside the component
const [showBorder, setShowBorder] = useState(true);

  const handlePrizeDefined = useCallback(() => {
    console.log('🥳 Prize defined! 🥳');

    setShowBorder(false);
  }, []);

  useEffect(() => {
    if (!showBorder) {
      return document.head.lastElementChild.remove();
    }

    document.head.appendChild(css);
  }, [showBorder]);

If you want to highlight the element after the roulette stop spinning:
// Inside the component
const [highlight, setHighlight] = useState(false);

  const handlePrizeDefined = useCallback(() => {
    console.log('🥳 Prize defined! 🥳');

    setHighlight(true);
  }, []);

  useEffect(() => {
    if (!highlight) {
      return;
    }

    const element = document.querySelector(
      `.roulette-pro-prize-item:nth-child(${prizeIndex + 1})`,
    );

    const currentStyle = element.getAttribute('style');
    element.style = `
      ${currentStyle}
      position: relative;
      z-index: 999;
      box-shadow: 0 0 50px 20px royalblue;
    `;
  }, [highlight, prizeIndex]);

Is this what you are looking for?

Initially I thought about something like when the roulette is spinning, element which shows up in center should be bigger for few milliseconds, but now I guess generally this isn't a good practice and my design has changed. Thanks anyways for efforts! I'll close the issue now


Fetch from origin before trying to switch channels

Cirrus's image appears to have changed the Flutter checkout configuration to only pull the specific version's tag, which breaks flutter channel, so before switching channels we restore a fetch-all cofiguration, and then fetch all the branches.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[ ] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

It appears that whatever out-of-band change (new image, presumably, although we haven't changed our Dockerfile so I'm not sure why that would have happened) caused this is also causing failures in Android tests. I'm going to land this since being able to run tests is an improvement, and then we can investigate these failures next.


[Rule] No arguments with undefined default

In our codebase, I sometimes run into the following pattern:
*** Keywords ***
My Amazing Keyword
    [Arguments]    ${foo}=
    # ...

Here, the ${foo} variable is optional, but without defining a default value. In practice ${foo}= is equal to ${foo}=${EMPTY}, but this is unclear behavior.
I would like to add a rule to prevent this pattern. It could be called no-undefined-argument-default. The way to fix a rule violation is to explicitly add ${EMPTY}.
Please let me know if you are interested in this rule. If you are, I can write it myself.

It sounds like a good addition. How about naming it undefined-argument-default? We would want to point to the problem (like 'line-too-long') rather than what we want to achieve (line-should-be-short).

Yeah that name sounds good to me :)


OBJ texture coordinates can have 3 elements

According to the OBJ specification, the vt element may have up to 3 elements.
If the 3rd is missing it defaults to 0.
The current callback API only returns 2 coordinates: void (*texcoord_cb)(void *user_data, float x, float y);

Ah, I see.
Also, according to the .obj spec, vertex coordinates can have w element(default = 1). So I have added support for these.

Thanks!
(ref: commit)


Add guard against out-of-bounds work group sizes

This CL adds a guard against out-of-bounds work group sizes.
I've updated samples as well.
@Kangz PTAL

@petele Please merge and push live.


vulnerability color error

v1.1.2-564-g9582637
it seems that the medium use yellow and low use orange

@lweitzman
Any suggestions?

see #2908

Duplicated with #2908


I need major help

Describe your problem here.
?????
https://user-images.githubusercontent.com/128989598/228001329-1d66165b-44e6-4640-b4ab-2c74d2ed6411.mp4
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
I added a stage and added win icons and renamed the achievement HighScore to pixel perfect

Here, run this:
haxelib install lime haxelib install openfl haxelib install flixel haxelib install flixel-addons haxelib install flixel-ui haxelib install hscript haxelib install newgrounds haxelib install flixel-tools haxelib run flixel-tools setup haxelib run lime setup flixel haxelib git polymod https://github.com/larsiusprime/polymod.git haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc haxelib git flixel-addons https://github.com/HaxeFlixel/flixel-addons
When I ran this for the first time and then tried the build .dat files, it worked.

Here, run this:
haxelib install lime
haxelib install openfl
haxelib install flixel
haxelib install flixel-addons
haxelib install flixel-ui
haxelib install hscript
haxelib install newgrounds
haxelib install flixel-tools
haxelib run flixel-tools setup
haxelib run lime setup flixel
haxelib git polymod https://github.com/larsiusprime/polymod.git
haxelib git discord_rpc https://github.com/Aidan63/linc_discord-rpc
haxelib git flixel-addons https://github.com/HaxeFlixel/flixel-addons

When I ran this for the first time and then tried the build .dat files, it worked.

thank you so much

Yw, I got it from a separate engine


Evaluate if we can move away from high privilege SCCs

There is a cloudpaks requirement to use the restricted Red Hat SCC everywhere. The assessment process promotes the principle of least privilege where we only use the permissions that the product needs and nothing else. At this point, we need some pretty high privilege so we define our own SCC to fit that need.
Possible solution : I don't know if the product will be able to function without privileged SCCs but we will also be evolving over time. We need to determine if it is possible to function with less privileged SCCs, or even the Red Hat Restricted SCC. If we determine that we cannot, then we should request a permanent exception with the justification that we cannot satisfy that requirement due to architectural constraints.

Investigate if we can have all non root container for CSI

Consolidating under one issue. Duplicate of https://github.com/IBM/ibm-spectrum-scale-csi/issues/457


ShouldAllBeEquivalentTo with Including still compares all properties

The recent version broken a lot of our tests due to the fact that ShouldAllBeEquivalentTo with Including still compares all properties and not only that specified in equivalency options:
public class MyClass
{
    public string A { get; set; }
    public string B { get; set; }
}

[TestMethod]
public void Test ()
{
    // arrange
    var result = new[] { new MyClass { A = "aaa", B = "bbb" } };

    // assert
    var expected = new MyClass
                    {
                        A = "aaa",
                        B = "ccc"
                    };

    result.ShouldAllBeEquivalentTo (new[] { expected },
                                    options => options.Including (x => x.A));
}

Got:
Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException: Expected item[0].B to be "ccc", but "bbb" differs near "bbb" (index 0).

With configuration:
- Use declared types and members
- Compare enums by value
- Select member Bug.Tests+MyClass.A
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- FluentAssertions.Equivalency.ShouldAllBeEquivalentToHelper+CollectionMemberOrderingRuleDecorator

Thanks for reporting that. I'll try to look at that tonight. Sounds like a pretty serious bug. We must be missing a unit test if that is true.

Might be caused by the same reasons that caused #194.

Yes, we're missing a couple of unit tests...

@vossad01 Do you remember the purpose of this construction?

I would need to dig into the code to give a more precise answer, which I can to tonight if you need.
The just of it was because of ordering of the rules.  Previously, the rules were added immediately which required some methods to clear the collection or rules or remove specific ones.  As I introduced more ways to interact with those rules, the clearing logic seemed a little odd and wanted to impose a invocation order dependency on the methods.
The boolean is used to defer inserting of the standard rules until all other configuration is completed so the configuration did not need to concern itself with preserving them.  Strangely, in searching that file it appears the boolean is no longer used?

It is used, but I suspect you're changes and my introduction of a global options class is not working together. The boolean is now evaluated multiple times.

Pfew, that was a tricky one.


Dropdown: White text on white background.

Text color is inherited by parent wich results in white text on white background when parent has class .bg-dark
<div class="bg-dark">
   <ngg-dropdown
          [(value)]="selectedLanguage"
          [options]="languages"
          (valueChange)="setLanguage()"
    ></ngg-dropdown>
</div>

Results in:

Tempfix for our projects is currently:
ngg-dropdown .popover-dropdown ul[role="listbox"] [role="option"] { color: #000; }

Completed in #1016


RC5 introduce a state bug

So this is quite strange and I have not yet debug it reporting first in case there's something obvious.
Now when I switch tabs with my custom tab navigator that keep the tabs states the state is lost on the first switch but not on the future ones.
Like I'm on tab A and scroll down, go to tab B, return to tab A, the screen is reset at top. Do the same again and all future cases do properly keep state, like something is not initialized on first instance creation.
Edit: So confirmed it was added in RC5, will try to figure out, but I hate AS not supporting multiplatform composite builds :(

Huh, that is some weird behavior. I'm not sure how that could have popped up though, the differences between RC4 and RC5 related to tab states is pretty much nothing. Did you possibly combine AndroidScreen and the Tab interface?

Ha yes my tabs are AndroidScreen to support hilt. In all case I'll try to debug next week, just wondering if there was some obvious changes that I should look after for the repro.

Then its probably related to the changes I did for SavedStateHandle, maybe see if ScreenLifecycle.onCreate and ScreenLifecycle.performSave in the LifecycleDisposableEffect is firing correctly. Or maybe somehow navigator.onDispose is firing at some point for some reason.
Since your talking about scroll progress though it shouldnt be related to SavedStateHandle in the first place since that is stored in the lifecycle SaveableState and not the screen one. Im not sure how it would be caused then.

Ok thanks, will enjoy again the pain to debug without composite build support :(

Can confirm the same behaviour @Tolriq described happens in my case with tabs.

Sorry I completely lack time to try to debug that one for the moment :( Too many things to do and not enough time.

Still lack time to fully debug :(
Usage is with:
Navigator(tab, disposeBehavior = NavigatorDisposeBehavior(disposeNestedNavigators = false, disposeSteps = false), onBackPressed = null) { navigator ->

Then in a tab: val lazyGridState = rememberLazyGridState() will no more work when changing tabs. (Still properly works when navigating down then up in the child navigator).
When logging the disposable of the viewmodels nothing seems to be disposed, seems there's some mismatch in data somewhere that break states, probably a side effect of the staved state https://github.com/Syer10/voyager/commit/cc1fcf206f8962e65d97e74d0e92c855972b1cd1 or a race and side effect of https://github.com/Syer10/voyager/commit/e4440e6d435e79bbd5737d23ac4134cc87b46e5e

I'm back to using the main version of Voyager, I am closing all issues because of this.


Contributing with recipe 'OTTO'

Please close this PR, it was created by accident from the Auth0 admin interface.


Visualize category/schema generators as graph

The visualization should

appear in another pane as a derived product
update reactively when the definitions in the notebook change

Is D3 still the standard for this stuff? In the past, I have also used Cytoscape.js, which is more opinionated and specifically focused on graphs.

You can just generate svg with solid in the same way you generate HTML. The only thing that we'd want from an external library is layout, but I think we might want to think about just doing this ourselves, because we may want to lay things out in a different way than graphs for data analysis?

I agree. My current approach in #28 is to:

render the graph as SVG in Solid, like any other component
layout the graph using Graphviz, bundled for the web as Viz.js
cleanly separate these two so that other layout engines can be plugged in


Glowdust Blocks Emit Darkness

Glowdust blocks emit black around them, rather than light.
See Original Discord omment

The same happens with glimmering blackstone

The same happens with glimmering blackstone

This is just how the Minecraft lighting engine works (see Crying Obsidian for an example). This only happens when brightness is set to something low. Possible ways to fix this are removing the light level from these blocks or making them emissive. However, the latter makes them glow at night.

This is just how the Minecraft lighting engine works (see Crying Obsidian for an example). This only happens when brightness is set to something low. Possible ways to fix this are removing the light level from these blocks or making them emissive. However, the latter makes them glow at night.


Text justify weirdness when resizing

Bug Description
Center, right and flush justify weirdness when resizing width of text box
Screenshots
https://docs.google.com/presentation/d/1ZiZWrmLiX40rt3n_1LMSGJxYWI-xsWFsS9bkzdbRIV8/edit?ts=5ec3ef17#slide=id.g77fdc779d5_0_167
Additional Context

Plugin Version:
Operating System:
Browser:

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

this got fixed


Make it possible to specify OLLAMA_HOST url from the command line

I might also add an option to add ollama_host from within the menu too

Yep, this is a good idea. Quick and dirty hack I did was add ollama_url="https://fake-ngrok-address.app" #"http://localhost:11434" to the ollama.py file & replaced all instances of url = f"{ollama_url}/what/ever" with url = f"{ollama_url}/what/ever" FWIW


AxisPanCenter Not Working

Desperately trying for ages to Center the Plot to a specific coordinate.
The code below does not move the Plot.
The coordinates are correct.
VB

C#

Absolutely have no idea what I am missing here.
A workable example in a cookbook would be just great.

You may need to tell the plot control to redraw itself after changing the axis limits like that.
Does this help?
pathPlot.Refresh();

The suggestion does not give the desired result.
However, I have checked my initial plot settings and started changing the parameters there.
And the change shown below did the magic.
Before it was set to True.

However, I don't understand why it is related to not moving in the first place. The graph should move if I am able to zoom and pan manually.
A refresh is not needed because the viewport has moved.
This being solved another issue popped out.
Please look at the picture below and tell me what I need to do to lower the dynamic of Speed Related plotables?
I assume it has something to do with scaling the  Speed Axix. But not sure what exactly to do in order to decrease Y values by 50% for example.

Upss, Refresh is needed. Just discovered. My bad ;-)
When I center a plot to a specific X and Y a Marker is added.

How do I remove all markers without clearing and repopulating the plot?


Improve visualisation of the datashade plots

Right now, the datashaded plots have very fine lines that could be difficult to read when there is a lot of data. Implement a way to allow for:

thickening the lines to improve readability
give the user the ability to highlight a specific line (reserved color?) which would be put on top of all the other lines

Look into datashader.transfer_functions.dynspread or datashader.transfer_functions.spread


Incorrect definition of createIndex function of IDBObjectStore

I'm trying to create a composite index in Indexeddb such as
store.createIndex('user_id,todo_id', ['user_id', 'todo_id'], {unique: true});

but I'm getting an error in the keyPath field due to the createIndex function having the following signature
createIndex(name: string, keyPath: string, optionalParameters?: any): IDBIndex;

I checked the IndexedDB specification on w3.org and it states that keyPath can be a string or an array of strings. Hence, the function should have the following signature:
createIndex(name: string, keyPath: string | string[], optionalParameters?: any): IDBIndex;

PRs are welcomed. here is some documentation on how to submit lib.d.ts fixes: https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md#contributing-libdts-fixes

Great. I'll do it tonight.

The definition of createIndex is in webworker.generated.d.ts. I checked out https://github.com/Microsoft/TSJS-lib-generator. It seems I'll have to change the specification written in browser.webidl.xml in the inputfiles directory of TSJS-lib-generator. Please correct me if I'm wrong.

We should not be changing the specification, we have inputfiles/overridingTypes.json that allows you to override existing declarations when the script runs. @zhengbli can help you more.

Hi @aksharpatel47, you don't have to change the xml file, if you only want your changes to affect webworker.generated.d.ts, you can put a "flavor":"worker" in the added json file. Similar to
https://github.com/Microsoft/TSJS-lib-generator/blob/master/inputfiles/sample.json#L29

Thanks @zhengbli. I'll keep that in mind. However, the changes I propose should be reflected in both the dom.generated.d.ts and webworker.generated.d.ts. I added a createIndex method in the overridingTypes.json. I'm on mac, so ran build.sh. Got an error saying
TSJS-lib-generator/Shared.fsx(419,17): error FS0039: The value, constructor, namespace or type 'distinct' is not defined

I have mono 4.2.1 installed. Can you help me out here.

@aksharpatel47 That's because you are not on F# 4.0, which normally because you are not using mono 4.2+. I tried again on a mac mini using the installer at http://www.mono-project.com/download/alpha/, which builds for me. Do you see 4.2.1 if you run mono --version from terminal?

@zhengbli Yes. 4.2.1 is what's showing up. I installed it through homebrew. I'll remove it and try to install using the universal installer on the link you just shared.


Scanning QR code with device camera and opening with Gmail or K9 app renders the user's information (passwords) visible

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
8.0b2
Where did you get the app from?
Google Play
Android version
14
Device model
Galaxy Tab a9+
Steps to reproduce

Generate QR code in TB desktop. (make sure "include all accounts passwords" option is checked")
Scan the QR code with device's Camera app.
Open generated QR code with either K9 or Gmail app.

Expected behavior
I would expect that opening with any other applications (other than TB) should not be possible.
Actual behavior
Opening the generated QR code with either K9 or Gmail apps render the users information(passwords included) to be visible in a new mail template.
This issue is related to https://github.com/thunderbird/thunderbird-android/issues/8290
Logs
https://github.com/user-attachments/assets/7975f372-a24c-49a8-9ba1-3e46c747a475

The format we've chosen doesn't keep other applications from viewing them. There are sufficient warnings on desktop not to expose the QR code to others. I think what we could consider in the future is changing the QR code pattern to an URL that starts with net.thunderbird.android:// and creates a deep link to import the QR code. This will require some backwards incompatible changes and is a little more complicated, so I think we'll need to postpone this until after the release.


[REQ] Indonesia site IndihomeTV

https://www.indihometv.com/tvod/{channel} (lack of indihometv epg site only 1 day)
example https://www.indihometv.com/tvod/transtv

🗿

Please feel free to raise a PR https://github.com/akmalharith/epg-grabber/blob/main/CONTRIBUTING.md


Add depth bias to wireframe sample

As was pointed out by @rconde01 in the matrix chat, the wireframe sample suffers from Z fighting that gives the wireframes a very aliased, sparkly appearance. This PR adds an adjustable depthBias and depthBiasSlopeScale slider that can be used both to improve the appearance of the wireframe and help visualize for users the effect those values have.
Before:

After:

Bias is applied to the lit mesh rather than the wireframe because apparently line and point primitives don't consider depth bias when rendering! Didn't know that previously. I've also added a checkbox to pause the scene's animation, as I found that helpful when specifically looking for the effects of the depth bias.

This is great! I actually tried adding that too and when I didn't see a difference I gave up for a while. I'm glad you figure out why it wasn't working for me.
Can you fix up the lint issues

Done!


Added ViewRegistration Class

Utility to easily register complete view modules with custom params

Hope you find some interest in this utility.
I was Registering a lot of Views with the same params later on so that's why I did this utility

Coverage decreased (-2.5%) to 95.631% when pulling 0c2862a9af206fd523416d6716e66d55d2bdf66a on janscas:develop into 5eb9ed71f22ae579eba3c96f0c9d1d94f4f4459b on teracyhq:develop.

@hoatle I don't have the time for the moment. I'll maybe in the future. Thanks.

let's close this PR for now until we get a better one.


h2ogpt with a proxy server and document translation

Hello, I have an openai model proxy server, how should I use h2ogpt with my proxy server?Thanks！
In addition, I would like to ask if h2ogpt supports document translation?

One can do translation for a given model.  See src_lang and tgt_lang options for models like mbart- types.


221 response codes

Description
Support custom response code for these response_from targets:

[x] Kafka
[x] HTTP async
[-] NATS - won't implement as HTTP -> NATS is not implemented and don't want to fiddle around with NATS -> NATS
[-] Kinesis - won't implement as HTTP -> Kinesis is not implemented and don't want to fiddle around with Kinesis -> Kinesis

What to look out for
Dear reviewer, I want you to

gain knowledge - I think it's important for you to know about the change.
check that the code works on your machine.
suggest implementation-code design/structure/readability improvements.
suggest test-code design/structure/readability improvements.
suggest documentation improvements.
suggest language/writing improvements.
help to find bugs (described below!).

Hint: remove anything you don't need and use @ mentions for "assigning" tasks to different people

Hint: if you find yourself adding the same "task" more than once, consider adding it to the pull-request template.

Process
The goal is to improve not only the code in this PR but also our skills! The "rules":

The review is considered "done" as soon as all reviewers have added their review, and all their comments have been addressed.
For knowledge-sharing reviews, each reviewer should "approve" the PR after studying its content.
After the approval, the merge is concluded by the developer.

Have fun!

@kevinbader still have to do some testing and probably missed some places to update, but you can already give it a shot.


Terminal colors do not persist after switching from tiling to floating in an editor

Terminal colors do not persist after switching from tiling to floating in an editor.
System
OS: Arch Linux
Version: alacritty 0.4.0
Linux/BSD: X11, i3-gaps, compositor: picom
Steps to reproduce:

printf "\e]4;1;rgb:ff/00/ff"
run nano
resize the window
exit nano (discard changes)

Can you reproduce this issue in a different terminal emulator?
It sounds like your editor might just be resetting the terminal colors, though I'm not 100% sure I understand the exact steps you're taking.

Does not happen in Konsole

Here's a gif demonstrating

If the change in tiling mode and nano required? I think simplifying the repro for this would likely be very helpful.
It seems strange to me that resizing would have anything to do with it.

Also it might be worth it to test with just printf "\e]4;1;rgb:ff/00/ff", instead of running the full pywal script. That should probably help make this repro even less complex.

That works too

Looks like an issue with nano, if you run TERM=xterm-termite for example this will not happen in Alacritty.
So it seems like nano is just telling Alacritty to reset its colors and Alacritty obviously complies. So this would have to be fixed in nano I'd assume.

I wonder if you can repro with TERM=alacritty in konsole.

I was able to reproduce with TERM=alacritty in URxvt, so I'd assume so.
Testing Konsole is tough because it's so massive, but the behavior was consistent between Termite, Alacritty and URxvt. I'd assume that's the same for Konsole.

I was able to reproduce with TERM=alacritty in URxvt, so I'd assume so.

Testing Konsole is tough because it's so massive, but the behavior was consistent between Termite, Alacritty and URxvt. I'd assume that's the same for Konsole.

@chrisduerr Yeah, it's enough,I guess.
Just OP mentioned Konsole, so I mentioned it.

Would it be possible for you guys to add something in config like script/command to run after resize?

@Cubxity we've generally avoided too much user scripting so far, however I can see the desire for some hooks to added. For example #1528 is talking about a possible bell_command. However, I'd want to be careful to avoid adding an <event>_command for every event we process though.
This specific issue does seem better fixed by nano itself, since I can't reproduce it at all with vim. I could however get nano to stop doing this by running with env TERM=ansi nano, so depending on you use case you may be happy with that.

We will never support running scripts on resize, that just doesn't sound like a great idea at all.
But yeah, generally I'd say if you're really frequently running into this, you probably might want to look into some nicer terminal editors anyways.
If it's just about the occasional accidental nano opening, a good idea would be to just alias nano to run under a different terminfo, that should solve the issue and is basically what other terminal emulators do.


Microsoft Login causes white screen (of death)

When attempting to make a custom frame for Canvas, my school's online class portal, it attempts to login with Microsoft and results in a white screen. My school's site is https://usflearn.instructure.com, but the same error can be seen by going to https://www.outlook.com and pressing 'Sign in'.

Unsafe attempt to initiate navigation for frame with origin 'app://obsidian.md' from frame with URL 'https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1648582097&rver=7.0.6737.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1%26RpsCsrfState%3d85b474ae-4021-9bbb-74c5-a264c2f1ef84&id=292841&aadredir=1&CBCXT=out&lw=1&fl=dob%2cflname%2cwld&cobrandid=90015'. The frame attempting navigation of the top-level window is sandboxed, but the flag of 'allow-top-navigation' or 'allow-top-navigation-by-user-activation' is not set.

Unsafe attempt to initiate navigation for frame with origin 'app://obsidian.md' from frame with URL 'https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1648582097&rver=7.0.6737.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1%26RpsCsrfState%3d85b474ae-4021-9bbb-74c5-a264c2f1ef84&id=292841&aadredir=1&CBCXT=out&lw=1&fl=dob%2cflname%2cwld&cobrandid=90015'. The frame attempting navigation of the top-level window is sandboxed, but the flag of 'allow-top-navigation' or 'allow-top-navigation-by-user-activation' is not set.

DevTools failed to load source map: Could not load content for https://logincdn.msauth.net/shared/1.0/content/js/oneDs_cf88713273157e0b2931.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

What version of the plugin are you on? This issue should have been fixed in 2.2.0.

... and I just realized that this plugin says it requires 0.14.3, not 0.14.2. I'm on 2.1.0. Guess I have to wait longer. Thanks for making this, am excited to have everything in Obsidian


quickopen: file url

Action: "Go to file..." (workbench.action.quickOpen)
Example query: /etc/hosts
Result: found "file results"
Example query: file:///etc/hosts
Result (expected): found "file results"
Result (actual): "No matching results"
P.S. I often copy file:// urls from chrome to open them in vscode

@microsoft-github-policy-service agree


Supertoken

@galenriley Here is my interpretation of supertokens it returns the tickets/receipts and errors.. also checks for expo_experiance on initial post when giving notification access in app.. then also checks to verify that the tokens has a valid expo_expereance as the pusher. Code to delete bad tokens for database is currently commented out, for testing but can be uncommented to clean up database.
If there are question ask them here before merging in

currently returns
return res.json({       feedItem,       receipts: tickets,       errors,     });
this can be returned but earlier it sounded like you wanted receipts and errors to be returned


Use Product API for C language targets

Depends on https://github.com/apple/swift-package-manager/pull/387 merge.
This is the last piece of puzzle after which the C language in Test targets can be supported.

Can you explain at a high level what this resolves? Is it just that it allows declaring products for C language targets, or is it something more fundamental?
The entire products API never really went through a design process, and as your commits note in this case we have to create a library for Swift interoperability to do what we want. So I want to understand how this fits into the larger scheme of things.

This will resolve two things -

Allow user to declare products for a C language target. (This will currently only work for executables and dynamic libraries, will abort for other cases.)
Decouple the compiling and linking of ClangModules.

Since we have to always create a dynamic lib, we can use the product API internally to always create dylibs along with user defined products for eg a static lib.
Then for tests we can probably link all the clang modules (which are tests) together to create a single dylib or create different dylibs for each. Either way this will give us flexibility.

Ok, sounds reasonable to me. I'm still not sure how this all should be organized, but this at least seems to make the code base more consistent w.r.t. where this is handled.

@swift-ci please test

@swift-ci please test linux

@swift-ci please test linux

@swift-ci please test


Model upload (#43)

add user_agent to api calls:
https://b.corp.google.com/issues/308599041

The diff base is also off for this PR and includes all the changes an older branch of #43.


Crash after switching to GLES2

Godot version: 3.1.alpha.official
OS/device including version:
uname -a:
Linux caladan 4.18.0-0.bpo.1-amd64 #1 SMP Debian 4.18.6-1~bpo9+1 (2018-09-13) x86_64 GNU/Linux
From Godot start:
OpenGL ES 2.0 Renderer: Gallium 0.4 on AMD POLARIS11 (DRM 3.26.0 / 4.18.0-0.bpo.1-amd64, LLVM 3.9.1)
Issue description:
I have a little project started in Godot 3.0.6.stable.official.8314054 for which I wanted to try out the GLES2 renderer in Godot 3.1. When initially importing the project into Godot 3.1, everything is fine, but when I try to switch to the GLES2 renderer and Godot restarts, it just crashes.
Here's the verbose console output generated by the process described above using the MRP provided:
XInput: No touch devices found.
Using GLES3 video driver
OpenGL ES 3.0 Renderer: Gallium 0.4 on AMD POLARIS11 (DRM 3.26.0 / 4.18.0-0.bpo.1-amd64, LLVM 3.9.1)
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
CORE API HASH: -501260181312971940
EDITOR API HASH:<PHONE_NUMBER>175596956
Loading resource: res://.config/godot/editor_settings-3.tres
EditorSettings: Load OK!
EditorSettings: Save OK!
Editing project: /home/tcrass/devlp/games/godot/viewporttexture_test31 (::home::tcrass::devlp::games::godot::viewporttexture_test31)
EditorSettings: Save OK!
OpenGL ES 3.0 Renderer: Gallium 0.4 on AMD POLARIS11 (DRM 3.26.0 / 4.18.0-0.bpo.1-amd64, LLVM 3.9.1)
WARNING: _get: Property not found: _global_script_class_icons
    At: core/project_settings.cpp:194.
tcrass@caladan:~$ WARNING: cleanup: ObjectDB Instances still exist!
    At: core/object.cpp:2081.
    OpenGL ES 2.0 Renderer: Gallium 0.4 on AMD POLARIS11 (DRM 3.26.0 / 4.18.0-0.bpo.1-amd64, LLVM 3.9.1)
handle_crash: Program crashed with signal 11
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x33060) [0x7f897cf1d060] (??:0)
[2] [0xa2d16c0] (??:0)
-- END OF BACKTRACE --

Expected behaviour: The problem should render just fine using GLES2.
Steps to reproduce:
Open the attached MRP with 3.1.alpha.official and try to switch to GLES2.
Minimal reproduction project:
Attached as tar.gz file.
viewporttexture_test.tar.gz

For Win10 64-bit version in commit ee858d0d85123de004c85131914e1f421e7f06ab
I got this error prompt when following your steps.

Testing on Linux (Mageia 7, Nvidia GTX 670MX with driver 410.66) and 955a913, switching to GLES2 works fine for me, the editor restarts with the project properly loaded in GLES2 mode.
But then trying to run the GLES2 project triggers a segfault:
[1] /lib64/libc.so.6(+0x3a120) [0x7f1720800120] (??:0)
[2] RasterizerSceneGLES2::_render_geometry(RasterizerSceneGLES2::RenderList::Element*) (/home/akien/Projects/godot/godot.git/drivers/gles2/rasterizer_scene_gles2.cpp:1583)
[3] RasterizerSceneGLES2::_render_render_list(RasterizerSceneGLES2::RenderList::Element**, int, Transform const&, CameraMatrix const&, RID, RasterizerSceneGLES2::Environment*, unsigned int, float, float, bool, bool, bool) (/home/akien/Projects/godot/godot.git/drivers/gles2/rasterizer_scene_gles2.cpp:2356 (discriminator 2))
[4] RasterizerSceneGLES2::render_scene(Transform const&, CameraMatrix const&, bool, RasterizerScene::InstanceBase**, int, RID*, int, RID*, int, RID, RID, RID, RID, int) (/home/akien/Projects/godot/godot.git/drivers/gles2/rasterizer_scene_gles2.cpp:2620)
[5] VisualServerScene::_render_scene(Transform, CameraMatrix const&, bool, RID, RID, RID, RID, int) (/home/akien/Projects/godot/godot.git/servers/visual/visual_server_scene.cpp:2120)
[6] VisualServerScene::render_camera(RID, RID, Vector2, RID) (/home/akien/Projects/godot/godot.git/servers/visual/visual_server_scene.cpp:1695 (discriminator 2))
[7] VisualServerViewport::_draw_viewport(VisualServerViewport::Viewport*, ARVRInterface::Eyes) (/home/akien/Projects/godot/godot.git/servers/visual/visual_server_viewport.cpp:65)
[8] VisualServerViewport::draw_viewports() (/home/akien/Projects/godot/godot.git/servers/visual/visual_server_viewport.cpp:308)
[9] VisualServerRaster::draw(bool, double) (/home/akien/Projects/godot/godot.git/servers/visual/visual_server_raster.cpp:107 (discriminator 2))
[10] VisualServerWrapMT::draw(bool, double) (/home/akien/Projects/godot/godot.git/servers/visual/visual_server_wrap_mt.cpp:104)
[11] Main::iteration() (/home/akien/Projects/godot/godot.git/main/main.cpp:1862)
[12] OS_X11::run() (/home/akien/Projects/godot/godot.git/platform/x11/os_x11.cpp:2817)
[13] /home/akien/Projects/godot/godot.git/bin/godot.x11.tools.64(main+0xb9) [0x117073b] (/home/akien/Projects/godot/godot.git/platform/x11/godot_x11.cpp:56)
[14] /lib64/libc.so.6(__libc_start_main+0xeb) [0x7f17207ea02b] (??:0)
[15] /home/akien/Projects/godot/godot.git/bin/godot.x11.tools.64(_start+0x2a) [0x11705da] (/home/iurt/rpmbuild/BUILD/glibc-2.28/csu/../sysdeps/x86_64/start.S:122)
-- END OF BACKTRACE --


How does well-known challenge work with default nginx.tmpl?

So I'm trying to migrate from https://github.com/dmp1ce/nginx-proxy-letsencrypt. I've built separate docker-gen and nginx containers. All works well, except the LE client can't validate my hostnames by serving the challenge-response from /usr/share/nginx/html
In the nginx template used in nginx-proxy-letsencrypt (https://github.com/dmp1ce/nginx-proxy-letsencrypt/blob/master/nginx.tmpl), I found the following:
location /.well-known/ {
	root /usr/share/nginx/html;
	try_files $uri @proxy_pass;
}

But there's no equivalent config in https://github.com/jwilder/nginx-proxy/blob/master/nginx.tmpl, as highlighted in your instructions.
As a result (I think), incoming challenges are served with a default http->https redirect to the proxied container, and the validation fails.
Is this expected, or have I missed a step somewhere? :)
Thanks!
D

Think I figured it out, submitted pull request:
https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion/pull/64
D

This doesn't need to be (and shouldn't be) in the nginx.tmpl as we want it to stay stock.  The companion container provides this functionality via the vhosts.d/default entry.
M.

Closed. See #64

Ah, thanks for the explanation. I'd managed (during the process of fiddling about) to start my 3 containers out-of-order, which meant that the nginx volume mounts didn't work, thus my problem.


Epic: Data Path Performance

This serves as the general thread for performance-related discussion in Longhorn.

@yasker do you have any benchmark number to share? I only see this from Internet https://itnext.io/state-of-persistent-storage-in-k8s-a-benchmark-77a96bb1ac29 it seems longhorn is not impressed with performance.

@liyimeng We're still working on optimizing the performance. But that article is not quite apple to apple since it's comparing Longhorn (who is crash-consistent and sync to multiple replicas) with others are either cached (e.g. without O_DIRECT) or async (Piraeus) or not replicated (1 replica). So the more valid case in comparison for that picture is more like this: Longhorn vs OpenEBS vs Piraeus  - 2 replicas and O_DIRECT. Also, by default Longhorn is using 3 replicas, so I am not sure if the author tweaks that too.
Nonetheless, Longhorn is not the fastest in the group. And we're aiming to change that.

@yasker thanks for sharing the info and the awesome work!

@yasker this seems impressive. Dose longhorn have any plan to adapt this? They have learned the architecture from longhorn, is it time for longhorn to take some good bit from them?

We already have SPDK (which is what Mayastor is using for frontend) on our roadmap for v1.2 release.

@yasker super exciting 👍

@yasker do you have metrics comparing longhorn vs ceph performance, we have almost decided to use longhorn but after reading the blogpost from longhorn on the IOPS hit that one has to take compared to bare metal disk we started exploring other options

bump

https://storageos.com/wp-content/uploads/2021/02/Performance-Benchmarking-Cloud-Native-Storage-Solutions-for-Kubernetes.pdf
Seems there’s been some competitor performance testing, clearly will be skewed to their product. Of note though is in conclusion section, where longhorn misses a trick with local caching and read from memory.

Hi @yasker,
We are currently evaluating, if we can switch to a distributed storage solution for our Rancher vSphere clusters to replace the native vsphere storage (currently using in-tree as vsphere is < v7), which - at times - is quite flunky.
Some of the deployments we have are unfortunately very I/O sensitive, so I am trying to figure out how much of a decline in performance we will have. This is why I am running some performance tests comparing local-path/vsphere (which have pretty much identical performance) with longhorn v1.2 and rook-ceph v1.7.2.
To be honest, I don't understand the results I am getting, as they are very bad on the distributed storage side (for both longhorn and ceph), so maybe I am doing something wrong?
For benchmarking I mostly relied on the https://github.com/yasker/kbench test, but also did some general iperf / dd steps to establish a baseline.
BASELINE:
iperf over 60s:
~ 5 GBit (best-case, for communication between two nodes on the same physical host)
~ 900 MBit (worst-case, for communication between two nodes on different physical hosts)
dd if=/dev/zero of=here bs=1G count=1 oflag=direct
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 4.20552 s, 255 MB/s
From those results I presumed, that the default 30GB PVC of kbench should be more than sufficient to avoid cache (5 GBit * 25 = ~15.6 GB)
kbench standalone results for local-path / vsphere in-tree kbench (average of 5 runs) are as follows:
IOPS (Read/Write)
  Random:   1204 / 22010
  Sequential: 7960 / 22099
  CPU Idleness: 70%

Bandwidth in KiB/sec (Read/Write)
  Random: 144,463 / 495,160
  Sequential: 722,922 / 636,442
  CPU Idleness: 75%

Latency in ns (Read/Write)
  Random: 14,326,507 / 397,082
  Sequential: 1,289,344 / 377,331
  CPU Idleness: 74%

I then compared vsphere/longhorn vsphere/ceph and longhorn/ceph, where both distributed system were configured to keep 3 replicas spread over multiple physical hosts (worst BW scenario):
================================
FIO Benchmark Comparsion Summary
For: vsphere vs Longhorn
SIZE: 30G
QUICK MODE: DISABLED
================================
                              vsphere      vs                 Longhorn    :              Change
IOPS (Read/Write)
        Random:           1,467 / 24,981   vs              811 / 1,443    :   -44.72% / -94.22%
    Sequential:          10,556 / 25,520   vs            3,811 / 2,795    :   -63.90% / -89.05%
  CPU Idleness:                      72%   vs                      48%    :                -24%

Bandwidth in KiB/sec (Read/Write)
        Random:        142,946 / 483,583   vs          69,222 / 27,082    :   -51.57% / -94.40%
    Sequential:        717,757 / 646,241   vs         100,296 / 30,402    :   -86.03% / -95.30%
  CPU Idleness:                      78%   vs                      45%    :                -33%

Latency in ns (Read/Write)
        Random:     17,399,691 / 318,467   vs   16,328,140 / 4,767,117    :   -6.16% / 1396.90%
    Sequential:      1,590,285 / 321,547   vs    3,744,054 / 4,509,962    :  135.43% / 1302.58%
  CPU Idleness:                      78%   vs                      66%    :                -12%

================================
FIO Benchmark Comparsion Summary
For: vsphere vs ceph
SIZE: 30G
QUICK MODE: DISABLED
================================
                                 vsphere   vs                     ceph    :              Change
IOPS (Read/Write)
        Random:             967 / 21,653   vs                777 / 886    :   -19.65% / -95.91%
    Sequential:           8,520 / 20,253   vs                702 / 763    :   -91.76% / -96.23%
  CPU Idleness:                      69%   vs                      62%    :                 -7%

Bandwidth in KiB/sec (Read/Write)
        Random:        148,331 / 477,384   vs          79,271 / 36,099    :   -46.56% / -92.44%
    Sequential:        763,028 / 567,657   vs         113,277 / 30,039    :   -85.15% / -94.71%
  CPU Idleness:                      64%   vs                      63%    :                 -1%

Latency in ns (Read/Write)
        Random:     11,390,927 / 421,355   vs 24,575,176 / 348,190,854    : 115.74% / 82535.98%
    Sequential:      1,153,712 / 411,457   vs   7,540,324 / 33,412,297    :  553.57% / 8020.48%
  CPU Idleness:                      74%   vs                      67%    :                 -7%

================================
FIO Benchmark Comparsion Summary
For: longhorn vs ceph
SIZE: 30G
QUICK MODE: DISABLED
================================
                                longhorn   vs                     ceph    :              Change
IOPS (Read/Write)
        Random:                507 / 801   vs              799 / 1,113    :     57.59% / 38.95%
    Sequential:            2,170 / 1,551   vs                868 / 924    :   -60.00% / -40.43%
  CPU Idleness:                      47%   vs                      67%    :                 20%

Bandwidth in KiB/sec (Read/Write)
        Random:          74,736 / 29,953   vs          80,697 / 21,504    :     7.98% / -28.21%
    Sequential:         140,356 / 43,907   vs         108,995 / 27,622    :   -22.34% / -37.09%
  CPU Idleness:                      36%   vs                      69%    :                 33%

Latency in ns (Read/Write)
        Random:   17,468,093 / 6,125,374   vs 20,407,513 / 323,664,604    :   16.83% / 5184.00%
    Sequential:    3,726,745 / 5,531,482   vs   6,282,552 / 92,793,978    :   68.58% / 1577.56%
  CPU Idleness:                      56%   vs                      84%    :                 28%

I also did some standalone kbench tests for each, but they more or less confirmed the results above.
Trying to rule out BW as my bottleneck, I configured a separate longhorn storageclass to keep only a single replica and did another comparison:
================================
FIO Benchmark Comparsion Summary
For: longhorn-single vs longhorn
SIZE: 30G
QUICK MODE: DISABLED
================================
                         longhorn-single   vs                 longhorn    :              Change
IOPS (Read/Write)
        Random:              764 / 2,017   vs                755 / 896    :    -1.18% / -55.58%
    Sequential:            3,766 / 3,348   vs            3,189 / 1,505    :   -15.32% / -55.05%
  CPU Idleness:                      42%   vs                      42%    :                  0%

Bandwidth in KiB/sec (Read/Write)
        Random:          54,010 / 75,360   vs          75,282 / 33,579    :    39.39% / -55.44%
    Sequential:         104,818 / 68,571   vs         140,474 / 47,664    :    34.02% / -30.49%
  CPU Idleness:                      42%   vs                      36%    :                 -6%

Latency in ns (Read/Write)
        Random:   21,460,384 / 2,744,107   vs   17,864,406 / 6,888,851    :   -16.76% / 151.04%
    Sequential:    3,580,601 / 3,675,651   vs    3,800,925 / 7,019,119    :      6.15% / 90.96%
  CPU Idleness:                      59%   vs                      51%    :                 -8%

I am somewhat baffeld by these results. Shouldn't performance drastically increase if I take away the distribution part? Obviously write performance improved a little, but it is nowhere near local-path / vsphere BW.
As I'm no expert on storage, I didn't try optimizing anything in the longhorn / ceph setups and just went with the defaults. So maybe it's simply a configuration issue, but I wouldn't know where to begin.
If anyone can provide input on what to try or do differently, I would greatly appreciate it.

Hi @h0lk ,
Can you describe your vsphere storage setup? e.g. SSD vs spinning disk, how many disks per node etc, how many memories you have for each node. Also, it seems the vsphere storage is running on a different network (or is it non-HA?) since it can exceed the maximum possible bandwidth of 125MB/s.

Sounds like your network bandwidth is a major bottleneck for distributed storage systems. From your iperf result, 900 MBit = 125MB/s, which is the maximum possible value for either read or write bandwidth of a distributed storage system. It's likely the reason of why you see the read bandwidth of both Longhorn and Ceph is only around 100MB/s.
it seems you're using spinning disk or hybrid instead of SSD? The discrepancy between random read and sequential read IOPS is too big, even for local path. Or, it can be the caching mechanism of vsphere.
One thing that is weird is that Longhorn reports lower IOPS on random access vs Ceph. As you can see from the latency part, single Longhorn IO's latency is much lower than Ceph. So in general it should result in better IOPS, as seen from the sequential IOPS part. Maybe the CPU becomes a bottleneck in this case.
For your question regarding the single replica vs multiple replicas, normally it doesn't play a big factor in Longhorn. So I  am a little surprised to see the local replica result in double the write performance compare to 3 replica setup. It might due to a combination of CPU and network limits.
When you're testing the single replica case, is that replica on the same node as the attached node? You can enable the data locality feature in Longhorn for that.
Currently no matured distributed storage system has near-native performance as far as I know. Because to implement the HA piece on top of local storage, there will be overhead, both in terms of performance and CPU utilization. We're working on a new generation of storage engine, trying to address that. At the moment based on our testing, Longhorn should be one of the fastest distributed storage system available. As you can see from the latency result, Longhorn is a few magnitudes better than Ceph, especially on writing.

As for suggestions, if you can get a 10G network and more CPUs, I think the result will improve a lot, especially on the bandwidth side. But I will not expect it to be on the same level of native disk in the terms of IOPS. Matching the bandwidth is possible. You can take a look at https://longhorn.io/blog/performance-scalability-report-aug-2020/ for more information on our last benchmark result. We will update it with v1.2.0 soon.

Did you update the performance report for v1.2?


Common: Modularize out-of-pr killer

Fixed issue #412.
This commit is to modularize the existing Out-of-PR(OOP) killer.
Out-Of-PR(OOP) killer is to stop compulsorily the previous same PRs invoked by
checker-pr-gateway.sh when the developers try to send a lot of same PRs
repeatedly.
Changes proposed in this PR:

Modulairzed OOP killer for maintenance and re-usability

Signed-off-by: Geunsik Lim<EMAIL_ADDRESS>
[Template] PR Description
In general, github system automatically copies your commit message for your convenience.
Please remove unused part of the template after writing your own PR description with this template.
$ git commit -s filename1 filename2 ... [enter]

Summarize changes in around 50 characters or less

More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical;
various tools like `log`, `shortlog` and `rebase` can get confused
if you run the two together.

Further paragraphs come after blank lines.

**Changes proposed in this PR:**
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded
  by a single space, with blank lines in between, but conventions vary here.

Resolves: #123
See also: #456, #789

**Self evaluation:**
1. Build test: [ ]Passed [ ]Failed [*]Skipped
2. Run test: [ ]Passed [ ]Failed [* ]Skipped

**How to evaluate:**
1. Describe how to evaluate in order to be reproduced by reviewer(s).

Add signed-off message automatically by running **$git commit -s ...** command.

$ git push origin <your_branch_name>

:memo: Version: 1.20180820. Thank you for submitting PR #413. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/TAOS-CI/ci/taos/.


bug: commands such as gd broken after today's release

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.1
Operating system/version
macOS Ventura 13.4.1
Describe the bug
With commit 61e3ce8cdc1159d59e11d92478ca76ea19e44c2a I cannot hit gd in my Python scripts.
I haven't investigated the reason, but I can manually revert back to 36774c6 and it works again.
Steps To Reproduce

Revert LazyVim to 36774c6
Install the "pyright" LSP in Mason.
Open Python script, use gd on e.g. an import statement (this works). You can see that which-key also shows the d keymap after hitting g.
Now update LazyVim to 61e3ce8cdc1159d59e11d92478ca76ea19e44c2a.
Open up the python script again, now you can't hit gd on the import statements. Which-key also doesn't show the d keymap after hitting g.

Expected Behavior
I'd expect gd to still work after the latest updates.

It's on the bugfix list for next release. There was some refactoring as far as LSP keybindings are concerned from what I've read in another issue and some of the latest PRs.

Fixed!

Awesome, thank you! 🎉


Update diagnostic-tools.html.md.erb

There is no kubenetes-api folder in PKS 1.0.2. It should read kube-apiserver

Thanks @ntdt!


Reduce buffering between watcher and Store

What problem are you trying to solve?
As a follow-up to watcher paging/streaming in an effort to reduce allocations and move the complexity to where it needs to be. The main problem here is allocation for initial lists (or initial streaming lists). These are essentially allocated twice internally:

first in the watcher's step_trampolined
second in the Store's apply_watcher_event
thirdly? looks like we clone into another buffer before allocating it due to not consuming with an into_iter in the same fn?

If we can move the allocation into store and bubble up the event earlier, then we avoid double/triple allocating this, and users who write custom stores can avoid waiting or double allocating.
Note this buffering happens for both listwatch and for streaming lists.
Describe the solution you'd like
We can lift this caching with a Page<Vec<K>> or Partial<Vec<K>> new watcher::Event that can be bubbled up to be inserted into the store. Because we now have a ready guard in the store it should be safe to start inserting into the store immediately (though it would have to be altered slightly to fire after a complete initial list/stream has happened).
This is a small breaking change to the enum, but it is contained to very internal interfaces and can be documented.
Describe alternatives you've considered

flags in watcher::Config to decide whether to bubble up early, but it doesn't avoid the breaking change of introducing a new watcher event for partial data (even if we don't act on it) because it's not #[non_exhaustive]
feature flag in runtime to decide whether watcher::Event has extra features. this feels pretty hairy

Documentation, Adoption, Migration Strategy

highlight the change in a release, users who match on the low-level watcher::Event will get a new variant to match on

Target crate for feature
kube-runtime

It's also been pointed out that this peak allocation might not deallocate at all for the default allocator. Important bits from a discord thread:

Another problem is that  the default system allocator never returns the memory to the OS after the burst, even if the objects are dropped. Since the initial list fetch happens sporadically you get a higher RSS usage together with the memory spike. Solving the brust will solve this problem, and reflectors and watchers can be started in parallel without worrying of OOM killers.

The allocator does not return the memory to the OS since it treats it as a cache. This is mitigated by using jemalloc with some tuning, however, you still get the memory burst so our solution was to use jemalloc + start the watchers sequentially. As you can imagine it's not ideal.


Find new home for docker-machine KVM driver

For various reasons I no longer use this driver during my day-to-day dev work, and given the lack of CI for builds and test automation, this makes it challenging to keep up with incoming PRs.  I tried to keep up for a while but at this point to be fair to the community of folks who are using this driver, I'd like to explore if there are other folks out there that are actively using it and would be interested in taking over the project so we can be more responsive to incoming PRs.
\cc @karmab @nkiesel @op @mfriedenhagen @gbraad @mykaul @zakame @petrkotas @HartS @flavio @jcodybaker

Can we transfer this repository to the new machine-drivers organization? https://github.com/machine-drivers/ VMware, qemu and hyperkit are already there... would prefer to see a transfer as it preserves the issue tracker.

ok, stuffit, doing it the hard way

I've pushed the master from here to https://github.com/machine-drivers/kvm

@SvenDowideit : I thought we said that the new name would be "libvirt" (not kvm, not kvm2) ?
And that the name of the repo was going to be the same as the program, including the "driver".
i.e. docker-machine-driver-libvirt
Thanks for making things happen, though!

easy rename at this point - one mo :)

and now its https://github.com/machine-drivers/docker-machine-driver-libvirt

@SvenDowideit, would you mind pushing the old tags as well?

@mfriedenhagen done?

Thanks, @SvenDowideit

Could you please add a notice to the README about the new driver repo? I had to find this issue and read through it to find out, others would appreciate if you mark this repo as legacy and link the new one I think.

Archiving the repo would also work, that is what happened to docker machine.


Update data deletion period for ExO

Customer asked us about exchange mailbox data has been purged after 30 days (before 90 days). From customer escalation, the data might be deleted 30 days period. (normally EXO mailbox data has been deleted after subscription removed)
Current document, the customer data seems to be kept during 90 days after subscription canceled. So it need to be modified.
from the bug
https://o365exchange.visualstudio.com/DefaultCollection/O365 Core/_workitems/edit/1245373
However, based on the description, it looks like, if customer previously had a mailbox, they performed some action on July 4th (the 30 days limit was then probably reached) and the mailbox was then hard deleted (unrecoverable).

@cmcatee-MSFT - PR is ready for final review.
Thank you.
cc: @kenwith

@mypil Investigating, and I'm not sure this is a valid change.

@cmcatee-MSFT
Let me help you with some background information here to make sure we are on the same page.
A customer disabled and reenabled their subscription. They relied on our cancel subscription documentation and were under impression that they have 90 days to renable and their data would be intact/preserved.
https://docs.microsoft.com/en-us/office365/admin/subscriptions-and-billing/cancel-your-subscription?view=o365-worldwide

When the cancellation becomes effective, your users lose access to their data.
Before you cancel the subscription, have them save their OneDrive for Business or SharePoint Online files to another location.
Any customer data that you leave behind might be deleted after 90 days, and is deleted no later than 180 days after cancellation.
However for ExchangeOnline an unlicensed or as it is said softdeleted mailbox is only preserved for maximum of 30 days and cannot be recovered after that, public doc below,
https://docs.microsoft.com/en-us/office365/enterprise/office-365-exchange-online-data-deletion
Which directly seems to contradict the first one article or atleast does not explain it fully.
So the ask is the make this clear so that customer do not end up losing data. (as seems to have happened in this case)
On top of of public information, this is also been confirmed under this escalation.
https://o365exchange.visualstudio.com/DefaultCollection/O365 Core/_workitems/edit/1245373

I hope this helps.


No whater wheel aimations over Streams mod river blocks, while still generating power.

I believe it just doesn't fully detect them, thus it can't call the methods that do the animations.


TypeError: Cannot read properties of undefined (reading 'Service')

Describe The Bug:

Unable to add switch to config - Receiving an error that states the following during startup:
TypeError: Cannot read properties of undefined (reading 'Service')
To Reproduce:

Add plugin to HomeBridge
Configure plugin settings
Restart HomeBridge for settings to take affect
Receive error above in logs and HomeBridge stops

Expected behavior:

Add plugin to HomeBridge
Configure plugin settings
Restart HomeBridge for settings to take affect
Setup complete and switch for plugin becomes visible in 'Accessories' and Homekit.

Logs:
[11/17/2022, 12:37:03 AM] [Homebridge Unifi Firewall Switch] Initializing UnifiFirewall accessory...
[11/17/2022, 12:37:04 AM] TypeError: Cannot read properties of undefined (reading 'Service')
    at new UnifiFirewallSwitch (/homebridge/node_modules/homebridge-unifi-firewall/src/accessory.ts:94:34)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:378:50
    at Array.forEach (<anonymous>)
    at Server.loadAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:298:29)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:179:12)

Plugin Config:
{
    "name": "Homebridge Unifi Firewall Switch",
    "controller": {
        "host": "<IP_ADDRESS>",
        "url": "https://<IP_ADDRESS>",
        "username": "LOCALUSER",
        "password": "mysecurepassword123",
        "strictSSL": false
    },
    "site": "5e3b75a0c8ae8702bc80f71a",
    "rule": "637550e01174220b4f78a9b8",
    "inverted": false,
    "accessory": "UnifiFirewall"
}

Screenshots:

Environment:

Plugin Version: 1.0.1-alpha.0
Homebridge Version:  1.5.1
Node.js Version:  v16.13.0
NPM Version:  8.1.0
Operating System:  Docker

Thanks for your work on this - I've got a use case for this plugin, however after adding the configuration and restarting HomeBridge to apply I run into the above error.
I'm not sure if this is related to my config, but I've included as much as I can for troubleshooting - For the site & rule ID's, I'm using scyto/docker-UnifiBrowser to get the values via the API.
Any help is appreciated - If this is related to my config, please let me know or if more info is needed! Thanks in advance for your time.

Hey, the latest version should work as expected.
I threw this together for my own needs, didn't expect anyone to attempt to use it, so sorry for not seeing this issue until now.
Thank you for raising it with all the details 🙇


Column names not visible if switching visibility from GONE to VISIBLE

Steps to reproduce:

Show a view with a label - "No data yet" and a hidden (GONE) table view
Start backend call to get data
Update view, set label to GONE and table view to VISIBLE

Expected result:
Column names are visible.
Result:
Column names are not visible

Hi @marcinkunert,
there are currently more issues regarding the visibility of the table header. If you don't need the possibility to set a absolute TableColumnModel, you can use the version 2.3.0. Else you have to wait for the new bugfix version.
Best regards,
Ingo

Hi @marcinkunert you can set VISIBLE/GONE programmatically instead of hardcoded on XML view. It's worked for me


sql/mssql: support for index inspect and sqlspec

sql/mssql: basic tests for sqlspec
sql/mssql: support for index inspect and sqlspec

Please split into two PR's "next time" :-)

sure, <3


Change hostname check to enable using local dns server

Is your feature request related to a problem? Please describe.
When you got many (30+) ddev projects on your machine, you have at least 30+ ddev hostnames in your hosts file. At some point, the dns resolving gets really slow because of these.
Describe the solution you'd like
Ddev should check, if the projects hostname is resolved to <IP_ADDRESS> instead of checking the hosts file for the hostname. With this change, a user might set up a local dns server to resolve ddev hostnames to prevent them from added to the hosts file.
When removing a project ddev should keep checking the hosts file, to make sure, there is no abandoned entry in it.
Additional context
This problem occures on my machine with about 30+ ddev hostnames in my hosts file. In that case, the dns resolving takes up to 5 seconds for each request. When I clean up the hosts file, every works fine again.

MacBook Pro End 2013
OS X 10.13.6
Ddev 1.3.0
Docker CE 18.06.1-ce-mac73 (26764)

This is probably a duplicate of Subdomain, Local DNS support: Don't require hosts file manipulation #416 - We weren't really willing to do the intrusive and risky thing of getting people's DNS messed up by running dnsmasq or the like (and that really can mess things up). So we got .ddev.site and planned to use a wildcard on it.  But then people pushed back quite hard about "What if I'm on an airplane". And the design we came up with there in #416 seemed to solve everybody's problem, but in the meantime we and everybody else got use to /etc/hosts.
And of course remember to ddev rm --remove-data when appropriate (removes both database and /etc/hosts entry) and sudo ddev hostname --remove-inactive which will get rid of all hosts that ddev thinks it owns and which are not currently in use.

I do not think, that this feature is a duplicate as mentioned above.
This feature request is not about implementing a dns resolver into ddev, but to give people the option to do resolve dns in other ways. Ddev should keeps its behaviour by adding hostnames to the systems host file, but only when the given hostname could not be resolved to <IP_ADDRESS>.
So ddev would work like normal. But if you set up a dns resolver by your own, ddev should recognize that the hostname for a project is already resolved correctly to <IP_ADDRESS> and should not add the hostname to systems hosts file.
There is only one edge case I can think of that would break dns resolving. That is when you set up a dns resolver in your network (not on your machine) and disconnect from that network. As long as you did not restart your ddev project, the hostname could not be resolved. But I think that will be a quite uncommon use case.

Oh, as a workaround, just export DRUD_NONINTERACTIVE=true and it will do exactly that I think. It just won't try to create the hostname.

Oh, as a workaround, just export DRUD_NONINTERACTIVE=true and it will do exactly that I think. It just won't try to create the hostname.

Sounds cool, I will try this and will give feedback here.

I agree that this isn't quite a duplicate of #416 — this is a reasonably different (and much lower level of effort) request, but it's still ultimately part of the same conversation. To start by testing whether the hostname already resolves to <IP_ADDRESS> seems like a reasonable compromise as it opens the door to using a more robust DNS manager if the user is comfortable configuring and managing one, but in the majority of cases, will simply fall back to ddev editing the hosts file.
It seems to me the challenge here is not so much with implementing any of these approaches, but in understanding the complexity we're adding by introducing each option (hosts file editing, *.ddev.site, local DNS manager, all of the above) in support, documentation, maintenance, and testing contexts.
As @rfay mentioned, if you're noticing any slowdown that you might associate with too many ddev hostnames being registered, ddev hostname --remove-inactive is your best bet right now.

It seems to me the challenge here is not so much with implementing any of these approaches, but in understanding the complexity we're adding by introducing each option (hosts file editing, *.ddev.site, local DNS manager, all of the above) in support, documentation, maintenance, and testing contexts.

I'm not quite sure if I understand you correct, but we are not talking about implementing different dns resolver options into ddev. I see that this was or is a goal which is not reachable at the moment because of several issues. By adding the explained option, I did not see that you have to support other dns resolving methods, users might implement by their own. You might mention it in your documentation, that using other dns resolvers is an option, but nothing more.
I think I will point out my ddev usage for a better understanding of the situation.
I use ddev for many active projects. One project is e.g. a microservice architecture based on PHP (Lumen and Laravel) with about 10 services and each one with an additional fqdn. This results in about 20 hostnames. In addition to that, I got about 15 TYPO3 projects (also with multiple hostnames because of multiple languages) and some Symfony and plain php projects.
Long story short, even if I run ddev hostname --remove-inactive is does not remove any project, because all of them are active. (I'm working on them regularly) I currently have to remove each project using ddev remove after working on it in order to use the ddev hostname --remove-inactive command which is quite annoying.
I'm not sure if I am currently an edge case but my company also uses ddev as development platform and some other employees ran into the same issue.
But I tried the workaround from @rfay using export DRUD_NONINTERACTIVE=true which works quite well. I setup a local dnsmasq and exported the mentioned variable. When I now start a new project, nothing is written to the hosts file. I get an info during the start but that is acceptable for me. So from my point of view, this issue somehow seems resolved but only with a workaround which might change in the future.

Thanks @codemonkey1988 — I think we generally agree on this, and your use case does actually change my understanding of your problem. I'd imagine you microservice architecture isn't the most common among our users, but I don't think we should consider it an edge case not worth discussing.

Thanks @andrewfrench
As I said, I currently have a working solution. But it would be nice, if this feature somehow finds its way into ddev so that I do not have to worry that this workaround will fail me some day :)
Sadly, I have no experience with go so I could not provide a PR for this but if you need any other help on this, please let me know.

This absolutely works now in v1.9 - DNS lookup is used by default, and you can use any base tld you want to use. /etc/hosts is only populated if the DNS lookup fails (or is different from the docker ip, usually <IP_ADDRESS>)

@codemonkey1988 if I missed some of your argument, please continue here and we'll reopen, but if I understood properly, you should be good to go.


Error 400 when <link rel="alternate"> uses a relative link

Example:
$ curl -d source=https://beesbuzz.biz/blog/chatter/4128-More-ActivityPub-testing -d target=https://fed.brid.gy/ https://fed.brid.gy/webmention

  <title>400 Bad Request</title>

400 Bad Request

  The server could not comply with the request since it is either malformed or otherwise incorrect.

Bad URL feed: Invalid URL 'feed': No schema supplied. Perhaps you meant http://feed?

The link that seems to be throwing it off in the source page is:
    <link rel="alternate" type="application/atom+xml" title="Atom feed" href="feed" />

which is a relative link to the Atom feed for that page (which should resolve to https://beesbuzz.biz/blog/chatter/feed).
It seems that whenever any error like this is encountered -- even if it's one that shouldn't have any impact on Bridgy Fed's operation -- it completely dies, preventing the ActivityPub post from happening for that page. I'm not finding any rhyme or reason to it, however.
Another example:
$ curl -d source=https://beesbuzz.biz/blog/1912-Slowcial-networking -d target=https://fed.brid.gy/ https://fed.brid.gy/webmention

  <title>400 Bad Request</title>

400 Bad Request

  The server could not comply with the request since it is either malformed or otherwise incorrect.

Target post https://platforms.fyi/ has no Atom link

Maybe no ping would happen to the linked resource, but I still want, for example, my ActivityPub publish to happen.

sorry for the trouble, and thanks for filing, and for all the details. agreed, looks like a bug. should be an easy fix,

ok, relative atom hrefs are now fully qualified.
your example webmention here now fails with 501 Sorry, post activities are not supported yet. since bridgy fed only supports replies to AP or OStatus sites, and your post is a reply to your own site. obviously not a great error message; i'll improve it too.

Well, there's more to it than that, I don't think that Bridgy Fed should be generating an outright failure for only partial failures - like, the main reason I use Bridgy Fed is to post notifications to my ActivityPub timeline. I don't really care about the other mention cases since I'm already able to send Webmentions, obviously.

discussed lots more on IRC.

Summary of the discussion: I was abusing post types in ways that weren't actually interoperable. I've changed my templates to better fit the use case of in-reply-to and like-of, as such.


Fix Generator on Windows

For some reason, the generator has stopped working on Windows (despite working on Linux and containing no platform-specific code). This change really shouldn't make a difference, but somehow it does. Perhaps we've encountered a runtime bug?
This PR:

Changes how we handle Repository to make the generator work again
Adds CI Matrix builds for Windows and MacOS

Superseeded by #344


chore(main): release 1.9.0

:robot: I have created a release beep boop
1.9.0 (2024-06-04)
Features

Change bot logic (9b7d014)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/andresousadotpt/reminder-bot/releases/tag/v1.9.0 :sunflower:


404 from wget localhost/tr069

The documentation (Fusion Installation.pdf) gives "wget localhost/tr069" as a test command. This returns 404.
This subdirectory is proxied into http://localhost:8085/tr069, which is also a 404.
In /var/log/freeacs-tr069, there are four files:
tr069-conversation.log -- empty
tr069-event.log -- empty
tr069-stability.log -- uhhhh?? (how unstable is something if it needs a stability log?)
tr069.log would, one presumes, have a log entry for each incoming request, but these 404s don't register -- that test does not cause anything to be logged. Moreover, this file was pre-filled with randomly-occurring "com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure" errors -- however, all you get is stack traces, which are useless without a log entry that says what the program was doing at the time the crash occurred. "Communications link failure" ... with what? What protocol? What port? What destination?
Very odd ... it's worrying when the setup guide sends you to a 404 on a service that just logs random unexplained errors.
FreeACS 2.1.5, Ubuntu 18 LTS, fresh installation.

Thanks for the report. I have omitted normal get. Use curl - X POST -u admin:
I can add normal get back but it has no purpose. Try /tr069/ok

Stability log is not what it seems. Its legacy from the tomcat era. It will soon be removed. Or someone else can Just level=off it in logback.

https://github.com/freeacs/freeacs/pull/286

solved most or all of your issues. will make a new release 2.1.6 tomorrow. Thanks for the bug reports! 👍

I don’t mind what the command is for testing it, so long as the setup guide and the software agree with each other ;-)
It was alarming to have some of the test commands fail, as it implied that the installation had gone awry.

Fixed in:
https://github.com/freeacs/freeacs/releases/tag/v2.1.6

Closing as its fixed, please test and reopen if its still not working

Half-way there. The PDF says:
"wget localhost/tr069"
This is still a 404, but wget localhost/tr069/ with a trailing slash works. (That is something that I had tried previously just in case, but it had not worked in 2.1.5.)

Try again. Details smetails. But yet another release.
https://github.com/freeacs/freeacs/releases/tag/v2.1.8

That works!

Thanks for testing!


suspend functions

Have you tried to use a suspend function via reflection, as shown below? I'm getting an error "parameter count mismatched"
class Http {
    suspend fun fetch(url: String) = "..."
}

quickJs {
    define<Http>("http", Http())

    evaluate<Any?>(
        """
        await http.fetch("https://www.example.com")
        """.trimIndent()
    )
}

Currently, reflection bindings do not support suspend functions. You can delegate that instance to a DSL binding.

Ok, thanks!

Done in #27


Documentation issue: n2v.Inverter and request for help

I am attempting to follow your documentation, but I am receiving the following error message:
In [8]: # Build inverter and set target
   ...: ibe = n2v.Inverter(wfn, pbs="aug-cc-pvqz")
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-8-0e029af031e5> in <cell line: 2>()
      1 # Build inverter and set target
----> 2 ibe = n2v.Inverter(wfn, pbs="aug-cc-pvqz")

TypeError: __init__() got an unexpected keyword argument 'pbs'

Are the examples in the documentation up to date?
What is the intended manner to invert the density starting from the wave function?
Furthermore, I need to find the potential associated with a specific orbital. Is this possible?

Furthermore, I need to find the potential associated with a specific orbital. Is this possible?

I don't understand what you mean by "the potential associated with a specific orbital." Could you elaborate and/or give more context to your question?
As for updated examples of how to use the code see: https://github.com/wasserman-group/n2v_examples/blob/main/Psi4_Examples/ZMP/Ne_Example.ipynb

Try copy-pasting the link into your browser (clicking on it doesn't work for me either).
Potential corresponding to an orbital does not make a lot of sense to me unless you are talking about a KS orbital, in which case you can just solve the  corresponding KS equation [for this orbital] for the potential. (Attached image, solve for v_eff)

You can give more context about what you are dealing with if I misunderstood your question.


Add Espressif ESP32-S3-DevKitC-1-N16R8V board file

Tested with PlatformIO 2.5.4 in VSCode with a TTGO T-Display-S3 16MB version.
Should resolve https://github.com/platformio/platform-espressif32/issues/915

I can upload and debug my S3 dev kit module from here: https://vi.aliexpress.com/item/1005005045724400.html. Three problems remain: if I add debug_init_break = tbreak setup to the .ini file the debugger fails to start and without this command the debugger starts, but in an arbitrary place in the file C:\Users\Steven.platformio\packages\framework-arduinoespressif32\cores\esp32\main.cpp, which is not my source file, that is located at E:\Users\Steven\Documents\GitHub\PlatformIO\N16R8V\src\main.cpp. I can click continue and execution will stop in my code if I have set a breakpoint. Also the debugger always stops two lines after where the breakpoint is set. Have you seen or managed to overcome any of these issues?

Is this going to be merged?


Modified database restore example

Closes #2067

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/6bf4c2905388b6a0dff618e2b3fd27f97a06fcbe/

Thanks, @Amruta-Ranada. We still need to update the sql diagram to show the DATABASE keyword, and I have one other comment/question.

Review status: 0 of 2 files reviewed at latest revision, all discussions resolved, all commit checks successful.

v2.0/restore.md, line 184 at r1 (raw file):

~~~ sql
> RESTORE bank.* FROM 'gs://acme-co-backup/database-bank-2017-03-27-weekly' \

Should we use RESTORE DATABASE here as well, since it's restoring an entire database? Or should we rather change the example to restore a specific table here? @dt?

v2.1/restore.md, line 184 at r1 (raw file):

~~~ sql
> RESTORE bank.* FROM 'gs://acme-co-backup/database-bank-2017-03-27-weekly' \

Same as above.

Comments from Reviewable

Review status: 0 of 2 files reviewed at latest revision, 2 unresolved discussions, all commit checks successful.

v2.0/restore.md, line 184 at r1 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
Should we use RESTORE DATABASE here as well, since it's restoring an entire database? Or should we rather change the example to restore a specific table here? @dt?

I'd probably suggest individual table, but either work.

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/48640ef6fccf80abbcd39b474dd56aa66bd83f16/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/42af0a274a593b7b649328f4348087d492b1ad53/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/35c0e1dca37469dfe53157f57099ca125a159a3d/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/6ed87197e3a8621626fe388be509fc513914b1b0/

Review status: 0 of 4 files reviewed at latest revision, 2 unresolved discussions, all commit checks successful.

v2.0/restore.md, line 102 at r4 (raw file):

|-----------|-------------|
| `table_pattern` | The table or [view](views.html) you want to restore. |
| `name` | The name of the database you want to restore (i.e., restore all tables and views in the database). You can restore an entire database only if you had backed up the entire database. |

In the diagram, this is database_name, so please use that here instead of name. Also in the 2.1 version of the page.

v2.0/restore.md, line 105 at r4 (raw file):

| `full_backup_location` | The URL where the full backup is stored.

For information about this URL structure, see [Backup File URLs](#backup-file-urls). |
| `incremental_backup_location` | The URL where an incremental backup is stored.

Lists of incremental backups must be sorted from oldest to newest. The newest incremental backup's timestamp must be within the table's garbage collection period.

For information about this URL structure, see [Backup File URLs](#backup-file-urls).

For more information about garbage collection, see [Configure Replication Zones](configure-replication-zones.html#replication-zone-format). |
| `AS OF SYSTEM TIME timestamp` | New in v2.0: Restore data as it existed as of [`timestamp`](timestamp.html). You can restore point-in-time data only if you had taken full or incremental backup [with revision history](backup.html#backups-with-revision-history-new-in-v2-0). |

Your new diagram now shows as_of_clause. You have two options:

Regenerate the diagram one more time, inlining that element, replacing a_expr_const with timestamp, and unlinking timestamp. This will expose AS OF SYSTEM TIME timestamp in the diagram. In this case you won't need to change this row in the table. I prefer this option, so let me know if you want a hand with this.
Leave the diagram as-is but change this row to as_of_clause. This will mean mentioning the use of AS OF SYSTEM TIME timestamp in the description.

Also, regardless, we should be linking to one of the point-in-time restore examples from here.

Comments from Reviewable

Review status: 0 of 4 files reviewed at latest revision, 4 unresolved discussions, all commit checks successful.

v2.0/restore.md, line 105 at r4 (raw file):
Previously, jseldess (Jesse Seldess) wrote…
Your new diagram now shows as_of_clause. You have two options:

Regenerate the diagram one more time, inlining that element, replacing a_expr_const with timestamp, and unlinking timestamp. This will expose AS OF SYSTEM TIME timestamp in the diagram. In this case you won't need to change this row in the table. I prefer this option, so let me know if you want a hand with this.
Leave the diagram as-is but change this row to as_of_clause. This will mean mentioning the use of AS OF SYSTEM TIME timestamp in the description.

Also, regardless, we should be linking to one of the point-in-time restore examples from here.

I need help with this :(

Comments from Reviewable

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/f985cae5bebc70bab5dcb8b896a18c42fd115fd6/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/ec4f6afa87be60e5accffceab8eb8c5d4f93a236/


i212 - search links not working

This issue was largely caused by how the search links are being constructed in the show page. Where these are nested properties the search link is being constructed with the label and not the field. However, the field refers to the wider resource (eg. instrument, rather than operator) so the solution I have come up with is to use both the field and the label to construct the search link, eg. where the (containing) field is complex_instrument and the label is Manufacturer, we can construct the correct search link for instrument_manufacturer. This approach fixes the following search links:

Creator -> Organization
Instrument -> Manufacturer -> Organisation
Instrument -> Operator -> Name
Instrument -> Managing organization -> Organization
Instrument -> Affiliation -> Organization
Specimen type -> Supplier -> Organization
Specimen type -> Manufacturer -> Organization

For, Specimen type -> Purchase record -> Title the search link is constructed directly in the renderer (NestedPurchaseRecordAttributeRenderer) as Title is not a complex field, and so does not call the method using the solution above.
In some cases, fields were not indexed as facetable and therefore the searches would fail. The following are now indexed as facetable:

Characterization methods
Instrument -> Title
Specimen type -> Purchase record -> Title
Instrument -> Affiliation -> Organization

Please note, Purchase record title and Instrument Title have not been added as facets in the search results page, but the search link now works.
Tests have been added to the indexer, but ideally we should have a view test to check that the search links are properly constructed. Because this solution relies on the label, if a label were to change, it would break the search link.

HI @geekscruff, I'll take a look at the view tests on Monday


[Bug] Total resource empty in resource group list

Here I should have the total of resources from my 11 instances

Done and merged in dev branch