The new HPACK header test for RemoveAll() fails on Android

#393 broke my Android CI, which runs that test in an Android x86_64 emulator, with these 4 test failures:
/home/runner/work/swift-android-sdk/swift-android-sdk/snh/Tests/NIOHPACKTests/HPACKHeadersTests.swift:194: error: HPACKHeadersTests.testRemoveAll : XCTAssertEqual failed: ("7") is not equal to ("6") -
/home/runner/work/swift-android-sdk/swift-android-sdk/snh/Tests/NIOHPACKTests/HPACKHeadersTests.swift:197: error: HPACKHeadersTests.testRemoveAll : XCTAssertEqual failed: ("7") is not equal to ("6") -
/home/runner/work/swift-android-sdk/swift-android-sdk/snh/Tests/NIOHPACKTests/HPACKHeadersTests.swift:200: error: HPACKHeadersTests.testRemoveAll : XCTAssertEqual failed: ("7") is not equal to ("6") -
/home/runner/work/swift-android-sdk/swift-android-sdk/snh/Tests/NIOHPACKTests/HPACKHeadersTests.swift:204: error: HPACKHeadersTests.testRemoveAll : XCTAssertEqual failed: ("7") is not equal to ("6") -

All four are related to checking the capacity of the header array and not getting the expected size.
I can reproduce on my Android AArch64 phone, so I stuck these print()s in the initializer and found the offending line when the test is run:
diff --git a/Sources/NIOHPACK/HPACKHeader.swift b/Sources/NIOHPACK/HPACKHeader.swift
index 866025c..bd26df9 100644
--- a/Sources/NIOHPACK/HPACKHeader.swift
+++ b/Sources/NIOHPACK/HPACKHeader.swift
@@ -85,7 +85,11 @@ public struct HPACKHeaders: ExpressibleByDictionaryLiteral, Sendable {
     ///     - headers: An initial set of headers to use to populate the header block.
     @inlinable
     public init(_ headers: [(String, String)] = []) {
+        print(headers.count)
+        print(headers.capacity)
         self.headers = headers.map { HPACKHeader(name: $0.0, value: $0.1) }
+        print(self.headers.count)
+        print(self.headers.capacity)
     }

     /// Construct a `HPACKHeaders` structure.

That prints the following for this test:
Test Case 'HPACKHeadersTests.testRemoveAll' started at 2023-05-18 21:31:43.616
6
6
6
7

I have no idea if this map should be allocating a larger capacity or if this even matters: shouldn't the array capacity just be an implementation detail?
Opening this to see what you all think of this strange failure, let me know.

Yeah I think depending on the specific numbers of the capacity is probably wrong. I'd happily take a patch that measures the capacity before removeAll and then confirms it's unchanged, rather than relying on hardcoded numbers. Are you open to making that patch?

Submitted your suggestion as #395.


Build error with ../configure --ios --cpu arm64 --disable-demo --disable-tests (Code Signing)

Hi there,
Got this error when trying to configure a build:

Loading required submodules...
Downloading GN from cloud storage...
Generating files for boringssl...
Standard output:
Automatic code signing identity selection was enabled but could
not find exactly one code signing identity matching
iPhone Developer. Check that your keychain
is accessible and that there is a valid code signing identity
listed by "xcrun security find-identity -v -p codesigning"
TIP: Simulator builds don't require code signing...
ERROR at //build/config/ios/ios_sdk.gni:151:7: Assertion failed.
assert(false)
^-----
See //build/config/ios/rules.gni:5:1: whence it was imported.
import("//build/config/ios/ios_sdk.gni")
^--------------------------------------
See //BUILD.gn:16:3: whence it was imported.
import("//build/config/ios/rules.gni")
^------------------------------------

Due to 'ios_sdk.gni' configuration, it tries to get the code signing identity comparing the current ones with the matching string "iPhone Developer" at:
ios_code_signing_identity_description = "iPhone Developer"
This has changed to "Apple Development". It can't be modified, 'configure' file the current "ios_sdk.gn" file is loaded and overriden: Any way to set this?

You can use --gn-args to set other GN variables.  So either of these may work:
./configure --gn-args 'ios_code_signing_identity_description="Apple Development"'
./configure --gn-args 'ios_code_signing_identity="123456..."'

I just got the same error. Why are the frameworks code signed at all?
The frameworks are imported in an app, so they get re-codesigned with the signing identity configured in that app's project.
So summing up, code signing the generated frameworks seems to be unneeded and error prone. Can this be disabled?

I think you can disable it with --gn-args 'ios_enable_code_signing=false, but I haven't tested it.  Code signing the framework has the advantage of allowing developers to verify the integrity and source of pre-built frameworks.  So the framework in the releases tab will be signed so you can know it was from us and not tampered.  But we could manually enable it again for those builds.
I'm not sure what the correct thing to do is.  It seems odd to create frameworks that aren't signed since Apple default signs these things.  It may also be a requirement of some build systems or distribution to only accept signed builds.  But if you're building yourself, you don't need to sign it.
So maybe best would be to default to not signing and have an --enable-code-signing flag?

I think you answered your own question 😃 As you said, code signing the framework serves the purpose of letting developers to verify the integrity of pre-built frameworks. That makes sense if you are distributing a closed source framework in binary format. But here we are talking about an open source project in which every developer may build his own version of the framework and then include it in his project, where it will be immediately re-codesigned.
So my vote goes for disabling code signing by default, as I think code signing is not really needed and more error prone in this case 😃


Simplify truth check, avoid unnecessary lock

This patch simplify package mathx's truth check, remove lock protect, which should be good to performance.

Closed, this lock is necessary to avoid data race.

NewSource returns a new pseudo-random Source seeded with the given value. Unlike the default Source used by top-level functions, this source is not safe for concurrent use by multiple goroutines.


XHR failed Unable to download and update plugins I have uninstalled and reinstalled

I don't know how to deal with it, it's completely unusable, it was still fine before

Can you please open developer tools console and let us know what errors are you seeing for these requests?

F1 > Developer: Toggle Developer Tools

thank you  , it woking when i close the proxy。


Unable to enable the ONLYOFFICE plugin

condition:
I'm trying to use the ONLYOFFICE plugin from mattermost.
However, I'm getting an error and I'm not able to activate the ONLYOFFICE plugin properly.
versions:

Mattermost: 5.39.0
ONLYOFFICE Plugin:1.0.0
ONLYOFFICE 6.3.1

Expected behavior:
The ONLYOFFICE plugin should be activated
Actual behavior:
When I press the enable button, it immediately returns to disabled.
Settings:
Document Editing Service address: https:///
Secret key (leave blank to disable):

Logs:

 grep mattermost.log on mattermost server
$ grep "onlyoffice" mattermost.log

{"level":"debug","ts":1633662790.9968615,"caller":"plugin/hclog_adapter.go:52","msg":"starting plugin","plugin_id":"com.onlyoffice.mattermost","wrapped_extras":"path/opt/mattermost-data/plugins/com.onlyoffice.mattermost/server/dist/plugin-linux-amd64args[/opt/mattermost-data/plugins/com.onlyoffice.mattermost/server/dist/plugin-linux-amd64]"}
{"level":"debug","ts":1633662790.9973962,"caller":"plugin/hclog_adapter.go:52","msg":"plugin started","plugin_id":"com.onlyoffice.mattermost","wrapped_extras":"path/opt/mattermost-data/plugins/com.onlyoffice.mattermost/server/dist/plugin-linux-amd64pid19881"}
{"level":"debug","ts":1633662790.997437,"caller":"plugin/hclog_adapter.go:52","msg":"waiting for RPC address","plugin_id":"com.onlyoffice.mattermost","wrapped_extras":"path/opt/mattermost-data/plugins/com.onlyoffice.mattermost/server/dist/plugin-linux-amd64"}
{"level":"debug","ts":1633662791.0458398,"caller":"plugin/hclog_adapter.go:52","msg":"plugin address","plugin_id":"com.onlyoffice.mattermost","wrapped_extras":"address/tmp/plugin1056552694networkunixtimestamp2021-10-08T12:13:11.045+0900"}
{"level":"debug","ts":1633662791.045999,"caller":"plugin/hclog_adapter.go:52","msg":"using plugin","plugin_id":"com.onlyoffice.mattermost","wrapped_extras":"version1"}
{"level":"error","ts":1633662791.1856277,"caller":"go-plugin@v1.4.2/stream.go:15","msg":" call to OnConfigurationChange failed, error: [ONLYOFFICE]: The server responded with an error: 6","plugin_id":"com.onlyoffice.mattermost","source":"plugin_stderr"}
{"level":"debug","ts":1633662791.2379296,"caller":"plugin/hclog_adapter.go:52","msg":"plugin process exited","plugin_id":"com.onlyoffice.mattermost","wrapped_extras":"path/opt/mattermost-data/plugins/com.onlyoffice.mattermost/server/dist/plugin-linux-amd64pid19881"}
{"level":"debug","ts":1633662791.238019,"caller":"plugin/hclog_adapter.go:54","msg":"plugin exited","plugin_id":"com.onlyoffice.mattermost"}

Thanks @Nsenz,
Hummn, The JWT Secret you are referring to is the JWT_SECRET from the following site, right?
JWT options
I'm using the same ONLYOFFICE Docs EE on Nextcloud.
But it is working with the same JWT_SECRET and there is no problem.
I confirmed that it works with the same Secret Key.
The Secret string has $ and # in it. Is it possible that this is affecting the Token Validation Error?

@ynott Works fine with the aforementioned symbols.

This Issue will be closed.
If there are any problems, it will be reopened.


Ignore alignment warnings/errors in firebird backend

When building on various non-x86 architectures (including arm, mips, sparc), SOCI fails to build from source due to the combination of -Wcast-align and -Werror.
This issue is somewhat related to #812, #813, and #815.  However, rather than being an issue with the ODBC backend, it's the Firebird backend in this case.
Since the warning/error cases all cast the first array element and pass/return the result by value, the alignment should be guaranteed. So it seems appropriate to ignore the warnings as was done in #813.
Applying the changes in this commit (as well as the commits from #813) allows for successful builds on all Debian-supported architectures where the dependencies can be satisfied (i.e., everything but kfreebsd and hurd).

Thanks for the fixes, I'm merging them with just a minor change: I've replaced hard TABs with spaces for consistency with the rest of SOCI code.

No problem, and also, sorry about that.  I usually try to match the formatting, but in this case I apparently forgot.


Handling JS alert/confirm/prompt

For example, when generating a scaffold with Phoenix, we get a confirmation dialog via data-confirm for "Delete" links in the index view. If this link is clicked, Wallaby/PhantomJS will not perform the actual request, then usually the next assertion or selector fails.
For now, I use this workaround, which I put before the part that triggers the alert/confirm:
# for alert()
execute_script(session, "window.alert = function(){}")

# for confirm()
execute_script(session, "window.confirm = function(){return true;}")

However, it seems clunky to use the above workaround, even if extracted into a helper to reduce duplication. So, my questions are:

Is there a way to ignore/auto-accept dialog boxes globally?
Any better way of handling this that I didn't think of?
Is there a way to interact with PhantomJS directly, so that we can implement proper dialog handling before https://github.com/detro/ghostdriver/issues/20 is fixed?  (i.e. supply our own onAlert etc. handlers directly to Phantom)
Should we add documentation on how to handle these situations?

If I can do anything to help with implementation or documentation, I'd be glad to.

So, after digging around a bit more I found that probably there is no nice way to handle this at the moment. The clean way would be to use the WebDriver interface to handle dialogs, but it seems that this won't happen soon.
The WebDriver spec assumes that dialogs are blocking, so when a dialog appears the following command is expected to handle the dialog. If the subsequent command doesn't handle the dialog, an error is raised.
PhantomJS on the other hand assumes that dialogs are non-blocking. It expects a callback function such as page.onConfirm before the actual dialog appears, where we can simulate user interaction with the dialog. This cannot trivially be made to block until the next command is received (accept/dismiss), therefore unlikely to be implemented soon in Ghostdriver.
In addition to that, the WebDriver spec now also allows to specify a "user prompt behaviour" to globally handle dialogs. The necessary changes in Ghostdriver have already been implemented, and will hopefully be available once PhantomJS 2.5 is released. While this is good news, the solution has its own problems. For example, it seems impossible to specify a dynamic return value for a JS prompt(message, default). Instead, the default value is always returned.
All of this leads me to the conclusion that if we want to be able to handle prompts today, we need to have a way to provide the onAlert, onConfirm and onPrompt callbacks to PhantomJS directly. Luckily, Ghostdriver implements an endpoint session/:session_id/phantom/execute (source). This works similarly to execute_script, but the injected code runs in the PhantomJS context, where this is the current page object. This can then be leveraged to add PhantomJS handlers.
I implemented a proof of concept here. If you would be open to adding execute_phantom_script to Wallaby that would be awesome, and I could make a proper PR out of this. I could also work on some helpers to set up callbacks, but I am not sure how such driver specific helpers would fit in with the overall architecture. I can perfectly understand if you'd rather keep those in a separate package, which I'd be happy to build as well 😉.
Please let me know what you think!

Thanks for putting so much research into this @padde! This is something that has caused issues with folks before. It looks like we might be able to incorporate your proof of concept into the init process of the phantom servers. We could provide a higher level api for handling alerts from the Browser module. Then the driver specific implementations can all go in the phantom driver.
I'd love to check out a PR for this if its something you wanna work on. Lemme know if there is anything that I can do to help as well.

Thanks for the feedback @keathley. The only thing that's holding me back right now is that I want to get the API right before digging in all the way. I want to make sure we don't build a high level API that is incompatible with the WebDriver spec, which would then make it hard to implement additional drivers later.
With PhantomJS the way to handle alerts would be:
session
|> visit("page.html")
|> accept_upcoming_alert()
|> click(Query.link("Trigger alert"))

whereas WebDriver assumes something like this:
session
|> visit("page.html")
|> click(Query.link("Trigger alert"))
|> accept_currently_visible_alert()

If we want to implement these helpers today, we need to stick with the PhantomJS way. I am not sure how well other drivers would cope with this API though. We'd basically have to re-implement callbacks for those other drivers in Wallaby, keeping track of the registered prompt handlers etc, then figuring a way to trigger them at the right time. This would leave us with both special code for PhantomJS, and special code for the drivers that adhere to the WebDriver spec - not very pretty.

(not sure my understanding of this is as whole as it could be)
Couldn't we just make a high level API that encompasses it like this:
accept_alert_triggered_by fn -> click(session, Query.link("Trigger alert"))

then the web driver implementation could do the acceptance of the alert before or after calling the function depending on what the driver wants :)

@PragTob that's a really nice idea! It would probably be useful to pass down the parent as an argument, so that we can write for example
session
|> visit("page.html")
|> accept_alert(fn(session) ->
  click(session, Query.link("Trigger alert"))
end)

Maybe we could also add helpers to accept/dismiss all dialogs in case we're not really interested in specific ones. These could easily be implemented with the standard "unhandled prompt behaviour" from WebDriver if the driver implements them (e.g. will be in PhantomJS 2.5):
session
|> accept_dialogs()
|> visit("page.html")
|> click(Query.link("Trigger alert"))

In summary, I'd then suggest the following API for Browser:
@doc """
Accept all JavaScript dialogs.
Returns the `session`.
"""
def accept_dialogs(session)

@doc """
Dismiss all JavaScript dialogs.
Returns the `session`.
"""
def dismiss_dialogs(session)

@doc """
Accept one JavaScript `alert()` dialog triggered by the action within `fun`.
Returns the prompted text originally passed to `alert()`.
"""
def accept_alert(session, fun)

@doc """
Accept one JavaScript `confirm()` dialog triggered by the action within `fun`.
Returns the prompted text originally passed to `confirm()`.
"""
def accept_confirm(session, fun)

@doc """
Dismiss one JavaScript `confirm()` dialog triggered by the action within `fun`.
Returns the prompted text originally passed to `confirm()`.
"""
def dismiss_confirm(session, fun)

@doc """
Accept one JavaScript `prompt()` dialog triggered by the action within `fun`.
Will use the default value of the `prompt()` if no `return_value` is specified.
Returns the prompted text originally passed to `prompt()`.
"""
def accept_prompt(session, return_value \\ nil, fun)

@doc """
Dismiss one JavaScript `confirm()` dialog triggered by the action within `fun`.
Returns the prompted text originally passed to `prompt()`.
"""
def dismiss_prompt(session, fun)

The internal Driver API could probably be a bit more generic:
@doc """
Handle all subsequent JavaScript dialogs using the specified return value.
Returns the `session`.
"""
def handle_dialogs(session, return_value)

@doc """
Handle one JavaScript `alert()` dialog triggered by the action within `fun`.
Returns the prompted text originally passed to `alert()`.
"""
def handle_alert(session, fun)

@doc """
Handle one JavaScript `confirm()` dialog triggered by the action within `fun`.
Returns the prompted text originally passed to `confirm()`.
"""
def handle_confirm(session, return_value, fun)

@doc """
Handle one JavaScript `prompt()` dialog triggered by the action within `fun`.
Will use the default value of the `prompt()` if `return_value` is `nil`.
Returns the prompted text originally passed to `prompt()`.
"""
def handle_prompt(session, return_value, fun)

One alternative to the above suggestion would be to return the session struct back from all helpers to keep them chainable, then have separate functions to retrieve the prompted text, for example:
@doc """
Accept one JavaScript `alert()` dialog triggered by the action within `fun`.
Returns the `session`.
"""
def accept_alert(session, fun)

# ...

@doc """
Returns all messages from JavaScript dialogs handled with `accept_alert` etc., which were triggered within the specified `session`.
"""
def dialog_messages(session, fun)

@doc """
Returns the last message from a JavaScript dialog handled with `accept_alert` etc., which was triggered within the specified `session`.
"""
def last_dialog_message(session, fun)

Closing since this has been merged with #173

So I tried using the accept_confirm function to handle a confirm box after clicking a "delete" link on a user, but the item does not get deleted. I am using Wallaby 0.22 and Wallaby.Experimental.Chrome driver.
However if I use @padde original work around
execute_script(session, "window.confirm = function(){return true;}")

before clicking the link, everything works as expected.
Here's a test I'm writing. (The commented code would make the last assert fail)
defmodule SampleAppWeb.UserIndexTest do
  use SampleAppWeb.IntegrationCase, async: true
  import Wallaby.Query
  alias SampleApp.Accounts
  alias SampleApp.Accounts.User
  alias SampleAppWeb.Endpoint
  alias SampleApp.Factory

  setup do
    admin = Factory.insert(:user, admin: true)
    non_admin = Factory.insert(:user)
    for _n <- 1..35 do
      Factory.insert(:user)
    end
    {:ok, admin: admin,
          non_admin: non_admin}
  end

  test "index as admin including pagination and delete links",
    %{session: session, admin: admin, non_admin: non_admin} do
    session
    |> login_as(admin)
    |> visit(user_path(Endpoint, :index))
    |> assert_has(css("ul.pagination", count: 2))
    first_page_of_users = Accounts.paginate_users(%{page: 1})
    for user <- first_page_of_users do
      session
      |> assert_has(css("a[href='#{user_path(Endpoint, :show, user)}']", text: user.name))
      unless user.id == admin.id do
        session
        |> assert_has(css("a[href='#{user_path(Endpoint, :delete, user)}'][data-method='delete']"))
      end
    end
    user_records_before = Repo.one(from u in User, select: count())

    session
    |> execute_script("window.confirm = function(){return true;}")
    |> click(css("a[href='#{user_path(Endpoint, :delete, non_admin)}'][data-method='delete']"))

    # message = accept_confirm(session, fn(s) ->
    #   click(s, css("a[href='#{user_path(Endpoint, :delete, non_admin)}'][data-method='delete']"))
    # end)

    user_records_after = Repo.one(from u in User, select: count())
    assert user_records_before == user_records_after + 1
  end
end


As an avid fan of your mod, I can't but help that my local area (Venezuela) has some rather... awkward politics. The 1946 start has 2000s parties in power, and Venezuela was ruled by a presidential dictatorship (1945-1948), military dictatorship (1948-1958) and a bipartisan democracy (1958-1998) before Chavez came into power and became the figurehead of the Latin American Pink Tide (1998-2013) and subsequent shenanigans (2013-20??).
I've compiled a list of some parties and the closest in-game political leanings they hold, as well as some Wikipedia links about Venezuelan history, for flavour.
https://en.wikipedia.org/wiki/History_of_Venezuela_(1908–58)

https://en.wikipedia.org/wiki/El_Trienio_Adeco
https://en.wikipedia.org/wiki/Venezuelan_general_election,_1947

https://en.wikipedia.org/wiki/History_of_Venezuela_(1948–58)

https://en.wikipedia.org/wiki/Marcos_Pérez_Jiménez
https://en.wikipedia.org/wiki/1958_Venezuelan_coup_d'état

https://en.wikipedia.org/wiki/History_of_Venezuela_(1958–99)

https://en.wikipedia.org/wiki/Punto_Fijo_Pact

https://en.wikipedia.org/wiki/History_of_Venezuela_(1999–present)

https://en.wikipedia.org/wiki/Hugo_Chávez
https://en.wikipedia.org/wiki/Bolivarian_Revolution
https://en.wikipedia.org/wiki/Pink_tide

Political parties existing at the start of the game (1946):

Liberal - Accion Democratica - https://en.wikipedia.org/wiki/Democratic_Action_(Venezuela)
(Free Trade, Interventionism, Secularism, Affirmative Action, Pacifism)

Conservative - COPEI - https://en.wikipedia.org/wiki/Copei
(Free Trade, Interventionism, Moralism, Citizenship, Pacifism)

Progressive - https://en.wikipedia.org/wiki/Democratic_Republican_Union
(Free Trade, Laissez-Faire, Secularism, Affirmative Action, Pacifism)

Marxist-Leninist - https://en.wikipedia.org/wiki/Communist_Party_of_Venezuela
(Protectionism, Planned Economy, Atheism, Affirmative Action, Pro-Military)

Major parties that also exist at the 1992 start:

Nationalist - Nationalist Civic Crusade - https://en.wikipedia.org/wiki/Nationalist_Civic_Crusade
(Protectionism, Interventionism, Moralism, Residency, Jingoism)

Socialist - Movement for Socialism - https://en.wikipedia.org/wiki/Movement_for_Socialism_(Venezuela)
(Protectionism, State Capitalism, Atheism, Affirmative Action, Pacifism)

Major parties that emerge after 1992:

Populist - Popular Will - https://en.wikipedia.org/wiki/Popular_Will
(Free Trade, Interventionism, Secularism, Citizenship, Pro-Military)

Socialist - United Socialist Party of Venezuela - https://en.wikipedia.org/wiki/United_Socialist_Party_of_Venezuela
(Protectionism, State Capitalism, Secularism, Affirmative Action. Pro-Military)

Thanks, and if there is any way I can help or collaborate to add some flavour and detail on Venezuela (and SA in general), I'd be more than willing.

Thanks.
If you have experience modding please clone the git repo make your changes and then make a pull request I your improvements will get into the mod.
I will add the suggested parties to the mod.
On the potential events, and you do not have experience modding you can still help me out greatly by writing event texts. For example:
Name: Punto Fijo Pact
Desc: The Punto Fijo Pact was a formal arrangement arrived ...
A: Enter into the pact.
B: Not necessary
And some not on what should happen upon making the choices, like increased militancy, prestige....

Sure! I know just a bit of coding, but I'll try to make it as descriptive as possible.
I would modify event 8017807 so that AI chances are 95 for option A and 5 for option B.

Name: Punto Fijo Pact
year = 1958 NOT = { year = 1990 }
Government = Democracy
Mean time to happen = 1 month
Fire only once = yes
Desc: After a decade of military rule by Marcos Perez Jimenez, the three leading parties of Democratic Action, COPEI, and the Republican Democratic Union established the Punto Fijo Pact, which, on paper, ensured that no party would possess absolute power in the State, and to uphold democratic values. This led to the suppression of both right-wing and left-wing parties, and the formation of underground Marxist guerrillas.
A: Sign the pact!
AI chance: 95
Political parties set to "Promote Democratic".
Voting set to "Universal".
All pops in Venezuela who are not Conservative, Liberal, Progressive, gain 2 consciousness.
All pops in Venezuela who are Conservative, Liberal, Progressive, lose 2 consciousness and 2 militancy.
All pops in Venezuela who are Communist, Traditionalist, or Nationalist gain 4 militancy.
Set country flag "punto_fijo".
B: Let Democracy take its course.
AI chance: 5
All Pops in Venezuela gain 1 plurality and 1 consciousness

Name: Communist Insurgency

year = 1962 NOT = { year = 1990 }
Government = NOT Socialist or Communist
Mean time to happen: 2 months
Needs country flag = "punto_fijo"
Fire only once = yes
Desc: After the Pact of Punto Fijo, the Communist Party of Venezuela (PCV) was sidelined by the major democratic parties. Inspired by Fidel Castro and the Cuban Revolution, PCV established the Armed Forces of National Liberation, a guerrilla group, in order to make their presence felt against the now-establishment government of Democratic Action (AD), COPEI, and the Republican Democratic Union. At the same time, youth dissidents of AD split off to form the Leftist Revolutionary Movement (MIR), who not only engaged in low-intensity guerrilla warfare, but on kidnappings, assassinations, and sabotage of the country's oil industry.
A: Crack down on these revolutionaries!
AI chance: 95
5% of all pops who are Liberal are now Communist
All Pops who are Communist gain 4 Militancy and 2 Consciousness
All Pops who are Socialist gain 2 Militancy and 2 Consciousness
B: Perhaps we should dialogue with them.
AI chance: 5
All pops in Venezuela lose 1 Militancy and gain 1 Plurality.
All pops who are Conservative or Liberal gain 2 Consciousness.
Prestige = -2

Decisions:

Name: Rafael Urdaneta Bridge

(image source: https://commons.wikimedia.org/wiki/Puente_General_Rafael_Urdaneta#/media/File:General_Rafael_Urdaneta_Bridge_view_from_the_lake_to_Cabimas_side.jpg)
Potential:
Own "Maracaibo" province.
Year = 1950
Allow:
Have discovered "Highway Construction"
Have $20,000 in funds.
Effect:
Funds: -10,000
Prestige: +5
Desc: The General Rafael Urdaneta Bridge is located at the outlet of Lake Maracaibo, in western Venezuela. The bridge provides highway access between Maracaibo and the rest of the country; a trip that had previously required ferryboats across the lake. Made of reinforced and prestressed concrete, the cable-stayed bridge spans 8,678 metres (5.392 mi) from shore to shore. The five main spans are each 235 metres (771 ft) long. They are supported from 92-metre (302 ft) tall towers, and provide 46 metres (151 ft) of clearance to the water below.

I will add a few more events (1970 and beyond) in the coming days as I do some research. Are there any plans to have OPEC established in-game in any capacity?

Opec is in the mod as of the next release.

@Blaskowicz, sorry for missing this issue. I will fix it in the next release 1.13.


Python version

Hello @brettlangdon , i'm working with python 2 and your module is giving out some errors
while in python 3 there are no errors

@Nivekiba would you be willing to share the errors you are seeing with an example of how you are using the library?

After typing python -i intercept.py (python)
i got the following errors:

Why ?

This is the other error i'm getting

I just released 1.0.7, please give that a try and let me know if the issue still exists.
The problem is because I was using f-strings for logging instead of ''.format()
I'd prefer to maintain this only for Python 3, but this is an easy enough change to get this working.

And for the errors on importlib.abc ?
Is there anyway to avoid that ?

yeah, I am going to update this package so it won't install on Python 2, that was my original intention anyways.
I am sorry about any confusion here, I put the package metadata as Python 3 only, but I should have done python_requires=">3.3".
I am only interested in maintaining this package for Python 3 since Python 2 is now EOL.


Breaking API changes for TestReport in Jenkins 2

Disclaimer: I've only noticed this in Jenkins version 2.7.3
I noticed I was getting 0 back for the TestReport.getTotalCount() yesterday after looking into the upgrade process from a Jenkins 1.6.X server to Jenkins 2. After looking at the JSON API for test report on Jenkins 2, I noticed that there is no totalCount attribute anymore, with the following available:

"empty" : false,
"failCount" : 0,
"passCount" : 458,
"skipCount" : 2,

I'm not sure what the best approach would be to "fix" this whilst maintaining backward compatibility. Potentially looking for (and summing) failCount, passCount, and skipCount if totalCount returns 0 in the library? As far as I'm aware, passCount is new as well. Alternatively, doing something with the empty flag.
What are your thoughts?

First thanks for you hints about that but that's what I feared...that this would happened. I already have some information in the code which contains the version of Jenkins is running..So it looks I need either to go with those differences (I don't know how at the moment) or just focus on version 2.X of Jenkins?
Within the integration tests I'm trying to find a good way to handle different jenkins versions which is really hard at the moment...The way I tried does not really work...

So something else I've been thinking about as a solution is to slightly
change your versioning and release cycle to be tightly coupled to the
Jenkins version ie 2.7.3 of the library supports Jenkins 2.7.3
It would resolve a lot of your issues around backwards compatibility. The
breakages and issues that I suspect occur with the library are usually down
to newer versions of Jenkins having breaking changes to the api. This would
also remove the need for hacks to support backward compatibility
On Sunday, 4 September 2016, Karl Heinz Marbaise<EMAIL_ADDRESS>wrote:

First thanks for you hints about that but that's what I feared...that this
would happened. I already have some information in the code which contains
the version of Jenkins is running..So it looks I need either to go with
those differences (I don't know how at the moment) or just focus on version
2.X of Jenkins?
Within the integration tests I'm trying to find a good way to handle
different jenkins versions which is really hard at the moment...The way I
tried does not really work...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jenkinsci/java-client-api/issues/184#issuecomment-244595343,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGydjbBO4wCx_lFrJb44dtvoG-8WLUqbks5qmp6ZgaJpZM4J0e6B
.

The advantage of this for me is when Jenkins make an API breaking change between versions I'll get a compile error in the corresponding library version, rather than finding out by accident something isn't quite working!

I just realised this isn't a 2.X breaking change as it also appears to be the case for 1.658

After thinking and testing about this I realized there is something wrong here...You have mentioned you have used TestReport.getTotalCount() within TestReport class which has been introduced into 0.3.1 of the API...Furthermore I have tested with 2.19.2, 2.7.1, 1.651.3 where I can't see any difference in the REST API of Jenkins (related to totalCount etc.). But what I have found is that you are referencing the TestResult (based on "empty" : false,) which is part of TestResult class which also contains the "empty" entry.
        JenkinsServer js = new JenkinsServer(URI.create("http://localhost:10090/buildserver"), "admin", "admin");

        JobWithDetails job = js.getJob("maven-test");
        Build lastCompletedBuild = job.getLastCompletedBuild();
        TestReport testReport = lastCompletedBuild.getTestReport();

        System.out.println("Fail Count:" + testReport.getFailCount());
        System.out.println("Skip Count:" + testReport.getSkipCount());
        System.out.println("Total Count:" + testReport.getTotalCount());
        List<TestChildReport> childReports = testReport.getChildReports();

        for (TestChildReport testChildReport : childReports) {
            System.out.println("Child: ");
            TestResult result = testChildReport.getResult();
            System.out.println("  Duration: " + result.getDuration());
            System.out.println("  Fail Count:" + result.getFailCount());
            System.out.println("  Pass Count:" + result.getPassCount());
            System.out.println("  Skip Count:" + result.getSkipCount());

            List<TestSuites> suites = result.getSuites();
            System.out.println("Suites:");

            for (TestSuites testSuites : suites) {
                List<TestCase> cases = testSuites.getCases();
                for (TestCase testCase : cases) {

                }
            }
        }

May I misunderstand a thing here...but at the moment I don't see an issue...May be you can clear that up....

So after more testing I found the misunderstanding on my site. I assume you have tried to get TestReport of a unit test of a build which is NOT a Maven build..? There is a difference between TestReport which is coming from a Maven build and a freestyle or non Maven build...which seemed to be the issue...So i will investigate that more...

Thanks, I'll test this out when I have a chance (either today or tomorrow)

Cool. This is great if you check this...Take your time...

This works great, thanks!


Device not working

Device model / 设备型号
lumi.gateway.aeu01
Component version / 插件版本
0.7.7
HA core version / HA版本
2023.4.5
Integrated mode / 集成方式
Automatic (自动模式)
The problem / 问题详情
In the logs it will say device not supported if it is working make a issue at this github page
Entity attributes / 实体属性
Can't access
Home Assistant Logs / 系统日志
Aqara Hub M1S(lumi.gateway.aeu01): Set miot property {'did': '464009270', 'siid': 2, 'piid': 1, 'value': False} failed, result: {'did': '464009270', 'iid': '0.2.1', 'siid': 2, 'piid': 1, 'code': -704002000, 'exe_time': 0}

Accidently closed this

Adding gateway devices directly is not supported, you can try to integrate the sub-devices (cloud) under the gateway through the Xiaomi account.

Subdevices will also not show up

The only subdevice I have connected to the gateway is Aqara Cube lumi.sensor_cube.aqgl01

Unsupported device.

Why

Events cannot be monitored in real time.

It is the same in aqara home and xiaomi home that isn't exactly real time it happens only when the cube moves then it is updated


Run TGE of ERC20 smart contract

Can it be that you mean TGE, not ICO? Token generation event? ICO is about selling a first allocation to investors

yes thanks

I will consider this as a part of #1177. If we want to flesh out this particular task for a sprint, we can always do this again.


_ is undefined

Now maste can't be used out of the box because lodash is a runtime dependency but the blueprints don't add it to the bower.json.
The change should be this:
'use strict';

module.exports = {
  normalizeEntityName: function() {
    // this prevents an error when the entityName is
    // not specified (since that doesn't actually matter
    // to us
  },

  afterInstall: function() {
    return this.addBowerPackagesToProject([
      {name: 'pretender', target: '~0.6.0'},
-      {name: 'ember-inflector', target: '~1.3.1'}
+      {name: 'ember-inflector', target: '~1.3.1'},
+      {name: 'lodash', target: '~3.7.0'}
    ]);
  }
};

Fancy a PR?

woops. let me take care of it.
is there a way to test this?

I haven't tested, but this steps should work:

Create brand new app
run ember install ember-cli-mirage
Update to master => "git://github.com/samselikoff/ember-cli-mirage.git#cc9be12",
The console should show Uncaught ReferenceError: _ is not definedFactory.extend

right i did that + fixed, but I meant is there a way we could add a test to the test suite to ensure this doesn't break in the future

Oops, that was my bad. Sorry.

This is tricky, because in the dummy app in testing it will be included, because it's in the bower.json of the addon. I think that this is untestable.

haha @seawatts no worries - not as bad as me adding tmp to the repo ! :)

@cibernox right i figured. that's annoying, would be nice to eventually have a sanity check test like this run somewhere automatically as part of the suite.

@samselikoff :stuck_out_tongue:


Rust: Not stopping on breakpoints

OS: macOS 10.15.4
VSCode version:  1.45.0
Extension version: 1.5.0
Toolchain version:
stable-x86_64-apple-darwin (default)
rustc 1.43.1 (8d69840ab 2020-05-04)
Build target: x86_64-apple-darwin
Python version: 3.7.7
As described here, using the rust-analyzer vscode extension, I'm unable to debug unit tests. Breakpoints are not triggered.
I've added the configuration to run the unit test to launch.json and that did not make any difference, breakpoints are still ignored.
This problem is specific to unit tests. In launch.json I've also configured my command-line application and when I run it, breakpoints are triggered, I can step through code, etc... so this problem is specific to unit tests.

Can you please provide a verbose log?  (see instructions in the new issue template)

Sorry for the delayed reply. Attached is the verbose log.
Verbose log.txt

I ran into the same problem and I'm pretty sure it has to do with path differences, as I was able to step up the stack frame to the file in question.  When I moused over the tab, the path for my file in VS Code showed up as ~/project/src/lib.rs while the path in the debugger was absolute (it might be vice-versa, as my memory is off).
I'm guessing that fixing #304 would fix this.

I'm running into the same issue


SKR IpRange integration tests

Description
Changes proposed in this pull request:

added SKR controllers suite setup
added SKR IpRange integration tests
added SKR Reloader
changed ReconcilerFactory.New() to receive one struct argument
added Dev CLI tool to manage kymas and shoots

Related issue(s)

/retest

/cla


[Feature Request] Add Option to Vote on Polls

Before adding this issue, make sure you do the following to make sure this is not a duplicate:

✔ Search through the repo's previous issues
✔ Read through the readme at least once
✔ Search the docs for the feature you're looking for

Nowadays, it is possible to detect poll votes when:

contact votes on polls;
I vote on polls using WhatsApp Web and WhatsApp Mobile App.

However, there is no function to vote on polls directly with Baileys.

Voting on polls is similar to finding out the voted option.
Do this in reverse: https://gist.github.com/PurpShell/44433d21631ff0aefbea57f7b5e31139 and you should get the value you can use to vote on polls.

Voting on polls is similar to finding out the voted option.
Do this in reverse: https://gist.github.com/PurpShell/44433d21631ff0aefbea57f7b5e31139 and you should get the value you can use to vote on polls.

Gotcha, I will try to implement it and I will share the code here if I got any results. Thanks!!


Dropwizard / Docker example references solutionStack that doesn't exist

According to http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html, the solutionStack referenced was removed a couple of days ago: https://github.com/ingenieux/beanstalker/blob/master/elasticbeanstalk-docker-dropwizard-webapp-archetype/src/main/resources/archetype-resources/pom.xml#L32
I'm trying 'Single Container Docker 1.6 version 1.4.3' but that's not working out either:
Caused by: com.amazonaws.AmazonServiceException: No Solution Stack named 'Single Container Docker 1.6 version 1.4.3' found. (Service: AWSElasticBeanstalk; Status Code: 400; Error Code: InvalidParameterValue; Request ID: f8528a27-14f5-11e5-9189-8d36c0c33eea)

I found it!
'64bit Amazon Linux 2015.03 v1.4.3 running Docker 1.6.2'

This is now deprecated by #65

And further complicated by multicontainer


Unable to find Starting Point

Hi,
I have downloaded the source code and trying to use it with my webservices, I have some queries:

What is going to be the input of this client? query or fragment (subject, predicate, object)?
What's the the starting point? Which function I need to call for initiating process?

Note: Checked Testcases to figure out above queries, but did not helped me.
Thanks

Hi,
Did you check the Readme?
Here's some starting code wit jena:
LinkedDataFragmentGraph ldfg = new    LinkedDataFragmentGraph("http://data.linkeddatafragments.org/dbpedia");
Model model =       ModelFactory.createModelForGraph(ldfg);

The starting point is any fragment URL, like in this case http://data.linkeddatafragments.org/dbpedia,  but can be a more specific fragment too.


Where can I find the command --play corresponding code definition and analysis

Where can I find the command --play corresponding code definition and analysis

look into baselines/baselines/run.py file, specifically, here: https://github.com/openai/baselines/blob/1f99a562e3df9eaad96b59d44677006ef54ca1c2/baselines/run.py#L218


Plot of fastest growing mutations

Plot of fastest growing mutations (selection estimates and their 95% confidence intervals, like the fastest growing lineages plot) - starting with those mutations both (1) observed and (2) noted for immune evasion via the Bloom lab tools (such as https://jbloomlab.github.io/SARS2_RBD_Ab_escape_maps/escape-calc/ etc set for eliciting virus including BA.5 and and neutralizing XBB).
Sticking this in here quickly, as I can't attend the next meeting so just want to flag it, with apologies if this is already an issue (as this has been discussed).

We might not have enough data for Canada only, This could be a COVID-MVP issue @anwarMZ


DRAFT Improve UG

Experimental Branch that does not work still DRAFT, do not review until completed.

This PR has gotten too messy, refer to https://github.com/AY2324S1-CS2103T-W10-2/tp/pull/263 for a neater version


[Bug]: Core dump on adding text element to workspace

Summary Description
When attempting to add text to a project, the program crashes, simply stating "Segmentation fault (core dumped)" in the console.
Additional Details
Open new project
Add text
See crash
Crash logs
Unsure where to get them

MeerK40t Version
v0.9.5 git - latest commit
MeerK40t Type
Git
Your Operating System
Linux

Update: Program now spat out this info:
Gtk:ERROR:../gtk/gtktextbtree.c:1545:_gtk_text_btree_find_line_top: code should not be reached
Bail out! Gtk:ERROR:../gtk/gtktextbtree.c:1545:_gtk_text_btree_find_line_top: code should not be reached

No idea why this happens, but I can avoid it. My take: wxpython under Linux crashes hard when a control is assessed while the containing frame is still being intiated on the display system. The culprit code is simply: 'Focus a control, and select all text in it'.
The workaround is to wait a bit and then do exactly the same thing. It's things like these that drive me crazy....

No idea why this happens, but I can avoid it. My take: wxpython under Linux crashes hard when a control is assessed while the containing frame is still being intiated on the display system. The culprit code is simply: 'Focus a control, and select all text in it'.
The workaround is to wait a bit and then do exactly the same thing. It's things like these that drive me crazy....

Would there be some check you can do to see if the UI is ready?

I did try that, wx.Window the baseclass exposes a couple of indicators:
IsShown, IsShownOnScreen, IsFocusable
all three were positive and it still crashed...

wxpython has more bugs than MeerK40t - and that is something you shouldn't be proud of ;-)

How long am I supposed to wait for the window to be done loading? I waited about 45 seconds and it still crashed

Really? The try to return directly without the tect selection

Really? Then try to return directly without the text selection

Return to what?

I have fully eliminated the code for Linux in PR #2676


Update code for watson-developer-cloud 2.0

Closed via https://github.com/IBM/watson-voice-bot/commit/cb165a0aa536dbeabb8c32ab969771d0a36eb69e#diff-b4ef698db8ca845e5845c4618278f29a


Upgrade prompt opens in all terminals

I have iTerm2 set to auto open about a dozen terminals. When there's an update due, it asks me in every terminal if I want to upgrade. Would be awesome if it used some kind of mutex, maybe a file lock or something, to ensure that the prompt only appears once.
#feature-request
Thanks for an awesome library.

Hi, and thanks for contributing.
What you are suggesting seems like a big change, so I would not count on it being added soon. Maybe you can start working on it yourself?

Here's a simple algorithm that will do what you want:

Touch $ZSH/log/update.lock
Update
Delete $ZSH/log/update.lock

It will be a little more complicated than that but it's a start. What do you think?

The challenge with touch / update / delete is that you need to check if the file exists, then touch, and that's not an atomic operation. So two processes started at exactly the same time, might both decide that there is no lock file, and then both call touch at the same time, thereby creating a race condition.
However, google was helpful, tools exist to solve precisely this problem. solo could be useful. Apparently only 10 lines of code.
@ncanceill I'd guess it's not such a big change. I'm assuming there's some kind of occasional check to see if the update should be fired. It could be a case of just adding some kind of mutex call to that update.
Hmm, this whole thing seems much more accessible than I imagined. I guess a change in check_for_upgrade.sh will probably do it. I might look into that myself and see about a pull request...

@chmac I will be happy to test if you do so.

There's also basic flock support in the zsh/system module that would allow you to do actual file locking. Something like this.
zmodload zsh/system
lockfile=$TMPDIR/omz-upgrade.lock
touch $lockfile
zsystem flock -t 1 $lockfile

Would someone be interested in taking a stab at a PR for this?


Bump2024 - cloudsave fix

Bump2024 - cloudsave fix
Haven't tested yet but it compiles ok.

Thank you

I just tested it then. It works ok.


dotnet build appears to be redundant

In this document, the dotnet build script task is followed by the DotNetCoreCLI@2 task to publish, but the DotNetCoreCLI@2 task is converted to the dotnet publish command, so the dotnet build script task appears to be unnecessary because the DotNetCoreCLI@2 task is converted to the dotnet publish command.
This is because the dotnet publish command internally executes dotnet build, and because dotnet build does not place the wwwroot folder, etc., necessary for the web project, in the bin. Therefore, it is necessary to create a deploy package with the dotnet publish command.
I propose the following fixes
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: true

->
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: true
    arguments: '--configuration $(buildConfiguration)'

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

ID: 7a456d5b-3cff-be3f-f227-3533bc46c765
Version Independent ID: f2ea1560-6787-7618-312d-78031ed5a73b
Content: Configure CI/CD with Azure Pipelines - Azure App Service
Content Source: articles/app-service/deploy-azure-pipelines.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: jukullam

@kaito-ms
Thanks for your feedback! We will investigate and update as appropriate.


Import paths

Currently I have an import like this:
@import "../bower_components/foundation/scss/foundation/_functions";

But I've since moved bower_components from ./resources/assets (where the scss) folder was to ./vendor/.
Why is laravel-elixir-sass-compass not able to use these paths?

Thinking you've just got an issue with your paths, if you have a specific error message you're getting I can take a look, but without an error that points specifically to the plugin I can't debug.


MudToggleGroup: Changing underlying data not reflected in UI

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudToggleGroup
What happened?
Clicking on "Don't know" in the example should always flip the selection over to "Yes" due to the logic that intercepts the value of _value1 in the OnValueChanged method. However if you click "Don't know" more than once, it will show "Don't know" as selected even though the underlying value indicates that the selection is "Yes".

Expected behavior
The selection in the UI should always be "Yes" if I click on "Don't know". At least that's how I imagined this would work :)
Reproduction link
https://try.mudblazor.com/snippet/GuwebGwCBWETaWjG
Reproduction steps

Click on "Don't know"
Observe that the selection flips over to "Yes" the first time
Click on "Don't know" again
Observe that the selection remains on "Don't know" while the underlying value is "Yes"

Relevant log output
No response
Version (bug)
7.15.0
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On which operating systems are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

As always, thank you very much for this absolutely fantastic library!

So the issue is the Selected changes when you click, but is updated again when "Value" changes, in your case the Value doesn't change when going from Yes to Yes so the updated Selection is not Selected properly. I'm looking into it.


Disable middle-click copy-paste when autoscroll is enabled

Is your feature request related to a problem? Please describe.
When autoscroll is enabled on Linux the middle-click copy-paste is still functional and causes whatever is in my clipboard to be copied into the chat bar sometimes when I'm using autoscroll.
Describe the solution you'd like
Disable middle-click copy-paste when autoscroll is enabled, or at least a separate option for disabling middle-click copy-paste.

Yeah, I've noticed that for some time, but I don't know yet what triggers the paste. It might be either Chromium or Discord, althrough I think websites should require a clipboard permission to actually access the clipboard content without user consent, so maybe it has to be disabled with the Chromium flags?

This seems to be case in Chromium based browsers as well, even when I disable "Middle Click Paste" in Gnome Tweaks. But I finally managed to stop this behavior in WebCord by using 1.2 version (1.3 didn't work for me) of this script:
https://github.com/milaq/XMousePasteBlock/releases/tag/1.2
Also, I just found out that for some reason there are 2 clipboard-like mechanisms in Linux - primary selection (copy by selecting text and paste by middle mouse button) and clipboard selection (copy by CTRL+C, paste by CTRL+V).

This seems to be case in Chromium based browsers as well, even when I disable "Middle Click Paste" in Gnome Tweaks. But I finally managed to stop this behavior in WebCord by using the 1.2 version (1.3 didn't work for me) of this script: https://github.com/milaq/XMousePasteBlock/releases/tag/1.2
Also, I just found out that for some reason there are 2 clipboard-like mechanisms in Linux - primary selection (copy by selecting text and paste by middle mouse button) and clipboard selection (copy by CTRL+C, paste by CTRL+V). I don't know why there are two separate clipboards.

i downloaded 1.2 and installed manually. it works very nicely so far.

If you're on KDE Plasma, also follow this: https://github.com/milaq/XMousePasteBlock/issues/17#issuecomment-1371784589


Updated all project packages.

Changelog:

Pinned numpy, scipy, pandas, scikit-learn and statsmodels versions to latest, the same as in the monetdb Dockerfile. Added comments as well to avoid difference.
Updated black and isort packages, in pyproject.toml as well as in github actions.
dnspython was pinned to 2.2.1 due to a bug in eventlet https://github.com/eventlet/eventlet/issues/781 .

Yes @jassak I agree that we should proceed that way but I didn't have time to do it, since it will require changes in the Dockerfiles as well to install poetry.
This is an urgent PR since Simos, Molly and Kostas have issues with poetry update, due to broken dependencies.


Proxy rotation in one session

Hey! I want to ask, is there any plans, or may be currently aiohttp have method to set proxy on per-request basis, or any other chances to rotate proxy in one session? Currently, I creating new session to make requests with different proxies.
Thank you in advance!

In theory we could refactor API to accept proxy and proxy_auth for every request but now I don't have strong need for it.
But the Pull Request is welcome as usual :)

See also #985

Fixed by #998

@asvetlov Wow, that's amazing news, thank you! Also, thank you so much @mind1master or this great patch!


'SortDescriptor' is ambiguous for type lookup in this context

What did you do?
Imported RealmSwift to use Object class and then used also SortDescriptor, everything in the same file.
ℹ Please add here the steps to reproduce the issue.
Platform

[x] iOS
[x] macOS
[x] tvOS

StorageKit Version
0.1.1
What did you expect to happen
We shouldn't have any compile errors.
What happened instead?
The compile error 'SortDescriptor' is ambiguous for type lookup in this context
Demo Project
Gist

We can fix this compile error changing the import:
import class RealmSwift.Object

The problem is that RealmSwift has already an object called SortDescriptor which makes a conflict with the one of StorageKit.
For the moment, we can avoid changing the library since we would rarely have this scenario.

Wouldn't it be better to change anything exposed by StorageKit (especially enums and utils) adding the prefix SK?

where to put import class RealmSwift.Object? I'm having issue with Xcode 13 now (currently at RealmSwift (10.15.1))

If you use SortDescriptor just add
import RealmSwift

typealias SortDescriptor = RealmSwift.SortDescriptor


Please provide an example that has '/k' option used in it

I get 'Invalid syntax error' for any combination that has /k used in it. It would be great if you elaborated how to work with this key. thanks

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

ID: b712cc31-d8c9-7694-01b8-a85cda240f7f
Version Independent ID: 9c95c177-9bef-03ec-5774-f92b7ea42c9e
Content: reg query
Content Source: WindowsServerDocs/administration/windows-commands/reg-query.md
Product: windows-server
Technology: manage-windows-commands
GitHub Login: @coreyp-at-msft
Microsoft Alias: coreyp

Recently I needed to find certain things in key only. Struggled hard, failed.
reg query HKLM /f "Convert with Doxillion" /s /k
using /f runs the query, but fails to find result(s) though exist(s) on regedit search.

Hi @ortymd, thank for the feedback.  /k has to be used in conjunction with /f. If you only use /f, it will find all keys, values and data that match the search term, but if you add /k, it will only find keys (not values and data too).
For example (/s in this example searches subkeys recursively):
reg query HKLM\SOFTWARE\Microsoft /s /f asp.net finds 10 matches.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c2-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension IIS Snap in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c3-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension Static Node
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c4-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension Machine Node
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c5-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c6-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c7-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension Instance Node
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c8-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension VDir Node
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes{a841b6c9-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet
{fedb2179-2335-48f1-aa28-5cda35a2b36d}    REG_SZ    ASP.NET MMC Extension File Node
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns{fedb2179-2335-48f1-aa28-5cda35a2b36d}
NameString    REG_SZ    ASP.NET Management Extension
End of search: 10 match(es) found.

...whereas reg query HKLM\SOFTWARE\Microsoft /s /f asp.net /k finds 1 match:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET
End of search: 1 match(es) found.

I hope that helps.  I have added this example to the article and also stated that /k must be used with /f, which should be visible later today.
#please-close


Use Dask configuration for schedulers

I notice in https://spectral-cube.readthedocs.io/en/latest/dask.html that this package takes ownership of which Dask scheduler to use
>>> with cube.use_dask_scheduler('threads'):
...     cube.max()

It is somewhat atypical for packages that use Dask to control Dask configuration. Instead they typically let Dask handle this, which makes it easy for users to combine the use of many packages together.
I'm guessing that you've chosen to own this yourself because you prefer for cubes to have the single-threaded scheduler by default and you weren't sure how to do this without storing this preference as state somewhere.  I'm curious about this choice as well.

Also, I'm super-happy to see that Dask was helpful here :)

@mrocklin that schedule selection is in the documentation and shows how to switch the scheduler interactively.

@mrocklin - yes our reason for having our own context manager was because for large datasets, having the multithreaded/process scheduler by default let to memory issues, so we wanted multi-threading/processing to be opt-in. If there is a better way to do this.


Suggestion to change default method behavior for .Children (and add it to all elements)

Dear Devs,
it is kind of a pain to iterate through the whole page xaml for finding certain items.
The default methods .Content and .Children differ on the tree which is annoying (for beginners).
Could you improve the default method like using default examples for VisualTreeHelper?
Further it is annoying being forced to cast the method
(having not the same container providing .Children method) for the IntelliCode support.
Using multiple or deep Pages could be written recursively or iteratively much faster when the type is fixed providing and the same method could be used.
This
https://stackoverflow.com/questions/636383/how-can-i-find-wpf-controls-by-name-or-type/1759923#1759923
and this
https://codereview.stackexchange.com/questions/44760/is-there-a-better-way-to-get-a-child
relates to that.

Closing as this will be tracked in WPF repo
https://github.com/dotnet/wpf/issues/948


Fixes issues with registries that have images in new docker 1.10 mani…

…fest.
Images prior to docker 1.10 seem to be unsupported by registry:v2 and artifactory.
When uploading images that haven't been migrated to the new format it was causing issues in the parsing.
Added new UI fields and error handling.
Removed delete action from the UI for repositories since it does not work at the moment. Need to re-implement as deletion of manifest for an image.
Needs more testing
UI changes:

@JonathanRosado could you please take a look at the UI part of this to make sure I didn't miss anything. Thanks!

@JonathanRosado indeed, we need to update the Projects UI (in the add image, edit image areas) to use the associated registry id to request repositories, and then later to store that information in the backend to associate the image with the registry. Right now, I see that you send a image.registry field, but that is not implemented in the backend. We need to also add some support for that. Do you care to take a stab at this is @soninob approves? You can also make the tweaks in the backend.
@soninob This is really important since this was functionality that we had before and it broke after docker 1.10. Thanks!

Opened a new issue for the regressions: https://github.com/eedevops/shipyard/issues/64


feat(#67): Assertions messages

Assertion and RuleAssertionMessage classes were added to the repo.
Also naive implementation was added to the RuleAssertionMessage. The entire issue isn't finished and we will have to continue with it, so I've added several puzzles for it.
Closes: #67

PR-Codex overview
This PR adds a new rule to check that test methods have assertions with non-empty messages. It also adds a new interface Assertion and two implementations of it (Fake and Empty).
Detailed summary

Added Assertion interface and two implementations (Fake and Empty)
Added RuleAssertionMessage to check that test methods have assertions with non-empty messages
Updated TestCase interface and Fake implementation to include assertions() method

The following files were skipped due to too many changes: src/main/java/com/github/lombrozo/testnames/rules/RuleAssertionMessage.java

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 3min)


[Feature Request] Use Dart null safety completely

Protobuf compiler introduced Dart null safety, why StringValue, DoubleValue, Int32Value, etc, still exists? Why not using
String?, double?, int?, etc?

I was just about to ask the same. The following proto file still gives nullable fields for the generated messages.
syntax = "proto3";

service BookService {
    rpc AddBook (AddBookRequest) returns (AddBookResponse);
}

message AddBookRequest {
    string isbn = 1;
    string title = 2;
    optional Author author = 3;
}

message Author {
    string name = 1;
    optional string quote = 2;
}

message AddBookResponse {
    Book book = 1;
}

message Book {
    string isbn = 1;
    string title = 2;
}

I was expecting isbn and title in AddBookRequest to be of type String but they were String?.
Versions:
protoc: libprotoc 3.15.6
protoc_plugin: 20.0.0
Dart: 2.12.2 stable
OS: macOS_x64 10.15.7
Now that optional is no longer an experimental feature since 3.15 and Dart supports null-safety since 2.12, are there any plans for generating null-safe messages?


Stuck at last bit

so I use a VPN to download animes that Aren't avaible in my region. And I end up having the issue that the download often stops at 99% and not muxing it
Version is 4.0.1 x64

Sometimes i happend the same without VPN.... This since 4.0 versión, on 3.3.1 don happend this...


fix MQ Fire Hammer chest being in logic for child

The chest spawns on a ledge that is too high too jump up to as child.
(I considered the possibility of spawning the chest as child then collecting as adult, but I don't think child has any options to kill the flare dancer that adult does not have access to. If there is another way, it's not already in logic so that could be added by someone later)

I think I've added changes that take into account @XenoWars's recommendations, but I don't really understand git so I'm not sure. The 'Files changed' tab seems to be showing what I intended to show.

Fix the conflicts with the file

Is it obvious I have no idea what I'm doing?
(I think the conflict happened because of a big refactor Nax just pushed?)


Swift 4.2/Xcode 10 support

Now that Xcode 10 is out of beta and the iOS 12 GM has been posted, can we expect a Swift 4.2-compatible version to be released shortly?

Develop works on Xcode 10, or else if you're using Cocoapods, you can point to AudioKit's own spec to get access to the latest Xcode 10 build.

A la https://github.com/AudioKit/SongProcessor/blob/develop/Podfile

I've been working on setting up a staging version of our code as a pod until the final 4.4 comes out, you can use it via our Specs repo at http://github.com/AudioKit/Specs

I should clarify this pod is built with Xcode 10 and should be suitable to use in your projects.

Awesome, I'll give this a go this afternoon and see how it works.

@megastep Ran the 4.4.0b1 pod and everything seemed to be working as expected. I'm able to integrate our library that relies on AudioKit into our main app running Xcode 10 and Swift 4.2.
Thanks for all the work on this!
/cc @aure

Sorry for the stupid question, but how do I get this build from my podfile. With no arguments it installs 4.3.

@jbmaxwell Make sure the iOS target in your pod file is not still 9.0.  Needs to be 10.0+

Thanks for the heads-up, @aure. No worries here, we're elitists; our target is iOS 11+! ;-)


Making Vietnamese look better: What command? :)

@alexeiva in https://github.com/googlefonts/tools/blob/3c49ede147bc8aa2bccfebb2b2d700e1accf2b6c/encodings/GF Glyph Sets/Vietnamese/README.md you wrote,

Then, the following command will create new unique Vietnamese glyphs with special accents, and generate additional localized variants for these glyphs:

What is the following command, though? What follows is just a list of glyph names
cc @EbenSorkin @crystaltype

@alexeiva and, does this technique mean that there are 2 versions of Vietnamese, one which uses the special localized version (when locl is processed, such as when <html lang="vn"> or whatever it is) and one which does not (when locl is not processed, such as <html>)

acutecomb = acutecomb.loclVIT
gravecomb = gravecomb.loclVIT
...

This is called a glyphs command because it generates glyph acutecomb.loclVIT and places acutecomb as a component in the new glyph.

does this technique mean that there are 2 versions of Vietnamese

Yes, two versions in the manner you described. This is a compromise solution initially suggested for Libre Franklin, where Pablo didn't what changes in the common Latin glyphs, while Nhung insisted on special Vietnamese variants.

So the issues was common latin base glyphs like 'u' or 'a' or 'A' - correct?
If so then the reason we were asking was different. The reason Dave and I
were asking is that I was saying that the standard unicode spots for
Vietnamese language glyphs like 'acircumflexhookabove' uniIEA9 should not
use all component diacritics above the base glyphs but instead use one
precomposed diacritic. e.g rather thant having "brevecomb_gravecomb"
uni03060300
be made from the components brevecomb and gravecomb at full size these
components would be decomposed and scaled and the adjusted appropriately to
give a more more consistent optical weight with other single diacritics.
I attach an example where this adjustment has been done. At the moment I
regard this kind of scaling as being best design practice. Do you agree?
Dave, I have been thinking of asking Rainer/Glyphs to update what they do
automatically because it seems to superficially encourage a sub-optimal
solution. I was thinking of cc:ing them on this. Do you mind if I do that?
-e.
On Mon, Nov 27, 2017 at 3:04 PM, Alexei Vanyashin<EMAIL_ADDRESS>wrote:

[image: screen shot 2017-11-27 at 11 59 04 pm]
https://user-images.githubusercontent.com/16634089/33286518-fec84e36-d3ce-11e7-84a7-5292a3fdc000.png
acutecomb = acutecomb.loclVIT
gravecomb = gravecomb.loclVIT
...
This is called a glyphs command because it generates glyph
acutecomb.loclVIT and places acutecomb as a component in the new glyph.
does this technique mean that there are 2 versions of Vietnamese
Yes, two versions in the manner you described. This is a compromise
solution initially suggested for Libre Franklin, where Pablo didn't what
changes in the common Latin glyphs, while Nhung insisted on special
Vietnamese variants.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googlefonts/tools/issues/35#issuecomment-347310148,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACFIXcfpMP4OI4r-2e--6gSIDttk8I_Kks5s6xXdgaJpZM4QsMGk
.

Github doesn't accept email attachments, please go to this issue page and edit your comment and drag and drop in the image

Oh I see, so, the user reruns the Add Glyphs command

Also thanks for the heads up Dave!

@EbenSorkin That's exactly the way it is made in Glyphs App.
For example, Nunito Sans:

Under Latin > Vietnamese tab there is a set of precomposed stacked accents.
To make ắ abreveacute Glyphs combines a + brevecomb_acutecomb

Are you saying that Glyphs provides ( or can be made to provide)  the
unique unicodes codepoints for Vietnamese?
That's the best interpretation I can put to your post. Did I get it right?
Just my two cents the breve in the example on the far right looks a bit to
deemphasized to me. I think the acute could be a bit less long instead
maybe. Also assuming the scheme for vertical metrics works well might the
vietnamese diacritic be slightly taller as well? Maybe this was designed
before that scheme was invented.
-e.
On Mon, Dec 4, 2017 at 7:15 AM, Alexei Vanyashin<EMAIL_ADDRESS>wrote:

@EbenSorkin https://github.com/ebensorkin That's exactly the way it is
made in Glyphs App.
For example, Nunito Sans:
[image: screen shot 2017-12-04 at 4 11 34 pm]
https://user-images.githubusercontent.com/16634089/33552291-e71d4f40-d90d-11e7-90ac-5105110fa0d7.png
Under Latin > Vietnamese tab there is a set of precomposed stacked accents.
To make ắ abreveacute Glyphs combines a + brevecomb_acutecomb
[image: screen shot 2017-12-04 at 4 10 03 pm]
https://user-images.githubusercontent.com/16634089/33552301-f0ae3268-d90d-11e7-9ca6-178f5695a5ae.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googlefonts/tools/issues/35#issuecomment-348945741,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACFIXSiPtTLBTkQgvWmm_Rd5ASTk3tWtks5s8-JlgaJpZM4QsMGk
.

Are you saying that Glyphs provides ( or can be made to provide)  the
unique unicodes codepoints for Vietnamese?

No, these are unencoded glyphs by default
They can be made to have unicode points if you edit GlyphsData.xml
If these changes are added to the master GlyphsData file, they will be accessible to everyone in the next update.
What are the codepoints? I can update the file if you tell me.

I'm not convinced this is actually a gftools issue. But reopen if so!...


Ability to pass environment variables via capabilities

As described. env: ["key=value", "key2=value2"].

Also need to refactor other capabilities to using arrays instead of parsing strings.


Debugger error - Internal Server Error on SaaS Sandbox

Describe the bug
Sometimes when I use the debugger on a SaaS Sandbox environment and I debug the extension, the debugger stops working and leaves a session hanging on the Environment, blocking the developer for almost 30 minutes, cause the session is still alive, then it goes in timeout.
The error states "Internal Server error", but the SaaS tenant keeps responding on another tab.
To Reproduce
Steps and to reproduce the behavior:

Run the debugger
Run some code that has a breakpoint
Try to go to the next step
Be unlucky :)

This happened to me, some times while debugging code in a
if Codeunit.RUN then
Expected behavior
Keep debugging without problems.
Screenshots

5. Versions:

AL Language:
Name: AL Language
Id: ms-dynamics-smb.al
Description: AL development tools for Dynamics 365 Business Central
Version: 5.0.234544
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al

Business Central:
Version: IT Business Central 15.2 (Platform 15.0.39461.40778 + Application 15.2.39060.0)

Hi! This issue concerns a production system. This repository is only for issues related to the AL compiler and developer tools of the latest developer preview environment for Dynamics 365 Business Central and we cannot guarantee a timely resolution of your issue.
We suggest that you open a support case and work with our customer support team to gather all the information necessary to fix this problem.
Please read this post on how to file an issue: https://cloudblogs.microsoft.com/dynamics365/it/2019/09/25/new-process-to-submit-support-requests-for-dynamics-365-business-central/


[Bug]: pybamm.ScipySolver fails to run experiment

PyBaMM Version
develop
Python Version
3.10
Describe the bug
the pybamm.ScipySolver aborts early on the experiment given below, whereas the casadi and idaklu solver solve it correctly
Steps to Reproduce
import pybamm
import numpy as np
import matplotlib.pyplot as plt

experiment_2step = pybamm.Experiment(
    [
        (
            "Discharge at C/20 for 1 hour",
            "Charge at 1 A until 4.1 V",
            "Hold at 4.1 V until C/2",
            "Discharge at 2 W for 30 min",
            "Discharge at 2 W for 30 min",  # repeat to cover this case (changes initialisation)
        ),
    ]
    * 2,
)

solutions = []
for solver in [
    pybamm.CasadiSolver(),
    pybamm.IDAKLUSolver(),
    pybamm.ScipySolver(),
]:
      model = pybamm.lithium_ion.SPM()
      param = model.default_parameter_values
      input_param_name = "Negative electrode active material volume fraction"
      input_param_value = param[input_param_name]
      param.update({input_param_name: "[input]"})
      sim = pybamm.Simulation(
          model,
          experiment=experiment_2step,
          solver=solver,
          parameter_values=param,
      )
      solution = sim.solve(
          inputs={input_param_name: input_param_value},
      )
      solutions.append(solution)

for i, s in enumerate(solutions):
    plt.plot(s.t, s["Voltage [V]"](s.t) + float(i), label=f"Solver {i}")
plt.savefig("test.png")

for i in range(1, len(solutions)):
    np.testing.assert_allclose(
        solutions[0]["Voltage [V]"].data[:-1],
        solutions[i]["Voltage [V]"](solutions[0].t[:-1]),
        rtol=5e-2,
        equal_nan=True,
    )

Relevant log output
No response

This is because voltage control turns the model from an ODE to a DAE. Surprised we don't get a better error message here?

ahh yes, and the scipy solver doesn't support DAEs. Ok, so the main thing here is raising an error (and updating the relevent test in   #4415)


Model can't speak decimal numbers in Hindi Model

When trying to to give a float number in text, model crashes.
It shows this error
   assert digit in all_num["en"], "Give proper input" AssertionError: Give proper input

I don't know if this is still relevant, but I guess you have to add the numeric characters to the training vocab, along with some spoken examples of the aforementioned.


traverse is not a function

I am trying to use this updated (0.2.x) package in my electron app, which is based on your vite-electron-builder boilerplate. It was working well in the previous version (0.0.5), but now when running the app in dev mode (npm run watch) I get an error in the console:
[unplugin-auto-expose-preload] traverse is not a function
and the app fails to render anything on launch. I'm running on Node 20.11 with Typescript 5.3.3 and Vite 5.0.12.
This seems to be a CommonJS/ESM issue, as I can fix it by hacking the index.mjs file and change:
32:  import traverse from "@babel/traverse";
to:
32: import $traverse from "@babel/traverse";
33: const traverse = $traverse.default;
As this is more of a problem with ESM & CommonJS mixing together, I figured that changing settings in tsconfig.json would help (like adding allowSyntheticDefaultImports: true and esModuleInterop: true), but it didn't.
I'm wondering if you have any insight into how to fix this problem I'm sure you know all about the pain of mixing CJS & ESM in an Electron project.

Will it work if you tried something like this
import * as traverse from "@babel/traverse";

or
import {default as traverse} from "@babel/traverse";

No, neither of those work for me.

For additional context there's this (although it's 2+ years old now):
https://github.com/babel/babel/issues/13855

Should be fixed in v0.2.4

Fixed in v0.3


Error: File to import not found or unreadable

I symlinked the files according to the wiki to ~/.config/wal-discord, and I ran . ~/wal-discord/wal-discord.
First I got:
dirname: missing operand
Try 'dirname --help' for more information.
Error: File to import not found or unreadable: backend.scss.
       Parent style sheet: /home/yama/.config/wal-discord/master.scss
        on line 1 of ../.config/wal-discord/master.scss
>> @import "backend.scss";
   ^

Reading more of the wiki, it seems to imply that wal-discord will symlink one of the backends to backend.scss, since it didn't, I did it manually, and upon executing again I get:
dirname: missing operand
Try 'dirname --help' for more information.
Error: File to import not found or unreadable: colors.scss.
       Parent style sheet: /home/yama/.config/wal-discord/backend.scss
        on line 1 of ../.config/wal-discord/backend.scss
>> @import 'colors.scss';
   ^

As a quick fix you can symlink $HOME/.cache/wal/colors.scss to $HOME/.config/wal-discord/colors.scss
Before doing that, could you post the output of ls -l $HOME/.config/wal-discord/, so that I can look into what went wrong?
I think that, since wal-discord was run by specifying the absolute path to the script, this line failed to execute and thus the inital setup failed.

 ✗ ~/.config/wal-discord ls -l $HOME/.config/wal-discord
total 0
lrwxrwxrwx 1 yama yama 39 May 23 10:26 backends -> /home/yama/wal-discord/config/backends/
lrwxrwxrwx 1 yama yama 48 May 23 10:28 backend.scss -> /home/yama/.config/wal-discord/backends/wal.scss
lrwxrwxrwx 1 yama yama 41 May 23 10:20 master.scss -> /home/yama/wal-discord/config/master.scss
lrwxrwxrwx 1 yama yama 34 May 23 10:32 wal-discord -> /home/yama/wal-discord/wal-discord

Actually, I also executed by cd'ing into ~/wal-discord and doing ./wal-discord.


Add notes for each pokemon

for storing IVs, natures, genders, abilities, etc

+1 I would like to be able to add also the moves and the blue/pink markers (start, square, triangle, circle, etc.).
First of all congratulations for your project, I had in mind to do something similar in @pokettomonstaa, but your project progress is way more advanced and It is totally what I wanted to do. I wouldn't mind to share with you some of my ideas and I would also be opened to contribute to the project ;)
One of the things I was thinking about is developing a javascript library for parsing Smogon/Showdown Pokemon format to JSON / JS objects.
One example of the format I am talking about:
Porygon2 @ Eviolite
Ability: Trace
EVs: 252 HP / 104 Def / 152 SpD
Calm Nature
- Recover
- Thunder Wave
- Ice Beam
- Foul Play

With this + the ability to specify the IVs and the blue/pink markers that the Pokemon can have in their boxes, it would be perfect.
Imagine you can search by any of this criteria and build a competitive strategy quickly with the Pokemon you have. That would be great.

In case you are interested, I did some progress on the Showdown format parser: https://capsulemonsters.github.io/koffing/


New version: JabRef.JabRef version 5.14.60000 (5.14)

Created by 🥟 Dumplings in workflow run #6449.

Log
Updated: 5.13 → 5.14
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run

@wingetbot run

https://github.com/microsoft/winget-pkgs/issues/142854


Beta Screen Updates

The new Fides beta screen is great! Can we make two updates to finish it off?

Add a user friendly display name to the beta features so our users don't need to read camel case.
Fix the link to the Slack community. Right now it's a relative path which doesn't work.
Also make the docs link a real link

closing


New / updated cmdlets for Teams ACS federation

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

File
Status
Preview URL
Details

teams/teams-ps/teams/Get-CsTeamsAcsFederationConfiguration.md
:x:Error

Details

teams/teams-ps/teams/index.yml
:warning:Warning

Details

teams/teams-ps/teams/Remove-CsCustomPolicyPackage.yml
:warning:Warning

Details

teams/teams-ps/teams/New-CsCustomPolicyPackage.yml
:warning:Warning

Details

teams/teams-ps/teams/Remove-CsTeamsShiftsPolicy.yml
:warning:Warning

Details

teams/teams-ps/teams/Get-Team.yml
:warning:Warning

Details

teams/teams-ps/teams/New-Team.yml
:warning:Warning

Details

teams/teams-ps/teams/Grant-CsTeamsShiftsPolicy.yml
:warning:Warning

Details

teams/teams-ps/teams/Get-CsTeamsShiftsPolicy.yml
:warning:Warning

Details

teams/teams-ps/teams/Get-CsTeamsAcsFederationConfiguration.md

Line 0, Column 0: [Error-MAML2Yaml_LoadFileFailed]

Failed to load file: W:/jsez-s/teams/teams-ps/teams/Get-CsTeamsAcsFederationConfiguration.md:60:(242) 'None'
 Expect Heading, please try to use PlatyPS validate the content

teams/teams-ps/teams/index.yml

Line 13, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Get-CsTeamsAcsFederationConfiguration'.
Line 54, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-CsTeamsAcsFederationConfiguration'.
Line 55, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-CsTeamsShiftsPolicy'.
Line 56, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-Team'.
Line 57, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamArchivedState'.
Line 58, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamChannel'.
Line 59, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamFunSettings'.
Line 60, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamGuestSettings'.
Line 61, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamMemberSettings'.
Line 62, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamMessagingSettings'.
Line 63, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamPicture'.
Line 64, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Set-TeamsApp'.
Line 65, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Update-CsCustomPolicyPackage'.
Line 66, Column 5: [Warning-xref-not-found] Cross reference not found: 'MicrosoftTeamsPowerShell.Update-CsTeamTemplate'.

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 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


Use correct clock frequency for systick+DWT

Is your enhancement proposal related to a problem? Please describe.
zephyr/arch/arm/core/aarch32/cortex_m/timing.c uses CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC to determine the Arm core's frequency, but this variable doesn't necessarily have the right value if CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is set.
Describe the solution you'd like
sys_clock_hw_cycles_per_sec() should be used to replace the config constant when CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is set
Additional context
I believe this is a latent error from before frequency change at runtime was introduced.

@Michel-Haber thanks for this, would you mind sending a Pull Request to fix it?

Sure, @carlescufi PR #40219


The Delete Handler Seems to be Called Twice

It seems as though a registered onRowsDelete function is called twice whenever rows are selected and the trash icon is clicked from the toolbar.
Expected Behaviour
It seems unusual that the callback would be called twice.
Current Behaviour
The callback is called twice.  This becomes particularly troublesome when a delete is requested on a remote server for the same item.
Steps to Reproduce (for bugs)
If I take the example directly from the README, but add a onRowsDelete handler (console.log), you can see it printed twice:
import React from 'react'

import MUIDataTable from "mui-datatables";

const columns = ["Name", "Company", "City", "State"];

const data = [
 ["Joe James", "Test Corp", "Yonkers", "NY"],
 ["John Walsh", "Test Corp", "Hartford", "CT"],
 ["Bob Herm", "Test Corp", "Tampa", "FL"],
 ["James Houston", "Test Corp", "Dallas", "TX"],
];

const options = {
  filterType: 'checkbox',
  onRowsDelete: console.log
};

export const Repro = () => (
    <MUIDataTable
        title={"Employee List"}
        data={data}
        columns={columns}
        options={options}
    />
)

Within the console, I'll see:
{lookup: {…}, data: Array(1)}
{lookup: {…}, data: Array(1)}

Your Environment

Tech
Version

Material-UI
3.9.3

MUI-datatables
2.2.0

React

browser
chrome

etc

There is already a fix for this in a PR which will be in the next release, but thanks for taking the trouble to create the bug report!

Closed via PR, and will be in next release. Until then, should be fixed in master.


Command to bump version equivalent to npm version patch

Would be nice to automate the semantic version bumping process with equivalents for:

npm version patch
npm version minor
npm version major
etc...

(npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git])

I just wanted to post an issue asking about this. This even sounds like a great solution.

This is actually a good idea!
I will see if I can integrate it in a future version.

@sdispater @pirate I'm having issues with the version bumping.  Here is my stack trace:
>poetry -vvv version premajor

  [TomlDecodeError]
  Unbalanced quotes

Exception trace:
 v:\python3.6.4\lib\site-packages\poetry\_vendor\cleo\application.py in run() at line 94
   status_code = self.do_run(input_, output_)
 v:\python3.6.4\lib\site-packages\poetry\console\application.py in do_run() at line 71
   return super().do_run(i, o)
 v:\python3.6.4\lib\site-packages\poetry\_vendor\cleo\application.py in do_run() at line 197
   status_code = command.run(input_, output_)
 v:\python3.6.4\lib\site-packages\poetry\console\commands\command.py in run() at line 22
   return super(BaseCommand, self).run(i, o)
 v:\python3.6.4\lib\site-packages\poetry\_vendor\cleo\commands\base_command.py in run() at line 146
   status_code = self.execute(input_, output_)
 v:\python3.6.4\lib\site-packages\poetry\_vendor\cleo\commands\command.py in execute() at line 107
   return self.handle()
 v:\python3.6.4\lib\site-packages\poetry\console\commands\version.py in handle() at line 33
   self.poetry.package.pretty_version, version
 v:\python3.6.4\lib\site-packages\poetry\console\commands\command.py in poetry() at line 10
   return self.get_application().poetry
 v:\python3.6.4\lib\site-packages\poetry\console\application.py in poetry() at line 46
   self._poetry = Poetry.create(os.getcwd())
 v:\python3.6.4\lib\site-packages\poetry\poetry.py in create() at line 69
   local_config = TomlFile(poetry_file.as_posix()).read(True)
 v:\python3.6.4\lib\site-packages\poetry\utils\toml_file.py in read() at line 22
   return toml.loads(f.read())
 v:\python3.6.4\lib\site-packages\poetry\_vendor\toml.py in loads() at line 250
   raise TomlDecodeError("Unbalanced quotes")

version [<version>]

Any advice or workarounds??
Cheers,
@grabear

What does your pyproject.toml file look like?

[tool.poetry]
name = "qwatch"
version = "0.1.0"
description = "blah blah qwatch"
authors = ["grabear<EMAIL_ADDRESS>[tool.poetry.dependencies]
python = "*"
click = "^6.7"
pandas = "^0.22.0"
pyaml = "^17.12"
[tool.poetry.dev-dependencies]
pytest = "^3.5"

My description was actually multi-lined like this:
[tool.poetry]
description = "blah blah qwatch
blah blah newline"

My project.lock file was also WAAAAY off.  For some reason it repeated all of my packages 3 times, which was more apparent on my work desktop:
Package operations: 33 installs, 0 updates, 0 removals, 1 skipped

  - Installing attrs (17.4.0)
  - Installing attrs (17.4.0)
  - Installing attrs (17.4.0)
  - Installing click (6.7)
  - Installing click (6.7)
  - Installing click (6.7)
  - Installing colorama (0.3.9)
  - Installing colorama (0.3.9)
  - Installing colorama (0.3.9)
  - Skipping funcsigs (1.0.2) Not needed for the current python version
  - Installing more-itertools (4.1.0)
  - Installing more-itertools (4.1.0)
  - Installing more-itertools (4.1.0)
  - Installing numpy (1.14.2)
  - Installing numpy (1.14.2)
  - Installing pandas (0.22.0)
  - Installing pandas (0.22.0)
  - Installing pluggy (0.6.0)
  - Installing pluggy (0.6.0)
  - Installing pluggy (0.6.0)
  - Installing py (1.5.3)
  - Installing py (1.5.3)
  - Installing py (1.5.3)
  - Installing pyaml (17.12.1)
  - Installing pytest (3.5.0)
  - Installing pytest (3.5.0)
  - Installing pytest (3.5.0)
  - Installing python-dateutil (2.7.2)
  - Installing python-dateutil (2.7.2)
  - Installing pytz (2018.3)
  - Installing pytz (2018.3)
  - Installing six (1.11.0)
  - Installing six (1.11.0)
  - Installing six (1.11.0)

After adding triple quotes to my multi-line description, and after deleting and reinstalling my .lock file, I was able to successfully use the poetry version command

It's of note that I had no idea what I was doing when I started.  I had a hard time following the docs.
@sdispater Thanks for an awesome package though!


Minoston MP31Z parameters do not match documentation or actual device

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
YES, BUT a Home Assistant developer has told me to come here
Is your problem within Z-Wave JS UI (formerly ZwaveJS2MQTT)?
NO, my problem is NOT within Z-Wave JS UI
Checklist

[X] I have checked the troubleshooting section and my problem is not described there.

[X] I have read the changelog and my problem was not mentioned there.

Describe the bug
What causes the bug?
Device profile parameter has no effect
What do you observe?
Device profile parameter has no effect
What did you expect to happen?
Device profile parameter has no effect
Steps to reproduce the behavior:

Go to 'Device Controller UI'
Click on 'CONFIGURE'
Set parameter
See parameters has no effect

Device information
Manufacturer: Minoston
Model name: MP31ZP
Node ID in your network: 7
How are you using node-zwave-js?

[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker image (latest)
[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker image (dev)
[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker manually built (please specify branches)
[ ] ioBroker.zwave2 adapter (please specify version)
[X] HomeAssistant zwave_js integration  (please specify version)
[ ] pkg
[ ] node-red-contrib-zwave-js (please specify version, double click node to find out)
[ ] Manually built from GitHub (please specify branch)
[ ] Other (please describe)

Which branches or versions?
version:
node-zwave-js branch:DB Version: 11.4.0
Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
Don't know, this is a new device
If yes, where did it work?
No response
Attach Driver Logfile

This is nothing we can fix, since from a Z-Wave perspective the MP31ZP is indistinguishable from the MP21ZP.
https://github.com/zwave-js/node-zwave-js/issues/4955#issuecomment-1229219216
https://github.com/zwave-js/node-zwave-js/pull/4882
https://github.com/zwave-js/node-zwave-js/pull/4894

...unless they finally fixed their firmware, in which case I need the driver log the issue template asked for.

But I bought MP21Z and MP31Z, their firmware also seems to be modified, no longer match the 'Configure' parameter in Z-Wave JS.

home-assistant_zwave_js_2023-07-12T10-12-43.354Z.log
I don't know if this log file is useful to you

No, I need this one: https://www.home-assistant.io/integrations/zwave_js#how-to-access-the-z-wave-logs
While you have that log tab open, re-interview the device.

Hello, sorry. I got the device model wrong when asking the question. The correct one should be Minoston MP21Z, MP31Z parameters are incomplete, setting Auto-Off Timer is invalid.The description of setting LED Indicator is wrong, and the value does not match.
zwave_js.log

While you have that log tab open, re-interview the device.

I don't see an interview in that log.

setting Auto-Off Timer is invalid.The description of setting LED Indicator is wrong, and the value does not match.

Do you mean on the MP21Z or MP31Z?

zwave_js.log
I opened the log tab and re-added the device.

MP31Z

That device identifies as follows:
manufacturer: NIE Technology Co., Ltd. (0x0312)
product type: 0xff00
product id:   0xff0c

which is the MP21Z according to the information at https://products.z-wavealliance.org/products/3973
TheMP31Z is supposed to have a different product ID 0xff0e according to https://products.z-wavealliance.org/products/4626, but it seems they never changed that ID in the device firmware.
Which brings us back to my original comment: Minoston messed up, so we cannot distinguish the MP31Z from the MP21Z until they fix it with a firmware update (I wouldn't get my hopes up for that).
To set config params, you'll have to use Z-Wave JS UI and the controls at the bottom of the configuration panel where you specify the parameter number and value size yourself (see device manual for details).

The https://products.z-wavealliance.org/products/4626 you mentioned should be that MP31ZP is a power monitoring product. But the MP31Z I'm talking about is a pure relay product.

I consulted Minoston's after-sales service, and they gave me the reply that MP21Z and MP31Z are the same product, only the shape changes. That's why I came here to ask if I can solve the problem of parameter mismatch

I saw in the log of Home Assistant that there should be 5 parameters, but after loading, there are only parameter 1 and parameter 2, and the description of parameter 1 does not match the value. Parameter 2 set value has no function.

only the shape changes. [...] parameter mismatch

They are not really the same product then if they have different parameters though? Or is the information for the MP21Z also wrong? The parameter information you're showing only acts as a fallback if we have no matching configuration file.
Since you are already in contact with them, can you ask them if they have engineering sheets for those devices? I.e. this information for each of the MP21Z, MP21ZP (?), MP31Z, MP31ZP:

Which device / name
Product ID and type
configuration parameters

Minoston MP21Z  Mini Smart Plug.docx
Minoston MP31Z  Mini Smart Plug.docx
MP21ZP  Mini Power Meter Plug.docx
MP31ZP  Mini Power Meter Plug.docx

According to after-sales description
The functional parameters and device ID of MP21Z and MP31Z are exactly the same, only the appearance is different.
The functional parameters and device ID of MP21ZP and MP31ZP are exactly the same, only the appearance is different.

Ok that certainly explains some things. Some people who have reported these issues in the past must have mixed up the Z and ZP variants.

Then, can it be repaired, and the value corresponding to these parameters?

I think so, yes!

Okay, thank you for your timely reply and help, when can I use the latest version?

The release went out yesterday. Now it's a matter of time that your application picks it up

Sorry to bother you again. Thank you very much for your help, Configuration is very good, but I found something wrong in PARAMETER6. Then I went to ask the Minoston after-sales service, and found that they were working wrong, and the PARAMETER6 parameters sent to me were wrong.The attached picture is the correct one.

Additional note I'm talking about MP21Z/MP31Z.

https://github.com/zwave-js/node-zwave-js/pull/6087 changes that

Okay, thank you for your timely reply and help

Hello, sorry to bother you again. Since I consulted and received the configuration documents of MP21ZP/MP31ZP before, I received a proactive contact from Minoston today and told them that the firmware has been upgraded according to customer needs, and a lot of configuration parameters have been added. I would like to trouble you to add configuration parameters again.
I am so sorry. Attached is the latest configuration document.
MP21ZP:MP31ZP Meter Switch User Manual.pdf

Could you add this information to https://github.com/zwave-js/node-zwave-js/issues/6097 which seems to be the same issue?

Of course, I will see how to add.

I think the updated manual is already posted there