Added an IllegalArgumentException to the multiply() method in case matrix dimensions are not compatible.

First of all apologies for using your repository for my "virgin pull request".
The multiply() method does not check if the dimensions of the two matrices are compatible for mutliplication. In some cases this could trigger an IndexOutOfBoundsException but in other cases this error would go unnoticed (in case the width of Matrix1 is less than the height of Matrix2).

Thank you for your contribution! I am currently implementing validations for every method because in the current version there are practically none.


Launched GUI and saw only problems

Copied to Applications folder then ran it. Problems immediately.
First problem - "KBFS is not available" with a long error message.
Second problem - when setting a public name for my device, got a string error and then everything froze and I can't continue from the public name for this device screen. Can't go back either. Restarting just brings me back to the same screen and can't go anywhere.
Can't use the GUI yet. Is it really this broken?
my log id: 72af1908bc36709a832a4f1c

@notbrain Thanks for the log ID -- the string error's a bug we just introduced, aiming to have a fix out later today.

Hi, we've released the fix now.  You should get an update popup within an hour.

@cjb should this be closed as fixed/stale?


plot with charge power vs SOC

What would you like to be added:
I would like to be able to plot a scatter plot like in this link including all super charging sessions: https://forum.abetterrouteplanner.com/blogs/entry/30-tesla-supercharging-summer-2019-update/.

Why is this needed:
It is currently not possible to graphically compare charging sessions. It could be neat to have a plot like this together with the main Charges table, but also in the charge details for the chosen session.
Additional context:
I tried to play with Grafana, but quickly realised that Grafana really only does time series. There is a Plotly plugin that would allow scatter plots with a different x-axis, but I don't yet have TeslaMate set up to develop locally. So if someone else likes the idea and is faster at setting something like this up it would be great!

It wouldnt look nearly like that, because we have so little data for each of our own.
Example: I laid this out quickly with tableau just to quickly show what it would look like. To me that has no value added?
https://dulanic.com/images/AssuredLiquidAntarcticgiantpetrel.png

the plot you show is not quite what I'm looking for though. It should simply be a scatter or lines plot with all data from the charges with SOC on the x-axis and power on the y-axis.

That's what that is. A scatter plot. It looks like a line because all my charges are at home, same kW.

can you filter on the DC charges only?

I found another method, I make no promises I can duplicate in grafana, though I don't see why not. The problem still comes in that you're working with limited data when it's just you.  ABRP is using the data from hundreds or even thousands of vehicles data.
https://public.tableau.com/profile/dulanic#!/vizhome/TeslaChargeScatterPlot/ChargeScatterPlot

That’s it! You’re right that each of us has limited data, but I still think it could be quite informative, in particular if it could be possible to interact with the data in the graph when hovering over it.
One way could be to make line plots for each charging session with very dim lines as well as scatter circles as you’ve done now and then if possible highlight a given charging curve when hovering over its data with some info on total energy added, total time etc, essentially the info in the table. This is all doable in plot.ly but don’t know about grafana. I will try to see if I can connect to the database from my laptop and play with a Jupiter notebook. So far, I’ve only been able to connect with the postgresql container from the host raspberrypi which is less convenient.

So I got it built out /w grafana and I am not a fan. I can't get the plot nearly as interactive nor can I figure out how to do a trendline /w grafana and the Plotly plugin.

I now extracted the data I have from charging sessions and it looks like this plotted with a simple python matplotlib scatter plot. I only have 11 supercharging sessions in there, and even then I think this simple plot even without any interactive features would be quite useful to track overall trends in supercharging.

Feel free to play with my grafana, if has the plug in added.
docker pull dulanic/grafana:latest
On Tue, Jul 28, 2020, 3:00 PM Frederik Zahle<EMAIL_ADDRESS>wrote:

I now extracted the data I have from charging sessions and it looks like
this plotted with a simple python matplotlib scatter plot. I only have 11
supercharging sessions in there, and even then I think this simple plot
even without any interactive features would be quite useful to track
overall trends in supercharging.
[image: charging_sessions]
https://user-images.githubusercontent.com/1467214/88714701-75460000-d11d-11ea-8d5b-02e32240ebec.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/adriankumpf/teslamate/issues/849#issuecomment-665249194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWPY3UKYYQBBUHXTF7N3XLR54U4RANCNFSM4PGEDJYA
.

I tried updating my teslamate instance with your grafana update but cannot get it to work. I tried your suggestion for docker dulanic/grafana:latest but I dont see any new dashboards. What am I missing?

It wouldnt look nearly like that, because we have so little data for each of our own.
Example: I laid this out quickly with tableau just to quickly show what it would look like. To me that has no value added?
https://dulanic.com/images/AssuredLiquidAntarcticgiantpetrel.png

Which postgres gui are you using? That looks better than PGAdmin4.

I used the Plot.ly grafana plugin to do basically what you wanted here. This is 2 years of supercharging on my model X.
It is a bit funky because SOC is tracked by whole numbers here. Also, I just used opacity in the color code to allow the trends to appear as somewhat darker when there are more data points.
It is inelegant, but works. Happy to share the queries/etc if anyone else finds this useful. It taught me that my X has actually hit a higher peak supercharging rate than my 3 ever has. 😄

Nice! I have no experience with plot.ly but my experience with Excel graphs to allow trends to appear somewhat darker I used open dots in instead of your dashes for data point to show trend without individual data becoming invisible.

I just played around with different shapes, but some of them just create a blurry mess that gives me a headache. I'm definitely out of my wheelhouse at this point, unfortunately.
One pretty cool thing I was able to do was compare the charge curve from jan-april against april-now, and you can definitely see they have raised it in interim updates.

It wouldnt look nearly like that, because we have so little data for each of our own.
Example: I laid this out quickly with tableau just to quickly show what it would look like. To me that has no value added?
https://dulanic.com/images/AssuredLiquidAntarcticgiantpetrel.png

Which postgres gui are you using? That looks better than PGAdmin4.

Missed this, I am using PGAdmin.
  pgadmin:
    image: dpage/pgadmin4:latest

As for the rest of this, yeah I kind of gave up since I couldn't get it to look nicer.


Binary search using recursion

Problem Statement

Binary search using recursion

Language: C++
Please assign this issue to me.

please assign this issue to me as i will implement in c++.


fixed the DB import in the pytest file

fixed the DB import on the test_db file

Cheers @Snoup97 !


Milestone 6: Final version of CashSync App

In this milestone i implemented:

Use ruby gems as software packages system.
Install Ruby on Rails framework.
Understand Rails RESTful design and router.
Use controllers to handle requests and render empty views.
Use params from browser request in a safe way.
Use preprocessed html file with embedded Ruby code.
Use layouts and templates for shared content.
Use database migration files to maintain database schema.
Use validations for models.
Secure app from n+1 problems.
Understand what ORM is.
Write SQL queries with ActiveRecord.
Set up associations between models.
Build a webapp that requires the user to log in.
Use devise gem for authentication.
Limit access to webapp resources based on authorization rules.
Analyze in writing why you have made a coding choice using one structure over another.

here is the link to video description:
https://www.loom.com/share/c8ad6f875eac498f875a866d88182525?sid=163fac68-7fce-46b2-ad20-ee92aacc0276

Hi @franclobo
Thanks for the review.
at 0.58 sec, i have mentioned a part where i'm proud of making it.
as per the instruction we should show a piece of code or something i built.
please check , Thanks

@thecodechaser
Thanks for the review.
I have updated the video link with the completed video requirement.


Adds angle to xAxis with defineable textAnchor

Description
Adds the ability for angle for the XAxis in BarChart and LineChart. In addition, exposes xAxisTextAnchor for those charts to add text anchoring.

Related issue(s)
https://github.com/tremorlabs/tremor/issues/593
https://github.com/tremorlabs/tremor/issues/128

What kind of change does this PR introduce? (check at least one)

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New Feature (non-breaking change which adds functionality)
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
How has This been tested?
Empirically tested with usage

Screenshots (if appropriate):

The PR fulfills these requirements:

[x] It's submitted to the main branch
[x] When resolving a specific issue, it's referenced in the related issue section above
[x] My change requires a change to the documentation. (Managed by Tremor Team)
[ ] I have added tests to cover my changes
[x] Check the "Allow edits from maintainers" option while creating your PR.
[x] Add refs #XXX or fixes #XXX to the related issue section if your PR refers to or fixes an issue.

Actually, I'm unsure if it would just be better to be able to just override any of the XAxis and YAxis props. I have that going on a different branch and this exposes more robust control.  I don't know if this would go against (any) ideology of tremor.

cf. #128


Exclude hashmaps from GC marks.

Fixes #2146.
The issue is valid, but the test case does not work anymore. I cannot add a test case myself.

LGTM


Bloodrager - Aberrant Bloodline - Abnormal Reach

Seems like abnormal reach does nothing: no impact on reach and non-reach weapon.
In same time longarm spell work just fine. And toybox reach edditing too
Find it in: 1.1.0k GOG
Full list of mode:
TTTweaks 1.9.6b
Toybox <IP_ADDRESS>
WeponFocusPlus 1.2.1
GreatRadiance 1.00

Are you bloodraging when testing this? Abnormal reach will only apply in rage.

Just retest in bloodrage - still missing.
Also try (by "always 20" from toybox) Staggering Strike bloodrage power - no sign in combat log.
Addition to mod and game vercion: play in russian local. And bloodrager have Primalist archetype.

And retry this in English local and after respec to non-archetype solo class bloodrager - still missing i,pact from both bloodline powers

Seconded- Reach is not applying even with bloodrage.

It's suddenly start work normal - after clear reinstall game and mods. And respec from toybox mod.

There is something odd going on with the rage buff not always starting.
On Tue, Nov 9, 2021, 1:34 PM LordInnario @.***> wrote:

It's suddenly start work normal - after clear reinstall game and mods. And
respec from toybox mod.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Vek17/WrathMods-TabletopTweaks/issues/302#issuecomment-964470664,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWSQPHVJTV4ZTA6A3IVLWTULFZUJANCNFSM5HSTXSDQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


[PYSC] As a user, I want to be able to mint PSYC on the Paloma Dex using the Aave Yield Savings Bot on the EVM

As a user, I want to be able to mint PalomaUSD on the Paloma Dex using the Aave Yield Savings Bot on the EVM so that I am able to deposit my stables on any EVM and get a PalomaUSD token on Paloma to represent my share of the vault.
Acceptance Criteria

Deposit to Aave Savings Bot Mints PUSD token on Paloma.
Send PUSD tokens to Arbitrum
Add PUSD tokens to Uniswap V3 fork deployed on Paloma EVM L2 as DEX
Add PUSD and GRAIN tokens to Uniswap 3 fork deployed on Arbitrum to verify ability to create pools with mainnet GRAIN.

Closing as won't ship.


Added unit tests for Taxes store

This PR implements:

tests for Pinia store: Taxes store
an .editorconfig to enforce tabsize 🚀
removing setupFiles in vitest config (ain't necessary yet)

Related issue: #19

Can you also add this to github actions?
You can rename the github action's file  to workflow.yml and have 2 jobs there: test and deploy. Just be sure to only deploy the app after the tests pass:
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idneeds

Hey @franciscobmacedo!
Done! Can you review it again?

perfect, thank you!!


Export array macro

TODO: use Node or Node subclass type instead of ".object"

wondering if having ExportArray is a good idea, when we could just extend the existing Export macro.
the tests aren't super robust yet
having [Node] or some subclass of [SomeNode] map to GType.nodePath or GType.node would be an improvement too.
When the macro gets confused it will just set the type to Array[Object] I'm not sure if the macro is able to introspect or know if the type of the array is a subclass of Node or not, but perhaps the best solution would be to default to a type name of the same name as the Swift element type. eg @ExportArray var foo: [Foo] = [] would be var foo: Array[Foo] in gdscript

Also realized changes made to the underlying swift array will probably not be shown in godot, and vice versa.
Probably need to add a didSet to the swift array, to make it reflected in both

It seems Godot doesn’t call the setter when you append to an array.
But Swift does.
When exporting an Array type from SwiftGodot, if you append to the array in Swift, it will/can update the Swift version of the array, and in the didSet we can then update the GArray so when updating from Swift side, the underlying GArray is always up to date when updated from the swift side.
However the inverse is not true, if you append to the array in godot, it will update the underlying GArray, but it will not call the setter, which will not call the proxy setter in swift, which will not update the underlying swift array.
I'll have to think about how to solve this, if it's possible to solve it.
I disagree with the Godot decision to not trigger the setter of an array when modifying an array, mostly because of the problem we have now. There are no signals which is supposed to be a future enhancement.
var someArray: [Int] = [] {
    didSet {
        print("did set someArray")
        // update GArray
    }
}

someArray.append(0)

// prints "did set someArray"

GDScript does not
var some_array: Array[int] = []:
    set(value):
        some_array = value
        print("did set some_array")

some_array.append(0)

# does not print "did set some_array"

I believe the reason for that is because swift arrays are copy-on-write value types (structs) and godot arrays are reference types, so the var isn't getting set when it is mutated in the same way. I would look into how they went about solving this for .NET godot.

I have something working now, and I was under some false assumptions regarding what I said earlier.
Terms:

"Swift Array": the [Element] array in .swift code, the one that the macro is attached to
"GArray" or "GDScript Array" or "Godot Array": the GArray that the mproxy accessors talk to, the one that GDScript more closely interacts with

Core challenges:

When GDScript updates the GArray via the proxy setter, we need to make sure that the Swift Array reflects these changes
When GDScript gets the GArray via the proxy setter, we need to make sure that the GArray is in sync with the Swift Array
When the Swift Array is updated in the Swift code, we need to update the underlying GArray
When the Swift code gets the Swift Array, we need to make sure that the Swift Array is in sync with the GArray

The crux of the issue is keeping the Swift Array and the GArrays in sync. We declare the Export Macro on a Swift Array but the underlying Godot bindings need to talk to an instance of GArray.
I haven't found a clean way to keep them in sync without resorting to making the SwiftArray a computed property.
The solution seems to be to make a GArray the source of truth for the Swift Array.
I've played with a few things, but the easiest option seems to be to make the Swift Array a computed var which modifies/remaps an underlying GArray in its set and get
I am starting to lean towards going back to having a standalone #exportCollection macro, so that we could pass an initial value to the macro itself, which well then be used to populate the GArray, we can even add callbacks for the accessor events, and add an error if an initial value was provided.
exportArray<T: VariantRepresentable>(
    _ type: T.Type = T.self,
    initialValue: [T] = [],
    willSet: (newValue: [T]) -> Void = { _ in },
    didSet: () -> Void = {}
)

#exportArray(String.self, [])

func _ready():
	var some_node: SomeNode = $SomeNode as SomeNode
	print("‼START should have 1 element; some_node.nodes.size(): ", some_node.nodes.size())
	print("‼START should have 1 element; some_node.get_nodes().size(): ", some_node.get_nodes().size())

	some_node.nodes.append(Node.new())
	print("\n‼ APPENDED should have 2 elements; some_node.nodes.size(): ", some_node.nodes.size())
	print("‼ APPENDED should have 2 elements; some_node.get_nodes().size(): ", some_node.get_nodes().size())

	some_node.add_node(Node.new())
	print("\n‼ add_node: should have 3 elements; some_node.nodes.size(): ", some_node.nodes.size())
	print("‼ add_node: should have 3 elements; some_node.get_nodes().size(): ", some_node.get_nodes().size())

	some_node.nodes = [] as Array[Node]
	print("\n‼ SET nodes: should have 0 elements; some_node.nodes.size(): ", some_node.nodes.size())
	print("‼ SET nodes: should have 0 elements; some_node.get_nodes().size(): ", some_node.get_nodes().size())

output:
‼START should have 1 element; some_node.nodes.size(): 1
‼START should have 1 element; some_node.get_nodes().size(): 1

‼ APPENDED should have 2 elements; some_node.nodes.size(): 2
‼ APPENDED should have 2 elements; some_node.get_nodes().size(): 2

‼ add_node: should have 3 elements; some_node.nodes.size(): 3
‼ add_node: should have 3 elements; some_node.get_nodes().size(): 3

‼ SET nodes: should have 0 elements; some_node.nodes.size(): 0
‼ SET nodes: should have 0 elements; some_node.get_nodes().size(): 0

import SwiftGodot

class SomeNode: Node {
	lazy var nodesGArray: GArray = [Node]().reduce(into: .empty(Node.self)) { $0.append(value: Variant($1)) }

	var nodes: [Node] {
		get { nodesGArray.compactMap(Node.makeOrUnwrap) }
		set { nodesGArray = newValue.gArray }
	}

	override func _ready() {
		nodes.append(.init())
	}

	override open class func implementedOverrides() -> [StringName] {
		super.implementedOverrides() + [
			StringName("_ready"),
		]
	}

	func _mproxy_add_node(args: [Variant]) -> Variant? {
		guard let first = args.first,
			  let _ = Node.makeOrUnwrap(first) else {
				return nil
			  }
		nodesGArray.append(value: first)
		return nil
	}

	func _mproxy_set_nodes(args: [Variant]) -> Variant? {
		guard let arg = args.first,
			  let gArray = GArray(arg),
              gArray.allSatisfy({ Node($0) != nil }) else {
			nodesGArray = .empty(Node.self)
			return Variant(nodesGArray)
		}
		nodesGArray = gArray
		return nil
	}

	func _mproxy_get_nodes(args: [Variant]) -> Variant? {
		return Variant(nodesGArray)
	}

    override open class var classInitializer: Void {
        let _ = super.classInitializer
        return _initializeClass
    }

    private static var _initializeClass: Void = {
        let className = StringName("SomeNode")
        let classInfo = ClassInfo<SomeNode> (name: className)
        let _pnodes = PropInfo (
        	propertyType: .array,
        	propertyName: "nodes",
        	className: StringName("Array[Node]"),
        	hint: .none,
        	hintStr: "",
        	usage: .array)

		let _padd_node = PropInfo(
			propertyType: .object, propertyName: StringName("node"), className: StringName("Node"), hint: .none, hintStr: "", usage: .default
		)
    	classInfo.registerMethod (name: "set_nodes", flags: .default, returnValue: nil, arguments: [_pnodes], function: SomeNode._mproxy_set_nodes)
    	classInfo.registerMethod (name: "get_nodes", flags: .default, returnValue: _pnodes, arguments: [], function: SomeNode._mproxy_get_nodes)
    	classInfo.registerProperty (_pnodes, getter: "get_nodes", setter: "set_nodes")

		classInfo.registerMethod(name: "add_node", flags: .default, returnValue: nil, arguments: [_padd_node], function: SomeNode._mproxy_add_node)
    } ()
}

extension GArray {
	/// Creates an empty typed GArray whose elements conform to `VariantRepresentable`
	static func empty<T: VariantRepresentable>(_ type: T.Type = T.self) -> GArray {
		GArray(
			base: GArray(),
			type: Int32(T.godotType.rawValue),
			className: T.godotType == .object ? StringName("\(T.self)") : StringName(),
			script: Variant()
		)
	}

	/// Creates a GArray whose elements are from the passed array, and whose elements conform to `VariantRepresentable`
	static func make<T: VariantRepresentable>(_ array: [T]) -> GArray {
		array.reduce(into: empty(T.self)) {
			$0.append(value: Variant($1))
		}
	}
}

extension Array where Element: VariantRepresentable {
	var gArray: GArray { self.reduce(into: .empty(Element.self)) { $0.append(value: Variant($1)) } }
}

actually I'm not entirely sure the underlying swift array is up to date in the example above, need to double check that.

I'm still changing this a lot every day, haven't pushes any changes up yet but it's not ready to merge or submit atm


Exclude major COM APIs from the windows-sys crate

The windows-sys crate already excludes all WinRT APIs. This just removes some of the major families of APIs that are all but unusable without COM support and thus unusable from windows-sys anyway.
This should also avoid some unnecessary breaking changes in the windows-sys crate.
Fixes: #2185

Added those.


New Kazan.Models Module Orgnanization for ApiMachinery

So I'm working with kazan's master branch which has the new module organization changes. Based on the comment in the commit, I assume that the ObjectMeta would still be under the same location as it is now.
However, when I alias Kazan.Models.ApiMachinery.Apis.Meta.V1.ObjectMeta, I get this error message:
== Compilation error in file lib/ephemeral/kube.ex ==
** (CompileError) lib/ephemeral/kube.ex:28: Kazan.Models.ApiMachinery.Apis.Meta.V1.ObjectMeta.__struct__/1 is undefined, cannot expand struct Kazan.Models.ApiMachinery.Apis.Meta.V1.ObjectMeta
    (stdlib) lists.erl:1354: :lists.mapfoldl/3
    (stdlib) lists.erl:1355: :lists.mapfoldl/3
    (elixir) expanding macro: Kernel.@/1
    lib/ephemeral/kube.ex:28: Ephemeral.Kube (module)

I'm not sure where it is now in master branch so it would be nice if there was a little more description for models that are staying in the same module structure or if they changed in some other way unlike the other API models.
Thank you,

Hey @mayppong - thanks for raising this.
I need to investigate when I get a bit more time, but this might have actually been a mistake when re-organising the various modules.  For now you can find the ApiMachinery stuff under Kazan.Models.Apimachinery (note the small m ApiMachinery Apimachinery).  So ObjectMeta is under Kazan.Models.Apimachinery.Meta.V1.ObjectMeta.
I suspect I'll end up changing things back to the old path in an hour or two, I just want to make sure of a few things first.

Actually, I think this was done as part of #13.  The k8s specs don't expose names in a way that's  easy to automatically convert to CamelCase.  Prior to #13 we had a handful of places where we'd manually converted, ApiMachinery being one of these places.  However, since we didn't do it everywhere it seemed like it'd be more consistent to keep all modules with just the first letter uppercased, the rest lower case.
However, I'm not entirely sure I want to keep things like this.  Maybe ApiMachinery should be one of the exceptions.   What do you think @mayppong ?
At the very least I need to document this change in the changelog - obviously haven't done a good job of that yet.

I don't think it's a big deal to use Apimachinery. I prefer consistency and predictability over looking nice.


enhance(retrieve): remove Show Preview Command

enhance(retrieve): remove Show Preview Command
BREAKING: remove Show Preview Command

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

This is the default windows keybinding for vscode preview. the mac one
should actually also be this, didn't want to change it in case people
already had it set.
the reason we can do it for windows is because users can't actually press
windows+p without triggering the menu
On Mon, Jul 25, 2022 at 7:31 PM jonathanyeung @.***>
wrote:

@.**** requested changes on this pull request.
In packages/plugin-core/package.json
https://github.com/dendronhq/dendron/pull/3276#discussion_r929469749:

@@ -1301,7 +1292,7 @@
},
{
"command": "dendron.togglePreview",

   "windows": "windows+ctrl+p",

   "windows": "ctrl+k v",

How did we come up with this keybinding? It's very different between mac
and windows
—
Reply to this email directly, view it on GitHub
https://github.com/dendronhq/dendron/pull/3276#pullrequestreview-1050292885,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABPIPXRJ63EJ26V5OJ4YYLVV5EXRANCNFSM54ED733Q
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Porting to 1.19

Only Generation is missing in the 1.19 version.
TODO:

Ore Generation
Biome Generation in the end (now it's possible)
Structures Generation

Finish porting to 1.19. Now polishing and testing...


"Save Text File" node does not work correctly

I used "Text to Console" node to check in the CMD, every thing seems OK. It showed like this:
got prompt WAS Node Suite Text Output: cyberpunk railway station cliff morning cinematic lighting dim lighting warm lighting hyperrealistic digital painting cinematic landscape concept art award-winning HD highly detailed attributes and atmosphere award-winning
But when I used "Save Text File" node to save the file. It got like this:
cyb1680251075rpunk ra1680251075lway s1680251075a16802510751680251075on cl1680251075ff<PHONE_NUMBER>orn1680251075ng c1680251075n16802510751680251075a16802510751680251075c l1680251075gh16802510751680251075ng d16802510751680251075 l1680251075gh16802510751680251075ng war1680251075 l1680251075gh16802510751680251075ng hyp1680251075rr1680251075al1680251075s16802510751680251075c d1680251075g16802510751680251075al pa1680251075n16802510751680251075ng c1680251075n16802510751680251075a16802510751680251075c landscap1680251075 conc1680251075p1680251075 ar1680251075 award-w1680251075nn1680251075ng HD h1680251075ghly d16802510751680251075a1680251075l1680251075d a16802510751680251075r1680251075bu16802510751680251075s and a16802510751680251075osph1680251075r1680251075 award-w1680251075nn1680251075ng

Another issues, this node do not add number suffix to the file, every queue will overwrite the last one.

Well that's not "write". Looks like it might be saving bytes for some reason. I'll take a look. Are you using Linux?

See if this patch fixes the issue. Apparently some systems have different default encoding, so when using "w'' mode, which is for text, it can default to wrong mode. We're trying to make sure the file encoding is utf-8 now.
https://github.com/WASasquatch/was-node-suite-comfyui/blob/main/WAS_Node_Suite.py#L3493

It is work perfectly now！Thanks！

It is work perfectly now！Thanks！

Awesome! It also helps if I don't replace the text with time format, instead of the filename var. Oops.


Add dependency reporting

Adds Dependency reporting of ll direct and transitive dependencies
Cn be used to monitor dependency hell, track dependency removal or seeing which modules are getting bloated.
Resolves #369

This PR was released with 0.22.1


Command PhaseScriptExecution failed with a nonzero exit code - Error when buils on Xcode 14.3

Description
I'm facing this issue while running the IOS app on M1 Mac only. It works fine in an intel chip Mac.

React Native Version
0.72.1
Output of npx react-native info
OS: macOS 13.2.1
CPU: (8) arm64 Apple M1 Pro
Memory: 80.50 MB / 16.00 GB
Shell:
version: 5.8.1
path: /bin/zsh
Binaries:
Node:
version: 16.14.0
path: /usr/local/bin/node
Yarn:
version: 1.22.17
path: /usr/local/bin/yarn
npm:
version: 8.3.1
path: /usr/local/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.12.1
path: /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.4
- iOS 16.4
- macOS 13.3
- tvOS 16.4
- watchOS 9.4
Android SDK:
API Levels:
- "29"
- "30"
- "31"
- "32"
- "33"
Build Tools:
- 28.0.3
- 30.0.2
- 30.0.3
- 31.0.0
- 32.0.0
- 32.1.0
- 33.0.0
System Images:
- android-29 | Google APIs ARM 64 v8a
- android-30 | Google Play ARM 64 v8a
- android-31 | Google TV ARM 64 v8a
- android-32 | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8193401
Xcode:
version: 14.3.1/14E300c
path: /usr/bin/xcodebuild
Languages:
Java:
version: 1.8.0_202
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
Steps to reproduce
There is no special steps to reproduce this.  I'm  getting this issue within 5 sec when start the build.

Snack, code example, screenshot, or link to a repository
There are no code changes in local, I have created the new project after running that getting this issue in m1 Mac.

same issue with Xcode 14.3.1 and M1

Same issue with Xcode 14.2 and Intel

Same issue is found on Xcode 14.3.1 and Xcode 15 Beta 3.
All on M1 devices, and react-native 0.71.11.
I didn't change anything but the last builds I had done on this project more or less a month didn't had any issues, so it's something fairly recent.

I restarted my MacBook and solved my problem

It is fixed after updating the react native version to 0.72.3

Again I'm getting the issue.

other linker flags  -ld64

Same issue. Xcode 14.3. M1

I am getting the same error on Xcode 14.2 and react native - 0.72.4.
Any solution to resolve it?

Same issue Xcode 14.3.1 - M1 - Ventura 13.5

I am also facing this issue on Github Actions; this error has nothing to do with the Xcode or MacOS versions. I have tried many combinations there already.
Below a log from Xcode when expanding info on this error:
Showing Recent Messages
Node found at: /usr/local/bin/node

internal/modules/cjs/loader.js:1131

      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);

      ^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /Users/fawadmahmood/Documents/latest-mobile-fax/node_modules/wrap-ansi/index.js

require() of ES modules is not supported.

require() of /Users/fawadmahmood/Documents/latest-mobile-fax/node_modules/wrap-ansi/index.js from /Users/fawadmahmood/Documents/latest-mobile-fax/node_modules/cliui/build/index.cjs is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.

Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /Users/fawadmahmood/Documents/latest-mobile-fax/node_modules/wrap-ansi/package.json.

    at new NodeError (internal/errors.js:322:7)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1131:13)

    at Module.load (internal/modules/cjs/loader.js:979:32)

    at Function.Module._load (internal/modules/cjs/loader.js:819:12)

    at Module.require (internal/modules/cjs/loader.js:1003:19)

    at require (internal/modules/cjs/helpers.js:107:18)

    at Object.<anonymous> (/Users/fawadmahmood/Documents/latest-mobile-fax/node_modules/cliui/build/index.cjs:293:14)

    at Module._compile (internal/modules/cjs/loader.js:1114:14)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)

    at Module.load (internal/modules/cjs/loader.js:979:32) {

  code: 'ERR_REQUIRE_ESM'

}

use: npm i --legacy-peer-deps fix the problem for me.


Export functionality v2

Apart from exporting the map as data, the user should also be able to export the state as a high resolution PNG.
This should be not too hard to implement right now (see  https://github.com/bevyengine/bevy/pull/7163 and https://github.com/bevyengine/bevy/pull/8455), but it requires an update of bevy to the latest version.
Relevant implementation example: https://github.com/bevyengine/bevy/blob/main/examples/window/screenshot.rs

I would like to improve this in the features, but the export is now functional.


Update Chartjs to Chart

The actual module exported from Chart.js is 'Chart' and not 'Chartjs'.

I am correct in saying this is a breaking change and not sure what benefit there is to merging.

Thanks for your reply @joshhornby. I'm using react-chartjs as global variable in my application, and the exported variable from Chart.js is Chart and not Chartjs (https://github.com/nnnick/Chart.js/blob/master/Chart.js#L2014). So to make they work together I needed to create another global variable name Chartjs. But I shouldn't have changed all the references to Chartjs, only the root. I'm gonna update this PR soon.

This PR is before my time. Do apologize for having it languish this long.


Added Conributing Guide

This solves https://github.com/Hashnode/starter-kit/issues/69

We should consider adding architecture and more details for clarity.


Facing difficulty in verifing the content of uploaded file using protractor

Hi there!
Thanks for submitting an issue to Protractor.
To help us help you better, please do the following before submitting an issue:

Review the questions section of CONTRIBUTING.md
Make sure you are not asking a usage or debugging question. If you are, use StackOverflow, Google Group discussion list, or Gitter to get help.
Fill in the information that corresponds to your type of issue below
Delete this intro and any unrelated text :smile: (if you do not we'll assume you haven't read these instructions and automatically close the issue)

Bug report

Node Version: ``
Protractor Version: ``
Browser(s): ``
Operating System and Version ``
Your protractor configuration file
A relevant example test
Output from running the test
Steps to reproduce the bug
The URL you are running your tests against (if relevant)

Feature Request

Reasons for adopting new feature
Is this a breaking change? (How will this affect existing functionality)

how can i verify weather the content of uploaded file in browser is matching with the content of our file in local system ....Is thier any best to verify the contents of file

Hi there,
Please follow the Issue Template when opening new issues. Otherwise it's unclear what the issue is and how we can actually help.
I'm going to close this issue, please re-open a new one following the issue template linked above. Thanks! 😄


Express field label

Description
This is not ready to merge; waiting on t-shirt sizes from Design.
How and where has this been tested?

How this was tested:
Browser(s) and OS(s) this was tested with:

Screenshots

To-do list

[x] If my change impacts other components, I have tested to make sure they don't break.
[x] If my change impacts documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

[ ] This pull request is ready to merge.

Values from PJ:
(the following pixel values are for desktop)
regular spectrum (for reference):

small: font-size-75 (12 px)
medium: font-size-75 (12 px)
large: font-size-100 (14 px)
extra-large: font-size-200 (16 px)

express:

small: font-size-100 (14 px)
medium: font-size-100 (14 px)
large: font-size-200 (16 px)
extra-large: font-size-300 (18px)


File Streaming TODO

TODO: make this able to stream the result and not read the entire file into memory before returning.
From line 377 in api.py. How do we want to go about streaming things so they aren't read into memory? Do you have a specific method you would like me to use, or just whatever works?

@pcauchy1 : I don't know. Because any simple approach I can come up with always has the JSON entirely in memory, at least temporarily, so is not an improvement over this.
A non simple/elegant approach that would achieve this (instead of lines 379-380) is (in pseudocode):
   use subprocess.run to use the command base64 -w0 to produce a base64 encoded version of the output file without line breaks
   insert at the beginning of the file (without reading the whole file!) the part of the JSON before the base64 content, i.e. `{ 'status': 'ok', 'message': 'Files processed successfully', 'file_data':`
   insert at the end of the file (without reading the whole file!) the part of the JSON after the base64 content, i.e. `, 'file_name': os.path.basename(output_file) }`
   use FileResponse to do a streaming return of that file and then clean it up.

I could also imagine doing something similar by implementing your own class that implements the file operations needed by FileResponse, but processes and returns things piecewise as the caller requests a given number of bytes.


Feature: Variable/Weighted ChunkedDribbleDelay

TL;DR: how would I achieve one of the following to simulate more real-world network failure:

inserting delays into just the response body (or at other points in the payload, be it through byte offsets, percentages, etc.)
chunked dribble delay but weighted towards the end of the response so that the timeout is most likely to occur while downloading the response body

Long explanation and sample code follows:
I was experimenting with wiremock and trying to simulate a fault during the HTTP response body. Unfortunately, I haven't found a combination of client socket timeout and withChunkedDribbleDelay that produces the intended behavior. Regardless of the values provided, it appears to be impossible to force the delays to occur during the download of the response body but not the headers.
Assuming that this would be possible with extensions I also implemented a ResponseTransformer that would build a new Response by copying over all the fields that are passed through the constructor and wrapping the source stream in a custom InputStream which keeps an internal counter and sleeps longer during every call to the various read() methods. Unfortunately this doesn't seem to work in combination with proxying because the entire response is read into a byte array and the ResponseTransformer seems to affect how the proxy reads from the downstream instead of how the response is read from the proxy. (I'm not sure if this would work with a non-proxy response, haven't had a chance to test that).
I haven't been able to figure out a way to offset where the delays are inserted without extending WireMockHandlerDispatchingServlet and all the intermediate classes (JettyHttpServerFactory/JettyHttpServer/etc).
ResponseTransformer for IncreasingDelayReadingBodyResponse/IncreasingDelayInputStream:

    private static class IncreasingDelayInputStream extends ProxyInputStream {

        private static final Logger LOG = LoggerFactory.getLogger(IncreasingDelayInputStream.class);

        private final int baseDelay;

        private final float mult;

        private int n;

        IncreasingDelayInputStream(final InputStream proxy,
                                   final int baseDelay,
                                   final float mult) {
            super(proxy);
            this.baseDelay = baseDelay;
            this.mult = mult;
            this.n = 0;
        }

        @Override
        protected void beforeRead(final int n) {
            try {
                final int sleeping = round(this.n++ * this.baseDelay * this.mult);
                LOG.info(" > sleeping " + sleeping);
                Thread.sleep(sleeping);
            } catch (final InterruptedException ie) {
                Thread.currentThread().interrupt();
                throw new RuntimeException(ie);
            }
        }
    }

    private static class IncreasingDelayReadingBodyResponse extends Response {
        IncreasingDelayReadingBodyResponse(final Response response,
                                           final int baseDelay,
                                           final float mult) {
            super(response.getStatus(),
                  response.getStatusMessage(),
                  () -> new IncreasingDelayInputStream(response.getBodyStream(), baseDelay, mult),
                  response.getHeaders(),
                  response.wasConfigured(),
                  response.getFault(),
                  response.getInitialDelay(),
                  response.getChunkedDribbleDelay(),
                  response.isFromProxy());
        }
    }

    public void setup() {
        final WireMockConfiguration wmc = wireMockConfig()
                .dynamicPort()
                .disableRequestJournal()
                .extensions(new ResponseTransformer() {
                    @Override
                    public Response transform(final Request request,
                                              final Response response,
                                              final FileSource files,
                                              final Parameters parameters) {
                        return new IncreasingDelayReadingBodyResponse(response, 200, 1.1f);
                    }

                    @Override
                    public String getName() {
                        return "increasing-delay";
                    }
                });
        // more non-wiremock configuration...
    }

    public void testthings() {
         // HttpClient configuration...
         final CloseableHttpClient client = httpClientBuilder.build();

            // allocate small buffer for reading to make delays more obvious
            try (final CloseableHttpResponse response = client.execute(get)) {
                final HttpEntity entity = response.getEntity();
                    try (final InputStream body = entity.getContent()) {
                        // read bytes into small buffer, print, timing, continue
                    }
    }

Log output with IncreasingDelayInputStream only (plus inline comments):
// this first copy seems to be when the Response is wrapped in a
// LoggedResponse and #getBody() is called
[qtp838449246-14] INFO  IncreasingDelayInputStream [ ] -  > sleeping 0
[qtp838449246-14] INFO  IncreasingDelayInputStream [ ] -  > sleeping 220
// this copy occurs in WireMockHandlerDispatchingServlet#writeAndTranslateExceptions
// which is where I'd assume the delays from IncreasingDelayInputStream
[qtp838449246-14] INFO  IncreasingDelayInputStream [ ] -  > sleeping 0
[qtp838449246-14] INFO  IncreasingDelayInputStream [ ] -  > sleeping 220
[main] WARN  HttpClientIT [ ] -  >> (1069 ms) >> read header
[main] INFO  HttpClientIT [ ] - response line: HTTP/1.1 200 OK
[main] INFO  HttpClientIT [ ] - response body (streamed):
[main] WARN  HttpClientIT [ ] -  >> (  11 ms) >> {"args":{"foo":"
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> bar"},"headers":
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> {"host":"postman
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> -echo.com","acce
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> pt-encoding":"gz
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> ip,deflate","use
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> r-agent":"Apache
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> -HttpClient/4.5.
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> 5 (Java/1.8.0_13
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> 1)","x-forwarded
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> -port":"443","x-
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> forwarded-proto"
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> :"https"},"url":
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> "https://postman
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> -echo.com/get/?f
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> oo=bar"}
[main] WARN  HttpClientIT [ ] - runtime: 1094 ms

Log output with ChunkedDribbleDelay only:
[main] WARN  HttpClientIT [ ] -  >> (1253 ms) >> read header
[main] INFO  HttpClientIT [ ] - response line: HTTP/1.1 200 OK
[main] INFO  HttpClientIT [ ] - response body (streamed):
[main] WARN  HttpClientIT [ ] -  >> ( 301 ms) >> {"args":{"foo":"
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> bar"},"headers":
[main] WARN  HttpClientIT [ ] -  >> (  99 ms) >> {"host":"postman
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> -echo.com","acce
[main] WARN  HttpClientIT [ ] -  >> ( 102 ms) >> pt-encoding":"gz
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> ip,deflate","use
[main] WARN  HttpClientIT [ ] -  >> ( 100 ms) >> r-agent":"Apache
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> -HttpClient/4.5.
[main] WARN  HttpClientIT [ ] -  >> ( 104 ms) >> 5 (Java/1.8.0_13
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> 1)","x-forwarded
[main] WARN  HttpClientIT [ ] -  >> ( 103 ms) >> -port":"443","x-
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> forwarded-proto"
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> :"https"},"url":
[main] WARN  HttpClientIT [ ] -  >> ( 104 ms) >> "https://postman
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> -echo.com/get/?f
[main] WARN  HttpClientIT [ ] -  >> (   0 ms) >> oo=bar"}
[main] WARN  HttpClientIT [ ] - runtime: 2178 ms

:+1:

This feature is also what I am looking for: The possibility to only delay the response body but not the response headers. (BTW I would have expected that "chunked dribble delay" would do exactly this because only the response body is transferred as chunks; the current implementation is rather a "frame dribble delay"...)
My use case is to test timeouts in a reactive client. Unfortunately I had a bug in the timeout handling because I effectively only specified a timeout for the response headers, and none for the body. So good test support is urgently needed here!


humanize: Add humanize module to pixlet

Overview
The humanize  module converts boring ugly numbers to human-friendly strings and back. Durations can be turned into strings such as 3 days ago, numbers representing sizes like 82854982 into useful strings like, 83 MB.
There hasn't been an easy way to do this in starlark though and this change makes it super simple. Simply import humanize.star and you'll have access to the following functions:

time(date)
relative_time(date1, date2, label1?, label2?)
bytes(size, iec?)
parse_bytes(formatted_size)
comma(num)
ordinal(num)
ftoa(num, digits?)
plural(quantity, singular, plural?)
plural_word(quantity, singular, plural?)
word_series(words, conjunction)
oxford_word_series(words, conjunction)

Changes

humanize: Add humanize module to pixlet

This commit adds the go-humanize module to pixlet to make it easier to format data.

Tests
In addition to the unit tests added, I also added a full working example and spot checked it to ensure it's working as expected.

This is great. Thanks a ton for documenting everything as well.


internal/relay: support filtering at relay level

Current implementation assumes all relays are interested in receiving the same stream of metric points. This is true when running in forwarder mode but not always true when running in aggregator mode. Supporting filtering configuration at relay level will allow one to specify which points should be forwarded/blocked for each relay.
E.g. Assuming one runs an aggregator which receives 100K points/s and is configured to forward to 4 relays. If we know that one of the relays is not interested in receiving metric X why not support filtering it out before sending the metric over the network. This can save bandwidth at the expense of additional CPU usage. The bandwidth saving is more obvious when one of the relays is interested only in metric X (which might represent a tiny fraction of the entire stream).

See also "subscriber-supplied aggregator-side filtering rules" in #23.

I would not tie the two together. #23 proposes an alternative way of configuration. We still need the functionality regardless from where an aggregator gets its relay configurations. Depending entirely on subscriber to push its filters and dedup preferences to an upstream publisher/aggregator reduces our flexibility in using this functionality in conjunction with relays which don't speak the new protocol version.


Make fluid simulation window re-sizable

NOTE TO REVIEWERS: This is a very simple change but relies on the new code structure from #323, #396 and #397.  Please review those first. Thanks.
This adds a call back for Resize so that the simulation grids can be re-allocated to match the new window size.
Fixes #229.

@chaoticbob I've rebased the PR so it should be now simpler to review.  PTAL. Thanks.


Update Feedback for SVG lecture

For the first question you are provided with this hint if you get it wrong

A better hint would be to just direct them to the beginning of the video where this was discussed.
### --feedback--

Review the video starting at the 14 second mark.

Make sure to update the feedback in all places it occurs
Same issue with the second question.

This hint doesn't seem to be helpful to guide users to the correct answer which is the first option.
Again, we should just direct them to the place where it was discussed in the video.
### --feedback--

Review the video starting at the 38 second mark.

Make sure to update the feedback in all places it occurs
The last feedback needs to be updated too.
Here is the current version.

While true, it doesn't help guide users to the correct answer.
Here is the updated feedback.
### --feedback--

Review the video starting at the 53 second mark.

Make sure to update the feedback in all places it occurs

Hi @jdwilkin4,
I want to work on this issue. I plan to update the feedback messages to include specific timestamps from the video, ensuring they provide clear guidance to users. I'll submit a pull request once the changes are ready.
Thank you!


Float4 to agtype

Can you add regressions tests to this. Add them to regress/sql/expr.sql

Can you add regressions tests to this. Add them to regress/sql/expr.sql

I looked at the regress/sql/expr.sql file and was unable to find regression tests of similar typecasting functions which i could learn from. Can you guide me how to do it? Thanks

@JoshInnis kindly review and merge the PR whenever possible. Thanks


Some weekly snapshots are missing a Linux package

The following recent weekly snapshots are missing a Linux package:
https://github.com/clangd/clangd/releases/tag/untagged-eed6b7fcefeeb374e734 (2023-07-02)
https://github.com/clangd/clangd/releases/tag/untagged-128de1ac96f03de2aaf6 (2023-06-18)
https://github.com/clangd/clangd/releases/tag/untagged-03612f47b40968f492f2 (2023-06-04)
https://github.com/clangd/clangd/releases/tag/untagged-3186025a56cd6da0c41b (2023-05-21)
https://github.com/clangd/clangd/releases/tag/untagged-389644443c0328d23399 (2023-04-23)
I guess this is related to the fact that they are untagged?
But others have a Linux package and are stilled untagged, e.g.:
https://github.com/clangd/clangd/releases/tag/untagged-8b77fe46e45706da096e (2023-06-25)

I see failures in GitHub Actions, e.g. here. I guess one (with sufficient permissions) can simply re-run actions, hopefully the error is transient.

I've retriggered the 2023-07-02 build and that was successful on the second try.
I've retriggered the 2023-06-25 build as well, but that failed with a different error ("Validation failed").
Some of the older builds I don't seem to be able to retrigger.


Things needed

This issue summarises all of the things that will be needed for a bare-bones yet functional server

[x] Login /login (#1)
[ ] Matching /match
[x] Level get/publish
[x] Photo get/publish
[ ] Searching
[x] User earths
[x] Users
[x] A website to pull this all together
[x] networksettings.nws (lbp3)

Closing in favour of having a proper project


Do not export private objects.

A little bit cleaner code (inside functions).
Should do a bit less object property accessing.
The main point of this patch is that it adds a place where the Map/Set fallback for #47 could be placed without polluting global scope in browsers: in an if-then-else just above the LZString object.
Should be of the same speed or slightly faster in all browsers. If it is not, something is wrong.

Hi
Thanks for the pull request. I'll just make a small jsperf to make sure everything is ok and I'll merge it right away. I did not notice vars were global... I guess it was too obvious for me to see.
I just released an ugly patch which apparently conflicts with yours. I'll take care of all that this weekend.


SQL Server NVARCHAR support

To handle UTF columns (eg, store Russian characters in column) SQL server needs data type NVARCHAR.
Either need to add NVarchar class to Ddl\Column namespace, or add as an optional parameter column->setMultibyte(true) which appends N to type property.

NVARCHAR is a platform specific character type and not definied in the ANSI SQL-92 standard.
So the question is should we add this platform specific type?

This shouldn't land, IMO... Unless we want to always map char to NVARCHAR when using SQL Server (IIRC, Doctrine DBAL already does that)

platform specific character type
Unless we want to always map char to NVARCHAR when using SQL Server`

Yes, it would go into appropriate decorators. Hence the second suggestion of making it into a property, so when platform specific decorator processes it, it has the ability to act on it, if needs be.
Still not appropriate? In that case I can add a warning to documentation to state if need to use multibyte, better write and execute SQL manually.

@alextech This is an interesting topic. IMO we should improve the DDL support with specific vendor types. Right now we are supporting SQL92 + some specific type like Column\Blob that is MySQL.
I don't see any reason to avoid vendor data types, like NVARCHAR of SQL Server. Moreover, it will be nice to have a way to limit the usage of a data type with the vendor (platform). For instance, if someone uses NVARCHAR with MySQL we should throw an Exception, saying that the type is specific for SQL Server.
@Ocramius, @froschdesign, @weierophinney what do you think?

I am with @Ocramius on this one. We should not have engine specific names in abstract API library. I think it confuses developers by allowing to write code that may or may not fit in deployment. Especially a big issue when writing cross platfrom apps. My previous project as all about writing installable distributable server who's codebase works the same way across any engine customer is willing to install it on. Part of my job was checking whether abstraction APIs would work uniformly across databases, and put in override where needed.

For instance, if someone uses NVARCHAR with MySQL we should throw an Exception, saying that the type is specific for SQL Server.

This would have made that work impossible. It is unrealistic to have
if (sqlserver) {
 $column = new NVARCHAR();
} else if(mysql) {
 $column = new VARCHAR();
}

For another example, this would prevent any attempt at creating migrations utility. For basic example of struggles in the wild look at https://github.com/vgarvardt/ZfSimpleMigrations/issues/3 where migrations were expected to run because developers assumed the code will be intelligent enough to do the said conversion itself.
HOWEVER,
There are often database specific features that developers want to take advantage of.  Right now they go into Features namespace, but only for TableGateway.  So I propose for DDL we mostly stick to generic API that will be expected to be the same across all engines, especially column types. For other things they would go into features.

P.S. options handling in decorators already do somewhat OK job of overriding limitations of generic API. So if I want to write migrations utility for cross platform app, but still take advantage of native features where can, using some inheritance override to modify options where needed should work.
It is why I proposed having a multibyte flag in the column so the abstraction layer can modify that option as needed in a way most appropriate to the engine. That is, make the API more from semantic point of view, to say "i want internationalization of the column", instead of low level "nvchar".  My reasoning for this, is because I did not know what nvchar was, until I ran into issue having Russian characters corrupted. I looked into how to make column support internationalization and came across term 'nvchar'.

@alextech I don't see any problem of abstraction to add a Ddl\Column\Nvarchar, as we did with Ddl\Column\Blob. If you want to develop an application that is SQL92 standard you should not use NVARCHAR.
Of course, I don't want to write code like the one that you proposed. I was thinking to have some sort of internal check to be sure that Ddl\Column\Nvarchar should be used only with SQL Server platform. This is only an idea to prevent potential issues.

If you want to develop an application that is SQL92 standard you should not use NVARCHAR
Not for SQL92 itself but best optimized for whatever platform is being installed.
My thinking could be a bit extreme, but IMO if I am thinking at low levels of db specific column types, why do I need DDL library at all.

I believe the point of DDL, or any abstraction library, is to assist initial development without thinking of low level internals. Then override as needed for optimization. So here I agree with @froschdesign about not including the type itself, and take @Ocramius suggestion of adding the type internally.

Sorry for always doing extra PS or edits.
For case of Ddl\Column\Blob. It should get similar treatment. SQLServer equivalent is VARBINARY. So question is, what definition come first. SQLServer developer making app compatible with mysql will think of varbinary and cause bugs in mysql. Mysql developer will think of blob and cause bugs in postgresql/sqlserver. even though they are both correct and do exact same thing. Curious dilemma.

I propose we stick to most common naming convention. For example in forums a typical question is "what is equivalent of X in this DB engine". So in documentation we specify "for binary data use DDL of type BLOB (or whatever else)" and provide matrix of what it will output to per db engine.

@alextech I don't like the idea to have some internal magic stuff that translare VARCHAR in NVARCHAR or whatever. I think the original idea of zend-db should remain the same, a basic abstraction layer for SQL databases, without additional features more relevant for ORM projects like Doctrine. If we don't want to add vendor data types I'm fine with that. I'm closing this issue at the moment, we'll see in the future.

If we don't want to add vendor data types I'm fine with that.

Between having magic support and not having it at all, I definitely vote for having it, at least namespaced. My workflow has so far been:

start writing DDL code
have database choke on it
debug for a while to figure out which abstraction messed up, or I messed up
remove dozens of lines
rewrite in SQL override

Refactoring from varchar to nvarchar, blob to varbinary, whatever else, is minor in comparison.  I really do not want to do the former again :weary: I can get behind using vendor specific column types.
As a compromise between others opinion and loss of functionality, maybe namespace it? (I did not realize how much favoritism mysql got, even in this issue)


render podAnnotations with template func

The changes herein allow podAnnotations to be templated, and thus reference helm values defined within them.
e.g.
# values.yaml

podAnnotations:
    ad.datadoghq.com/{{ .Chart.Name }}.check_names: '["openmetrics"]'

At least one pull request committer is not linked to a user. See https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user

CLA needs to be signed to accept PRs. I've accomodated this change in another PR.

At least one pull request committer is not linked to a user. See https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user

At least one pull request committer is not linked to a user. See https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user


Intermittent failure in functional test: test_balancer_updates_scans.py

Agent and Driver Version
v8.0.1RC1
Operating System
CentOS 7
OpenStack Release
Liberty
Description
Openstack deployed as Overcloud with BigIP version 11.6.
This error occurred once -- on the first run of the test script -- but the next three trials showed no error.
test_balancer_updates_scans.py::TestPoolUpdateScenarios::test_pool_update_configs[id-4b620c56-65e8-4484-82d2-007d935dcd25_test] ERROR
=============================================================== ERRORS ===============================================================
________ ERROR at teardown of TestPoolUpdateScenarios.test_pool_update_configs[id-4b620c56-65e8-4484-82d2-007d935dcd25_test] _________
def finalize():
    pp('Entered setup/finalize.')
    nclientmanager.delete_all_lbaas_healthmonitors()

  nclientmanager.delete_all_lbaas_pools()

../../../envs/overcloud/lib/python2.7/site-packages/f5_os_test/infrastructure.py:71:

../../../envs/overcloud/lib/python2.7/site-packages/f5_os_test/polling_clients.py:225: in delete_all_lbaas_pools
self.delete_lbaas_pool(pool['id'])

self = <f5_os_test.polling_clients.NeutronClientPollingManager object at 0x10e451a50>
pool_id = '04e04abf-a34b-4236-aecf-1571e370fc01'
def delete_lbaas_pool(self, pool_id):
    self.delete_all_lbaas_pool_members(pool_id)
    self._poll_call_with_exceptions(
        StateInvalidClient,
        super(NeutronClientPollingManager, self).delete_lbaas_pool,
        pool_id)
    attempts = 0
    while pool_id in\
            [p['id'] for p in super(NeutronClientPollingManager, self)
                .list_lbaas_pools()['pools']]:
        time.sleep(self.interval)
        attempts = attempts + 1
        if attempts > self.max_attempts:

          raise MaximumNumberOfAttemptsExceeded

E               MaximumNumberOfAttemptsExceeded
../../../envs/overcloud/lib/python2.7/site-packages/f5_os_test/polling_clients.py:218: MaximumNumberOfAttemptsExceeded
------------------------------------------------------- Captured stdout setup --------------------------------------------------------
'got here in the constructor'
'Entered setup/finalize.'
-------------------------------------------------------- Captured stdout call --------------------------------------------------------
‘update_lbaas_pool'
Deployment
Openstack deployed as Overcloud with BigIP version 11.6.
tlc session:  skergan_overcloud
Attachments
https://console.aws.amazon.com/s3/home?region=us-west-2#&bucket=f5-openstack-testing-logs&prefix=LBaaSv2/lbassv2-driver-issue-83/

I've seen something like this before.

This is a timing issue. Increasing the timeout interval in NeutronClientPollingManager allows the tests to pass. The interval is currently set to 0.4 s and needs to be longer. Setting to at least 1.5 s seems appropriate.

Now part of Tempest


Bulk example formatting update

Bulk update to the PowerShell examples for the clusterawareupdating module before applying further quality updates.

Docs Build status updates of commit 21247b7:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: CannotMergeCommit] Cannot merge commit 21247b7cf43dce42c8db62263eca1390db50b399 in branch roharwoo_cau_stage_2_examples of repository https://github.com/robinharwood/windows-powershell-docs into branch main (commit f2e1a612fe0965da5839ad88474671c548d37f25). Please follow this documentation: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/ to use git.exe to resolve you content conflicts locally and then push to remote.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1848c6f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2022-ps/clusterawareupdating/Add-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/ClusterAwareUpdating.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Disable-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Enable-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Export-CauReport.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauReport.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Invoke-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Invoke-CauScan.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Register-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Remove-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Save-CauDebugTrace.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Set-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Stop-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Test-CauSetup.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Unregister-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

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

Learn Build status updates of commit 976a8fe:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2022-ps/clusterawareupdating/Add-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/ClusterAwareUpdating.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Disable-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Enable-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Export-CauReport.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauReport.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Invoke-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Invoke-CauScan.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Register-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Remove-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Save-CauDebugTrace.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Set-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Stop-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Test-CauSetup.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Unregister-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

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

Hi @sdwheeler / @michaeltlombardi,
@JohanFreelancer9 kindly completed a copy review of this PR. I have committed his suggested changes and I believe this is ready for #sign-off. If you would be so kind as to review it and let me know.
@sdwheeler - I know there was a remaining open comment about the formatting of the Force parameter. I thought I'd replied to the review comment but for some reason it was just sat pending! Updated now. I can do this in #3132 but I'll confused things with #3133 which looks at the formatting across the whole module.  I'll probably adjust the order I tackle these fixed in the next module.
Thanks,
Robin

Learn Build status updates of commit ed057e0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2022-ps/clusterawareupdating/Add-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/ClusterAwareUpdating.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Disable-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Enable-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Export-CauReport.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauReport.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Get-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Invoke-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Invoke-CauScan.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Register-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Remove-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Save-CauDebugTrace.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Set-CauClusterRole.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Stop-CauRun.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Test-CauSetup.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

docset/winserver2022-ps/clusterawareupdating/Unregister-CauPlugin.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

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


⚠ Samsung has degraded performance

In c7b67d5, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2652 ms

Resolved: Samsung performance has improved in 44845ac.


Move integration tests towards schutzbot/run_tests.sh

Instead of calling image-builder-tests, let's remove that binary, and just start the container and use curl and jq to tests the endpoints.

Hi @Gundersanne ,
Greetings! Sorry for late since I just finished the Spring Festival holiday.
I made a very simple example about using pytest to run the integration tests: https://github.com/yuxisun1217/image-builder/blob/pytest/tests/tests/test_image_builder.py
( Start image-builder container)
# pip install pytest
# pytest -v tests/tests/test_image_builder.py --html tests/report.html --self-contained-html

It can output simple test results and generate a pretty html report(). And it's lite. Could you please check if it meets your expectation to replace the image-builder-tests binary package? Thanks!

Nice! Thank you for that, always good to have proof of concepts.
That said I think the ideal way to structure the integration tests is to follow what osbuild-composer does as much as possible. Obviously there would a lot fewer tests in image-builder , but since the api.sh tests in composer are testing the same thing as image-builder (that is an HTTP api), I think it makes a lot of sense to aim for a similar structure across osbuild projects.
For this a few steps are necessary though, we'd need to update the spec file to generate a tests subpackage and move the api.sh to /test/. Update the jenkinsfile to have a similar run_project_tests function, and obviously rewrite it with the same tools as in composer.

Hi @Gundersanne ,
I read the code in api.sh. Removing composer part, it seems that it only have 3 basic validation check points about image-builder:

get https://localhost/api/composer/v1/version
get https://localhost/api/composer/v1/openapi.json
post https://localhost/api/composer/v1/compose
And it only verify these "curl"s can get ok status, but not verify the contents. As you mentioned in #120 we may need more corner cases to make it more like a interface test(positive/negative test, and perhaps secure test). Here is a small group of cases I think we can test image-builder:
verify get/post to each interface(e.g. version/openapi.json/distributions...) return status and content
verify other not allowed headers requests can be blocked
verify get/post something not expected are not allowed
osbuild url is http
...

In such case, IMO language is not important, but having a test framework will be more convenience for running more test cases. (For bash, I also find a framework bats but I didn't use it before.).

Hi @Gundersanne ,
I've add 3 simple demos of the integration tests:

https://github.com/yuxisun1217/image-builder/tree/yuxisun_test/test/api.sh
This is the simplify of osbuild-composer api.sh, and the output is very long. Besides, if one case failed, the who script will fail.

https://github.com/yuxisun1217/image-builder/tree/yuxisun_test/test/api_bats.sh

# dnf install bats
# bats test.sh
 ✓ Verify version
 ✓ Verify openapi.json

https://github.com/yuxisun1217/image-builder/tree/yuxisun_test/test/test_image_builder.py

# pytest -v test_image_builder.py
============================================================================================================ test session starts =============================================================================================================
platform linux -- Python 3.9.0, pytest-6.2.2, py-1.10.0, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.9.0', 'Platform': 'Linux-5.8.15-301.fc33.x86_64-x86_64-with-glibc2.32', 'Packages': {'pytest': '6.2.2', 'py': '1.10.0', 'pluggy': '0.13.1'}, 'Plugins': {'cov': '2.11.1', 'metadata': '1.11.0', 'html': '3.1.1'}, 'WORKSPACE': '.'}
rootdir: /root/repos/image-builder/test
plugins: cov-2.11.1, metadata-1.11.0, html-3.1.1
collected 1 item

test_image_builder.py::TestImageBuilder::test_version PASSED                                                                                [100%]

============================================================================================================= 1 passed in 0.16s ==============================================================================================================

Having a framework will be more convenient to run multiple test cases. But for the consistency, it's also OK to use the api.sh. Which one do you prefer? I'd like to add more cases after confirming the test framework. Thanks!

Hey, Thank you!
So I like option number 2, this would give us tap output, but lets us keep using tools that we're expecting other people to use when calling the api directly. Furthermore keeps the differences between composer and image-builder small enough I'd say.
I still like option number 1 as well just because it's what composer does.
I think I'd be fine with either 1 or 2 honestly.
Just to note: to have a similar structure to composer this will require some spec file work too but I can do that afterwards, we can just invoke those tests from schutzbot/run_tests.sh for now so I don't think this would be blocked on anything.

Hi,
Is there any further work needed for this issue? Thanks!

Hey, I'd say this is done! They're now invoked in the same way as in osbuild-composer. Thank you!


It creates just an empty folder without subfolders

Screencast_30.03.2024_17:03:32.webm

I use default settings
Ubuntu 20.04.6 LTS
opened only one instance of VS Code

I use Nextjs template with app folder, if it could helps you

I found the error.
It doesn't work with default templates. I must create __slice folder with subfolders. Only with this folder it works well.

I found the error. It doesn't work with default templates. I must create __slice folder with subfolders. Only with this folder it works well.

I suppose you have the "custom template" setting enabled. Only in this case, the extension will search for the _slice folder

by some reason custom template was true in my case but I hadn't checked manually.
thank you!


Add Discussion to GH

I'd like to see a GH discussion section for questions for users and devs that aren't necessarily issues, bugs, or feature requests.  Would this be possible with the Apache license now?

+1 ; I would like to be able to keep tabs on discussion re: feature releases. Particularly K8s integration

Opened up! Excited to get discussing!


Fix feature gates that have been been removed in 1.30

The feature gates data are not accurate. This PR fixes those that have been dropped in v1.30.

@tengqm, we also have to mention the toVersion (stage) for all these removed feature gates.
Thanks!

Based on https://github.com/kubernetes/website/pull/46473#issuecomment-2121958005
/lgtm cancel

@tengqm if you accept the suggestions on this PR, it should be good to merge
/approve
/hold
OK to unhold once all the removed feature gates have a toVersion for their final stage.

Thanks @tengqm
/lgtm
/unhold


when parsing objects/array's, don't recurse to get from step 1 to 2 or 2 to 3.

Let ( [
	step = if ( step < 1 ;
		/* setup */
	; step ) ;
	step = if ( step = 1 ;
		/* main */
	; step ) ;
	result = if ( step = 2 ;
		/* clean up and set result */
	)
] ;
	If ( step = 1 ;
		/* recurse */ ;
		result
    )
)

This ended up working pretty well; it speed up the functions and allowed them to process more data.


callSingle executes multiple times on failure

If callSingle throws, Karate doesn't cache the result. It looks like it only saves the result on success. (https://github.com/intuit/karate/blob/3322d55a30b06b3cc5f16d2c2e00562d3d0eea54/karate-core/src/main/java/com/intuit/karate/core/ScriptBridge.java#L560 ).
Not sure if this is deemed desirable. For my use case (login attempt. I get locked out of an account on multiple failed attempts to log in), I expect it to execute only once, regardless of whether or not an exception was thrown. I'd think that If an exception is thrown, then it should just be rethrown on all subsequent callSingle attempts.

@corp-ray if you can provide a minimal example following this process - that would be great, else this is tagged as help wanted: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

Sure. https://github.com/corp-ray/demonstrateCallSingleProblem
Relevant parts are https://github.com/corp-ray/demonstrateCallSingleProblem/blob/master/myproject/src/test/java/karate-config.js#L18 which calls a.feature via callSingle, and
https://github.com/corp-ray/demonstrateCallSingleProblem/blob/master/myproject/src/test/java/examples/users/a.feature#L7 which throws when a.feature is executed.
When you run mvn test you can see that the exception is thrown three times and the log statement "Executing a.feature" is displayed three times.

@corp-ray fixed, would be great if you can try the develop branch, the error reporting + logging should be much better in the new version: https://github.com/intuit/karate/wiki/1.0-upgrade-guide

Wow!!! Thanks for the quick fix! Also am thrilled that the new version has an upgraded JS engine.

Okay, was able to test it out. Looks fine to me. I only see the log statement occurring once now so it looks like the code is only getting executed once.

1.0 released


Teaser view user screwed up

The teaser view of a user suddenly now also includes their geographical focus which looks just awful in the tag.
I saw it when I was making a screencapture of the GLTN landing page for the narrative report: https://landportal.info/organization/global-land-tool-network.
Can we change this back ASAP please?

fixed: 76da6cb


update log fields

Codecov Report

Merging #123 into develop will increase coverage by 0.07%.
The diff coverage is 65.07%.

@@            Coverage Diff             @@
##           develop    #123      +/-   ##
==========================================
+ Coverage    53.02%   53.1%   +0.07%
==========================================
  Files          208     208
  Lines        21159   21114      -45
==========================================
- Hits         11219   11212       -7
+ Misses        8675    8634      -41
- Partials      1265    1268       +3

Impacted Files
Coverage Δ

bfe_http/cookie.go
67.55% <ø> (ø)
:arrow_up:

bfe_modules/mod_access/request_log.go
0% <ø> (ø)
:arrow_up:

bfe_modules/mod_access/conf_mod_access.go
26.59% <0%> (ø)
:arrow_up:

bfe_server/reverseproxy.go
0% <0%> (ø)
:arrow_up:

bfe_config/bfe_conf/conf_basic.go
70.43% <100%> (ø)
:arrow_up:

bfe_util/ipdict/ip_loc_table.go
86.3% <100%> (ø)
:arrow_up:

bfe_modules/mod_compress/compress_rule_table.go
100% <100%> (ø)
:arrow_up:

bfe_modules/mod_header/mod_header.go
65.27% <100%> (ø)
:arrow_up:

bfe_modules/mod_static/mod_static.go
57.97% <51.51%> (ø)
:arrow_up:

bfe_modules/mod_compress/conf_mod_compress.go
56.25% <56.25%> (ø)
:arrow_up:

... and 13 more

Continue to review full report at Codecov.

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


Added 'localized-string' format to OAS3 formats.

✨  Summary of this change
Documentation of localized strings if localization is provided by an API endpoint.
📝 Links to relevant issues/docs
https://confluence01.com.stihlgroup.net/display/DIPO/2021-08-19+APIX
🧑💻 Details
Localized strings can be documented using description property in OAS3 or using an format definition.
Pro format:

Clear documentation in any kind of swagger ui's

Con format:

Format should be somthing which can be checked by a syntax checker. which is not the case for localized strings.

Pro description:

null

Con description:
*The description might be needed for additional information about the strings content.
💥 Reasons for headache (breaking changes, workarounds, ugly compromises)

Format is not auditable for localized strings

🤔 Checklist before submitting
Has been discussed internally in the APIX meeting.

Format property is rendered as the following in the Swagger UI.

Format property is rendered as the following in the STIHL API Management (New UI):


Fixed stripping diacritics from IT fiscalization DTOs

Description
Fixed stripping diacritics from IT fiscalization DTOs.
Type of change

[x] Bug fix.
[ ] Feature.
[ ] Consolidation.

Checklist

[ ] Is breaking change.
[ ] Documentation updated.
[ ] Tests included (please specify cases).

So just to confirm, you're sure that we no longer care about the max ascii character?

@KaliCZ The technical docs doesn't say anything about that


Support compiling with ClangCL and Visual Studio

build with the following commands.
cmake .. -G "Visual Studio 16 2019" -T ClangCL -A x64
cmake --build . --config Release

Thank you for reviewing.
This is a common clang build problem, but I can't reproduce on linux clang, so I exemplified on visual studio clang.

What I've learned from links in https://github.com/microsoft/LightGBM/pull/5259#pullrequestreview-995646690 so far (thanks a lot @jameslamb for them!):

Only Visual Studio 2019 and newer is supported;
ClangCL is a toolset value, so it can be added in
https://github.com/microsoft/LightGBM/blob/1cc9f9dcee15586aefdd8271a1c04ad010d3c53a/python-package/setup.py#L172

This is a common clang build problem, but I can't reproduce on linux clang

This project is tested with clang on Linux and macOS on every commit, so I'd be surprised to learn that an issue of the form "LightGBM cannot be compiled with any version of clang" exists.
https://github.com/microsoft/LightGBM/blob/27d9ad2e8e7ea2d00dbab7b17b0a34b5d9184fe0/.vsts-ci.yml#L88-LL91
https://github.com/microsoft/LightGBM/blob/27d9ad2e8e7ea2d00dbab7b17b0a34b5d9184fe0/.vsts-ci.yml#L225-LL228
https://github.com/microsoft/LightGBM/blob/27d9ad2e8e7ea2d00dbab7b17b0a34b5d9184fe0/.ci/test.sh#L3-L9
https://github.com/microsoft/LightGBM/blob/27d9ad2e8e7ea2d00dbab7b17b0a34b5d9184fe0/.github/workflows/python_package.yml#L60-LL66
That is probably why you haven't been able to reproduce this on Linux. I suspect the issue you've faced is specific to using ClangCL + MSVC on Winddows.

@jameslamb I beleave this problem is also occurd on linux (in some cases).
Clang openmp requires a link path to libomp, but on linux libomp is usually installed on the system (e.g. libomp-dev).
Because this path is already added to link path, linker can find libomp.
If we use libomp outside the system path, I think we need to a link path to libomp.
I think apple clang probably uses libomp installed by brew, which causes same problem.

After noticing the above, I built on the vc prompt and the build went through without this change.
Sorry for the confusion. I will close this PR.

@buresu sorry, could you clarify? Are you saying that the following worked for you with with 0 modifications to LightGBM?
cmake .. -G "Visual Studio 16 2019" -T ClangCL -A x64
cmake --build . --config Release

Or did you have to modify CMakeLists.txt  or something in python-package/ to compile successfully?

@jameslamb Yes, the build successful with zero changes using vc prompt.
When using powershell the build succeeded with this PR change, but it was linking llvm openmp installed by scoop. (This is my mistake).
When built using powershell with no changes, vc's openmp was not found.
I think this is a lack of support from cmake.

ahhh ok, thanks for the additional information @buresu !


[Remote Store] Upload segments to remote store post refresh

Description
This PR is combining 4 commits merged to a feature branch feature/durability-enhancements. Following are the PRs corresponding to each commit:

https://github.com/opensearch-project/OpenSearch/pull/3102
https://github.com/opensearch-project/OpenSearch/pull/3243
https://github.com/opensearch-project/OpenSearch/pull/3285
https://github.com/opensearch-project/OpenSearch/pull/3403

Issues Resolved

https://github.com/opensearch-project/OpenSearch/issues/2993
https://github.com/opensearch-project/OpenSearch/issues/3141
https://github.com/opensearch-project/OpenSearch/issues/2994
https://github.com/opensearch-project/OpenSearch/issues/2995

Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

/cc @saratvemulapalli can you have a look at this as well through the lens of extensions and extension points? Let's be careful to lock down dangerous ports of entry.

@nknize I have resolved/replied on your comments. Can you please take a look?


Adding tagged releases to Docker Hub

@clkao I think it's important to start tagging releases on github and auto building tags on Docker Hub so that users can pull the tagged release docker pull postgres-plv8:1.5.2 instead of latest.
WDYT?

+1 on having plv8 point release tags on docker hub, but i think we still want to support different pg versions?
not sure about tagging in github though - doesn't seem to be what https://github.com/docker-library/postgres is doing. is there a docker source repo using tags?

I guess those repositories haven't yet moved to the new system provided by Docker Hub, which lets you match git tags to build tags.
I was thinking something where Docker tagging looks like this: postgres-plv8:9.5-1.4.8, postgres-plv8:9.5-1.5.3, postgres-plv8:9.4-1.4.8, postgres-plv8:9.4-1.5.3.
The git counterpart tag would simply be the plv8 version for now (1.4.8), as we can change the Docker tag build name dynamically. This works because plv8 r1.4 and r1.5 both compile for postgres 9.4 and 9.5. When r2 is out, we will have to adjust the tag regex, but I think that's fine.
Docker Hub config (cannot add it myself):
Type: Tag
Name: ^1\.5\.[0-9.]+$
Dockerfile Location: /9.5-1.5
Docker Tag Name: 9.5-{sourceref}

Type: Tag
Name: ^1\.5\.[0-9.]+$
Dockerfile Location: /9.4-1.5
Docker Tag Name: 9.4-{sourceref}

Type: Tag
Name: ^1\.4\.[0-9.]+$
Dockerfile Location: /9.5-1.4
Docker Tag Name: 9.5-{sourceref}

Type: Tag
Name: ^1\.4\.[0-9.]+$
Dockerfile Location: /9.4-1.4
Docker Tag Name: 9.4-{sourceref}

Any luck with these @clkao? I'm not sure how Docker Hub handles external collaborators, but I can help with this if you want and Docker Hub allows.

Got any update on this @clkao?

@clkao sorry to be a PITA, but do you have time to take a look at this soon?

@ruimarinho Hi! sorry i've been busy.  Looking into this now.

it feels a bit painful that any logical change will go into multiple tags, and having tags not being immutable feels a bit icky.  Unless there's a good way to programatically generate tag contents from a template (perhaps out of master), I think we should make the repo available as it is for the sake of clarify.  also the postgis repo is havin the similar layout.

@clkao indeed, it has that side affect but that will only affect the latest tag of each branch (9.X-1.X), which is considered mutable by default. All others depending on an explicit tag remain as static as we want them to be. It's hard to make mistakes with it, even if the setup is a bit convoluted.


Removing redundant information from Veracode SCA description

Description
The Veracode SCA description contains redundant information available elsewhere in the finding (CVE, Severity). Once pushed to JIRA it results in a seriously cluttered description. This just removes the CVE/Severity information from the description.
Test results
Tested it works OK with a Veracode CSV.

Hi @coheigea!
I see that you don't using django localization feature. It's a bad practice. Please wrap your text in _("") tag.

@shipko I prefer not to in this PR, as I haven't added any text (just taken away). Do you have a pointer though for what you mean and I will consider a change in another PR?


Fixed typo in example

From user issue https://github.com/MicrosoftDocs/feedback/issues/482.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

api/prelude/microsoft.quantum.extensions.testing.assertqubitstate.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Adding a new element throws an exception

When I try to add a new inventory item to the device using the button "Create hardware from asset" an error occurs:
<class 'AttributeError'>

'NoneType' object has no attribute 'get'

Python version: 3.10.6
NetBox version: 3.4.3

The error is associated with line 161 in the forms/create.py file. In my opinion, this is because 'super().clean()' returns None instead of a dictionary.
def clean(self):
    cleaned_data = super().clean()
    component_set = None
    for field_name in COMPONENT_FIELDS:
        field_value = cleaned_data.get(field_name)
        if field_value and component_set:
            raise ValidationError('Only a single component can be selected')
        if field_value:
            component_set = field_name
            cleaned_data['component_type'] = ContentType.objects.get(app_label='dcim', model=field_name)
            cleaned_data['component_id'] = field_value.pk
            cleaned_data.pop(field_name)
    return cleaned_data

Could you please fix this problem?

It looks like this change in netbox v3.4.2 https://github.com/netbox-community/netbox/issues/11156 changed the InventoryItemForm.clean() method. I'll have to check how to fix my implementation.

Thank you for fixing this bug.


[Bug]: term search window too small

Contact Details
No response
What happened?
When searching a term the displayed results cannot be read.

What did you expect?
Wider display of search results and term definition
Host
Applies to All
Host Details
any
Swate version
v1.0.0-alpha.11

I should propably hide the TAN in this search window, but otherwise i would have to change the width of the column significantly. Which one would you prefer?

Set minimum width to 400px, lets see how this feels 👍


Installing from source fails due to unsatisfied statik dependency

Trying to follow the readme instructions for installing from source, but hit:
$ make install
cd pkg/themis-contract/ && statik -src=../../assets/
/bin/sh: statik: command not found
make: *** [Makefile:11: build] Error 127
``

Also failing on my system (manjaro) because of the chosen install directory:
$ make install
cd pkg/themis-contract/ && statik -f -src=../../assets/
go build -mod=readonly -ldflags="-X main.version=v0.1.5-153-g9eb5cba-20200908.190928" -o build/themis-contract cmd/themis-contract/*
go get github.com/rakyll/statik
cp build/themis-contract /usr/local/bin/
cp: cannot create regular file '/usr/local/bin/themis-contract': Permission denied
make: *** [Makefile:19: install] Error 1

I'm wondering why we can't install it as a go package?


Ensure main scene is set when running on device

Fixes #26008
I wasn't really sure how to determine whether the editor checks scene from normal run or native run, so I went with a meta >.>

It should not even run if no scene is selected I think.

That's what this PR does. If you don't set main scene, the "run on device" button behaves the same as running the project - it prompts you to select main scene.

Thanks!