Having problems saving to file

Hi,
First, I just want to say that your extension is just awesome. It's simple, not overly complicated. It just works. Speeds up productivity. I'm a solo programmer. I use GitLab Kanban and it works great. But, having to switch between editor and browser is a pain. In the IDE, I can just quickly switch windows, and it makes things so much quicker. Thank you for all your hard work and time in this extension. And, providing it for all of us to use. Big thanks
I'm having one problem. I wanted to save my Kanban to a file. That way, I can keep track of it with version control (git).
In settings, I see that the default paths were added when I initially installed Kanban:
".vscode/kaban.json",
"kanban.json"

That's exactly where I wanted to save the file .vscode. So, I didn't change anything.
In the Kanban view, I click the gear icon → and then toggle the Save to File field → and click the save icon.
However, no file is created. I then create the kanban.json file, and repeat. And, nothing is written in the file.
I did look at issues. I saw, that there was a feature request in the works. I tried changing the file name to default.kanban, default.json, KANBAN.json, kanban.json, and kanban.kanban. But still did not work. Not sure what I'm doing wrong.
I did add a couple tasks under the To-Do board. I closed VSCode and when I open the kanban view, the to-dos are still there. I'm just not sure where they're being saved. I did perform a general project wide search for some text in one of the to-do's, but nothing was found. I assume, it's being saved in the extension folder.
Any guidance would greatly be appreciated.
Again, thank you again for this amazing extension!
Hardware Specs
Macbook Pro macOS Monterey 12.7.1
Extension Specs
Kanban: v1.7.4
VSCode Specs
Version: 1.85.1 (Universal)
Commit: 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
Date: 2023-12-13T09:48:06.308Z
Electron: 25.9.7
ElectronBuildId: 25551756
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.6.0

So the obligatory tech support question I have to ask first is "did you have a folder open in VS Code?"
The extension uses the current workspace-root folder as the start of the file path, so if you don't have a workspace / folder open, then the extension can't find a valid path to save to.
https://github.com/lbauskar/kanban/blob/8a0947ab7bd19e9b38ae275c7ddb0cdd825a8e05/src/extension/storage.ts#L25C9-L39C10
And when saving to a file fails, the extension will fall back to saving to a "memento" -- which VS Code's embedded storage system. That's why the actual changes you're making still get saved.
https://github.com/lbauskar/kanban/blob/8a0947ab7bd19e9b38ae275c7ddb0cdd825a8e05/src/extension/storage.ts#L90C9-L102C10
Assuming that you do have a folder open, it might be worth debugging together? I don't have access to a Mac, so it's possible that -- for whatever reason -- MacOS doesn't play nice with extensions trying to save to a file. (Maybe a permission issue or something?)

Thank you for the reply. I found the problem. Just not sure how to fix it.
Yes, I definitely had a workspace folder open, :) It was a workspace for a new Django site that I'm working on. That said, I failed to state one thing that was of great importance. I'm so accustomed to it, I forget about it. I use Microsoft's remote development extension. I rarely do any local development. I have a home lab with a Debian server. I use Microsoft's Remote Extension to SSH into the development server.
In the Django workspace, I did have the workspace folder open. I also have a .vscode folder with settings.py in the workspace. I didn't specifically state the path to the workspace folder in the settings.py. I did add the following to .vscode/settings.py "workspaceFolder": "/path/to/your/workspace" but that didn't seem to make any difference.
I tried on my MacBook Pro with a local workspace and it worked perfectly. The kanban.json file was created in .vscode. I tried a brand-new workspace with the Remote Development extension, and no go. So, at this point, I'm pretty sure it has something to do with remote development.
Question, with the Django site that I was developing. When I was adding the workspace to saettings.py, I reload the window a few times. My Kanban board went blank. Everything is gone. I had a pretty extensive Kanban set-up. I'm trying to find where it might have been saved. I reviewed your code that you suggested. I'm not sure where the memento would be. The only way I can think of finding it would be to add this to your code:
console.log('File URI:', this.preferredUri);
vscode.workspace.fs.writeFile(this.preferredUri, buffer);

I prefer, not to mess with an extensions code if I don't have to.
Thanks for an awesome extension and your time on helping me figure this out.


how can i make the opponent icons shake?

What is your question?
how can i make the opponent icons shake?. and also a screen bug script like the latest spongebob mod that 1up animations composed on
(works for 0.6.2)

You can make a script that changes the position of the icons randomly when onUpdatePost() is called

You can try this code for the opponent icon shake (original in Ourple Guy v2) :
function onUpdate(elapsed)
    local angleOfs = math.random(-5, 5)
    setProperty('iconP2.angle', angleOfs)
end

This code is longer but more controllable and understandable
local turnvalue = 0 --Dont Touch this
function onBeatHit()
turnvalue = 4 --Backwards
if curBeat % 2 == 0 then
turnvalue = -2 --Forewards
end
--Dont Touch any of this code down here
setProperty('iconP2.angle',-turnvalue)
setProperty ('iconP1.angle',turnvalue)
doTweenAngle ('iconTween1','iconP1',0,crochet/1000,'circIn')
doTweenAngle ('iconTween2','iconP2',0,crochet/1000,'circIn')
end
function onCreatePost()
setObjectOrder('iconP1',getObjectOrder('iconP2'))
end

can i make this in source code?


Some misspellings

Nice contribution! Did you use some tool for doing all that? Other project repos could use this too :grin:.
I saw some changes affecting non-comment areas (mostly strings). I don't think the change would produce any errors but it would be better to check.
Also, not that it matters much but it would look cleaner to squash all those commits into one.

@kwadrat Thanks :smile:

@udiboy1209 I hope GitHub squashed them right with "Squash and merge"

I have a simple Python program to generate an index of words
and then I do a lot of human reading and proofchecking using Google Search
and internet dictionaries:

Read all text files to RAM.
Join them.
Split joined text into a list of words.
Use set() for removing duplicates.
Use list() to convert set to list.
Sort the list.
Save all the words to text file.
Use vim text editor to read the text file ("manually" - using my own eyes) from top to bottom.
Look for duplicated words (these are almost identical words with a misspelling).
Look for strange (possibly misspelled) words.

Which projects would you like to check in the next turn?


Use numpy for serializing polygons instead of for loop (large speedup)

Don't use for loops when serializing polygons, but use numpy instead.
This gives a very large speedup for larger polygons. As an example, I ran the following test script. Results:

Old version: 85.38 s
New version: 0.17 s

import numpy as np
import gdspy
import time

def make_circle(x_offset, y_offset, n_points, multiplier=1000):
    p = np.linspace(0, 2*np.pi, n_points)
    x, y = x_offset + np.cos(p) * multiplier, y_offset + np.sin(p) * multiplier
    return np.transpose(np.vstack((x,y)))

lib = gdspy.GdsLibrary()
c1 = gdspy.Cell('test_cell', True)

for i in range(100):
    c1.add(gdspy.Polygon(make_circle(0, i*2000, 199)))
    c1.add(gdspy.Polygon(make_circle(2000, i*2000, 8000)))
    c1.add(gdspy.Polygon(make_circle(4000, i*2000, 20000)))

lib.add((c1))

start = time.time()
lib.write_gds('test.gds')
print("Time: {} s".format(time.time() - start))

Looks pretty good!
Have you tested using numpy serialization but without changing the string building from .append to +=? I ask because I was under the impression that adding strings is less efficient than appending to a list and then join-ing.

Here's what I mean:
In [1]: def f():
   ...:     a = b''
   ...:     for i in range(100000):
   ...:         a += str(i).encode('utf-8')
   ...:     return a
   ...:

In [2]: def g():
   ...:     a = []
   ...:     for i in range(100000):
   ...:         a.append(str(i).encode('utf-8'))
   ...:     return b''.join(a)
   ...:

In [3]: %timeit f()
1.56 s ± 126 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [4]: %timeit g()
37.7 ms ± 2.23 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

So, using numpy's serialization makes sense, but without the change to the string construction.

You are right. In my benchmark it didn't show any difference, because I don't work with polygon sets with many polygons, but of course in general that should be better...

I ended up manually including your changes in de49fef.


feature request: ability to have nested groups

To be honest now we can have nested Command.Group, but results of 2nd group is not searchable.
<Command.List>
   <Command.Group heading="Parent">
      <Command.Group heading="Child">
        <Command.Item>You can't find me</Command.Item>
      </Command.Group>
      <Command.Item>You can find me</Command.Item>
   </Command.Group>
</Command.List>

! [image] (https://github.com/pacocoursey/cmdk/assets/16740021/4773715f-6c68-4efc-bd12-2fbf5cee4f7e)
Similar issue, want to provide a secondary menu like Notion AI, and allow search
The search results are as follows:


Update podfiles with cocoapod 1.0 required fields

Add required fields in *.podspec files for objective-c examples.
Related issue: #3371

LGTM

Only examples are affected. Tested them manually. (It seems Jenkins is not running objective-c tests)


Your version of the ChatGPT app is out of date. Please update to the newest build of the app.

Traceback (most recent call last):
  File "C:\Users\user\PycharmProjects\ChatGPT\main.py", line 91, in <module>
    access_token = auth.get_access_token()
  File "C:\Users\user\PycharmProjects\ChatGPT\venv\lib\site-packages\OpenAIAuth.py", line 69, in get_access_token
    return self.__part_two()
  File "C:\Users\user\PycharmProjects\ChatGPT\venv\lib\site-packages\OpenAIAuth.py", line 82, in __part_two
    return self.__part_three(code_verifier, url)
  File "C:\Users\user\PycharmProjects\ChatGPT\venv\lib\site-packages\OpenAIAuth.py", line 97, in __part_three
    return self.__part_four(code_verifier, state)
  File "C:\Users\user\PycharmProjects\ChatGPT\venv\lib\site-packages\OpenAIAuth.py", line 124, in __part_four
    return self.__part_five(code_verifier, state)
  File "C:\Users\user\PycharmProjects\ChatGPT\venv\lib\site-packages\OpenAIAuth.py", line 150, in __part_five
    return self.__part_six(code_verifier, location, url)
  File "C:\Users\user\PycharmProjects\ChatGPT\venv\lib\site-packages\OpenAIAuth.py", line 179, in __part_six
    return self.__get_access_token(code_verifier, resp.headers["Location"])
  File "C:\Users\user\PycharmProjects\ChatGPT\venv\lib\site-packages\OpenAIAuth.py", line 221, in __get_access_token
    raise Exception("{}: {}".format(error, error_description))
Exception: access_denied: Your version of the ChatGPT app is out of date. Please update to the newest build of the app.

openai changed their apple authentication flow to require new pre-auth with their services before going to auth0, so use access tokens, or https://github.com/acheong08/OpenAIAuth/pull/45 until permanent fix is in place.

I got a temporary fix in for the Go version. Might need some annoying workarounds for python

Apologize for the slow action. Caught a high fever over the past week

Looks like I missed some details from #45. Device ID expires


package comments and readme update

Codecov Report
Base: 76.44% // Head: 76.39% // Decreases project coverage by -0.04% :warning:

Coverage data is based on head (9a9f34b) compared to base (6cb9102).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2182      +/-   ##
==========================================
- Coverage   76.44%   76.39%   -0.05%
==========================================
  Files         581      580       -1
  Lines       48260    48042     -218
==========================================
- Hits        36890    36704     -186
+ Misses       9340     9315      -25
+ Partials     2030     2023       -7

Flag
Coverage Δ

go-1.15-386
?

go-1.15-amd64
76.44% <ø> (-0.02%)
:arrow_down:

go-1.16-386
?

go-1.16-amd64
76.46% <ø> (+<0.01%)
:arrow_up:

go-1.17-386
?

go-1.18-386
76.36% <ø> (ø)

go-1.18-amd64
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/httputil/httputils.go
65.11% <ø> (ø)

util/guid/guid.go
88.23% <ø> (ø)

os/gcache/gcache_adapter_memory_lru.go
89.13% <0.00%> (-8.70%)
:arrow_down:

net/gtcp/gtcp_pool.go
68.18% <0.00%> (-6.82%)
:arrow_down:

os/glog/glog_logger_rotate.go
61.99% <0.00%> (-1.36%)
:arrow_down:

contrib/drivers/oracle/oracle.go

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Wrong angle range of values for X and Y axis, drifting Z-axis angle value

Hi again,
While using your library, running the demo sketch ArduinoIDE_Angles_Example on my ESP32, I noticed that the range of values for the X and Y axis is wrong : starting flat, the angle is 0.

when I tilt on the X-axis, the angle will go from 0 to + 90° or -90° (depends on the tilting direction), and then fall back to zero instead of reaching +180 or -180 and then changing sign
same thing happens on the Y axis

I tried to attach a video of me tilting the device and recording the screen in the same time, sorry for the bad quality, it was made with my phone. Here is the video : Wrong values MPU6050
I have also noticed that the Z-axis angle value drifts as I tilt on X or Y axis, and never falls back to 0 when put in the same position as I used for calibration.
Regarding wrong angle range, I suspect it has something to do with the wrapping, however I have not yet looked in it, however, I do not have any idea concerning Z-axis drifting...
Best regards,
Ewald

Hello again :)

I suspect it has something to do with the wrapping

That's probably correct. The current method for wrapping angles was proposed on https://github.com/gabriel-milan/TinyMPU6050/pull/14 in order to fix https://github.com/gabriel-milan/TinyMPU6050/issues/6, but now it seems that it would need to change again. I still don't have my MPU6050 with me, so I'm not able to try it out for myself, unfortunately.

I do not have any idea concerning Z-axis drifting

IMO, that may be due to your accelerometer offsets (https://github.com/gabriel-milan/TinyMPU6050/issues/25)

same problem here. Z-axis is drifting.

I ended up not using the Z-axis.

same problem here. Z-axis is drifting.

After doing a lot of research, I ended up finding that you could pair the MPU6050 with a magnetometer, and using the built-in compute unit, should be able to have stable Z-axis values.  Because Z-axis is exactly perpendicular to the Earth, you cannot use gravity to offset accelerometer drifting away as for X and Y axis. The magnetometer is the sensor that is able to counter drifting accelerometer values.
I know that someone retro-engineered a lot on the MPU6050, and you should be able to pair yours with a magnetometer using XCL and XDA pins.
I ended up ditching Z-axis values for my project, so I have not looked further into this matter, sorry :(

Hi EwaldJa, i am also using this library but i experience freeze after random times. in my project i am depend on the z degree.
Do you think this library is perhaps beta? Do you know why it was forked from https://github.com/tockn/MPU6050_tockn i mean what did it try to solve? last if you know more about this magnetometer paring please let me know. from my search i haven't found some example. Last i just can't understand how in 2022 there isn't a defacto lib for 6050 that works like a charm..

Do you think this library is perhaps beta?

Yes, it should be considered beta.

what did it try to solve?

Actually, I've started this as a personal project, so I could learn from this experience. Then, I've thought about releasing it, so others could use. Also, the whole idea was to provide a reliable way of reading angles with it, but problems began to show up and, unfortunately, I'm not able to maintain this anymore.

Last i just can't understand how in 2022 there isn't a defacto lib for 6050 that works like a charm

Totally agree with you on this

Thanks Gabriel for the feedback. frankly it was a relief that i found yours that is lightweight and easy to follow compared to other large ones, consuming a large percent of the memory in arduino. I am developing a return to a gps functionality where i am interested in the z axis of the mpu to find out the relative heading. ( I tracking the source code here - https://github.com/meltoner/NEM_UVRC )
Your library works relatively well as far as i can hope for, (when I first used i said finally a nice library ) though on more "heavy duty" testing i am faced with some random freezes in arduino after some unknown time and i am researching more about this (i was chasing the rover yesterday :) ).
I am now using a blink led to spot when the arduino freezes, while when i comment the mpu.update() the arduino doesn't seem to freeze. I am not sure where to look perhaps some bad zero division or some non ending while loop. I think it would be great to have your library working just a bit further as it looks clean and neat compared to what i seem to find available.
I am not sure if i should check the library, you based yours as an alternative or research further yours. I am not that confident to attempt changes alone, but perhaps if we were "joining forces" it would be easier for both of us. Let what me know what you think! :)

Dear Gabriel, while searching further it seem that i am not using your library. instead i am using MPU6050_light so most probably the instability problem must not be applicable to your library. sorry for this.

Hi all, researching further the freezes and after trialing your library too, the freeze occurred on all cases tested.
The issue was sourced at the i2c protocol and was solvable by setting the wiretimeout to 3 seconds as follows
    Wire.begin();   Wire.setClock(400000);    Wire.setWireTimeout(3000, true);
The solution discovered after many days of troubleshooting (pain. tears, etc ) was

https://github.com/jrowberg/i2cdevlib/issues/519

by chrisvolto commented on Dec 29, 2020
over and out


Support Melee's version of frank.py

Currently MWCC 1.2.5e, which is shared by Pikmin and Melee, uses Pikmin's version of frank.py. Melee requires its own version.
At the time of this writing, the difference between them is:
diff --git a/pikmin/tools/frank.py b/melee/tools/frank.py
index 1d4127e..1fb28f7 100644
--- a/pikmin/tools/frank.py
+++ b/melee/tools/frank.py
@@ -14,6 +14,8 @@ CODESIZE_MAGIC = b"\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x34"
 BLR_BYTE_SEQ = b"\x4E\x80\x00\x20"
 MTLR_BYTE_SEQ = b"\x7C\x08\x03\xA6"

+LWZ_BYTE = b"\x80"
+
 # Byte sequence array for branches to link register
 BLR_BYTE_SEQ_ARRAY = [BLR_BYTE_SEQ,
 b"\x4D\x80\x00\x20", b"\x4D\x80\x00\x21", b"\x4C\x81\x00\x20", b"\x4C\x81\x00\x21",
@@ -100,5 +102,40 @@ while idx < len(final_bytes):
     final_bytes = final_bytes[:mtlr_found_pos] + final_bytes[mtlr_found_pos+4:blr_found_pos] + final_bytes[mtlr_found_pos:mtlr_found_pos+4] + final_bytes[blr_found_pos:]
     idx = mtlr_found_pos + len(MTLR_BYTE_SEQ)

+# Reorder lmw/lwz/lfd instructions, if needed (@Altafen)
+# Specifically, if this sequence shows up in the stripped profiler code: "LMW, LWZ, LFD*"
+# And this sequence shows up in the vanilla code: "LWZ, LFD*, LMW"
+# (LFD* = any number of LFDs, including zero)
+# If all bytes match between the two (except for the reordering), then use the vanilla ordering.
+# This could be written to anchor around the "BL, NOP" instructions in unstripped profiler code,
+# or to check for the presence of "ADDI, MTLR, BLR" soon after.
+# This also could be written to decode the operands of each instruction to make sure the reorder is harmless.
+# Neither of these safeguards are necessary at the moment.
+LWZ = 32
+LMW = 46
+LFD = 50
+idx = 0
+while idx+4 < len(final_bytes):
+    if final_bytes[idx] >> 2 == LMW and final_bytes[idx+4] >> 2 == LWZ and vanilla_bytes[idx] >> 2 == LWZ:
+        start_idx = idx
+        lmw_bytes = final_bytes[idx:idx+4]
+        lwz_bytes = final_bytes[idx+4:idx+8]
+        if vanilla_bytes[idx:idx+4] != lwz_bytes:
+            idx += 4
+            continue
+        lfd_bytes = b""
+        idx += 4
+        while vanilla_bytes[idx] >> 2 == LFD:
+            lfd_bytes += vanilla_bytes[idx:idx+4]
+            idx += 4
+        if vanilla_bytes[idx:idx+4] != lmw_bytes:
+            continue
+        if final_bytes[start_idx+8:start_idx+8+len(lfd_bytes)] != lfd_bytes:
+            continue
+        idx += 4
+        final_bytes = final_bytes[:start_idx] + lwz_bytes + lfd_bytes + lmw_bytes + final_bytes[idx:]
+        continue
+    idx += 4
+
 with open(args.target, "wb") as f:
     f.write(final_bytes)

imo this justifies making frank.py a bit nicer, having a flag which determines whether to apply the melee hack or not, rather than having two versions of frank.py which will possibly fall more out of sync. btw I think LWZ_BYTE is unused, so that can probably be removed.
Once we have a canonical frank.py somewhere, we can just download it in download.py and invoke it one way for pikmin and the other way for melee

Resolved via https://github.com/projectPiki/pikmin/pull/6.


M365 groups creation should be disabled?

Not really an issue, but I haven't found this in the documentation.
I am assuming that M365 Group creation needs to be disabled for all users? Otherwise users will still have the ability to create Teams using the standard option in Teams (Join or create a team)
Is this correct?

@mcasaz correct, this solution assumes that you would disable/restrict group creation across your tenant, this will stop users being able to create Teams through the client.
Thanks


UI issues fixed.

The following UI issues are fixed:

The views (list, edit, create or show) were broken as the view names were not serialized properly in the JSON response, is fixed.
2.The user (principal) name was not shown in the UI properly; this is also fixed.

Spring platform has been upgraded to: 'Brussels-SR6' version in the latest master of my repository. Please Merge the master of my repository here.


Error: Unable to initialize main class org.jsonschema2pojo.cli.Jsonschema2PojoCLI

I downloaded jsonschema2pojo-cli-0.5.1.jar, but when I run the following command
java -jar jsonschema2pojo-cli-0.5.1.jar  -a GSON -T JSON -s json.txt -t ./recs -p "test.model.users" -bi
I get the following error
Error: Unable to initialize main class org.jsonschema2pojo.cli.Jsonschema2PojoCLI
Caused by: java.lang.NoClassDefFoundError: org/jsonschema2pojo/GenerationConfig

It looks like you're missing all the important jars from your classpath. I'd recommend downloading a proper release package and using the wrapper scripts to run the cli.

See https://github.com/joelittlejohn/jsonschema2pojo/releases


1.20.2

My attempt at a 1.20.2 bump. Seems to work. Feel free to edit or cherry-pick and close

Thanks for this, I'll review in the coming days

Thanks for this, I'll review in the coming days

2 months later...

Sorry, I started rewriting things and it never ended up going out


Create a "invoke service" article that shows how to use gRPC from your application to call Dapr

We have this article on using HTTP to call to Dapr https://docs.dapr.io/developing-applications/building-blocks/service-invocation/howto-invoke-discover-services/
We also have this article to configure Dapr to receive gRPC calls
We do not have an article that shows how to call from your application using gRPC to invoke another service (or any of the Daprs APIs for that matter using gRPC)

I believe this can now be resolved since it seems that this documentation now exists? https://docs.dapr.io/developing-applications/building-blocks/service-invocation/howto-invoke-services-grpc/

Resolved - closing


[BUG] workflow-logs in cloudwatch loggroup does not get created after deployment

[BUG] workflow-logs in cloudwatch loggroup does not get created after deployment.
Only jenkins.log group is correctly created after the deployment.
Thanks.

To fix this we need to manually restart Jenkins to fix the log group creation, need to automate this after the deployment, but the catch is since the OIDC is enabled need the authentication token to restart the Jenkins.

Close this as it rarely happens and just need manual creation of log group.


Migrate RP from adal to azidentity package

Which issue this PR addresses:
[ARO-1917] AAD: Migrate ADAL -> MSAL
What this PR does / why we need it:
Microsoft has announced the impending end-of-support for Azure Active Directory Authentication Library (ADAL):

Update December 15th, 2022: ADAL end of support is now extended to June 30th, 2023. We will retire AAD Graph API any time after June 30th, 2023. Through the next six months (January 2023 – June 2023) we will continue informing customers about the upcoming end of support along with providing guidance on migration.

We need to move the entire RP code to Microsoft Authentication Library (MSAL) which for us means using the Azure Identity Client Module for Go or "azidentity" in place of Azure Active Directory authentication for Go or "adal".
(Note: "azidentity", despite its slightly outdated README, does now use MSAL.)
Test plan for issue:
Primary method of testing was deploying a full RP development service (with help from https://github.com/Azure/ARO-RP/pull/2621), and verifying all ARO services on the RP and Gateway VMs start up and function correctly.
Also, unit tests were updated where needed and verified to pass, along with running end-to-end tests.
Is there any documentation that needs to be updated for this PR?
None that I'm aware of.  This is an internal RP change and should not alter its behavior.
Additional notes:

This does bump the Go requirement to 1.18 since azidentity requires Go 1.18 as of v1.0.

This is a large change, so I've tried to break most of the commits up by source directory for less overwhelming review.

azidentity handles token refreshing automatically, so we should no longer have to worry about this in the RP.  Therefore, this Pull Request eliminates AuthorizationRefreshingAction and refreshable.Authorizer.

There is one remaining import of adal in pkg/portal/middleware/aad.go, however the RP code is just using offline utility functions from adal that currently have no public equivalent in Microsoft Authentication Library (MSAL) for Go (as far as I can see).  So I left that code alone for now.

Followup work: Per the azidentity Migration Guide, this PR vendors in an unofficial module github.com/jongio/azidext to serve as a temporary shim between azidentity's TokenCredential APIs and the older Azure SDK client packages under github.com/Azure/go-autorest.
We should endeavor to further migrate the RP code to use the newer Azure SDK client packages under github.com/Azure/azure-sdk-for-go/sdk/resourcemanager, and remove the need for github.com/jongio/azidext.

CI checks will be failing until we have Go 1.18 support.

https://github.com/Azure/ARO-RP/pull/2691 (Go 1.18) merged so I rebased this branch and squashed the "fixup" commits.

Tweaked some commits and force-pushed again to get more checks passing.

E2E tests pass for me when run locally but are consistently failing here on Azure Pipelines.
Going to add some temporary debug commits to help figure out where the failure's coming from.  If you're reviewing code, disregard these.

The last question I'll post is: this PR introduces a lot of + "/.default" to endpoints, is there ever a case in the code now where we don't use that /.default uri? Can we safely migrate that into the Environment instead, in one place?

The whole "/.default" scope thing is ugly and I wish azidentity just handled it transparently.
There is only one place where we don't use "/.default", which is the MSI authorizer in cmd/aro/gateway.go for DB token.
I considered adding getter methods in Environment for the few scopes we use, but decided against it since this is temporary ugliness.  I believe the newer Azure clients I suggested migrating to as followup work hide all this scope stuff.  I've only looked briefly at the APIs but I think it sets the appropriate scope(s) automatically for the type of Azure resource.

Thanks for the review @cadenmarchese!

Looks like I lost @cadenmarchese's approval after I force-pushed today to resolve merge conflicts.

In order to not lose approvals, I'll resolve any further merge conflicts once I'm told we're ready to merge this.

Rebased on https://github.com/Azure/ARO-RP/pull/2818, so the 1st commit for dependencies has changed substantially.
No other code changes.

/azp run e2e


HTML 5 required input

would it be possible to include an option to use built in html 5 input required property to control validation rather than using the combination of successful and error-message

@jwells967 can you try the input-el-custom-attributes prop?
:input-el-custom-attributes="{ required: true }"

I think this will put required attribute for <input>.

Thank you, thank you! This is exactly what i needed!
The quick reply is greatly appreciated


creating schema with for_each meta argument fails because array passed to 'DATA_RETENTION_TIME_IN_DAYS'

Provider Version
0.25.10
Terraform Version
0.15
Describe the bug
When defining multiple schemas in one go using the for_each meta argument as so:
locals {
  schemas = [
    {
      database     = snowflake_database.databases["db_a"].name
      schema       = "schema_a"
      comment      = "a schema"
      is_transient = true
      data_retention_days = 14
    },
    {
      database     = snowflake_database.databases["db_b"].name
      schema       = "schema_b"
      comment      = "another schema"
      is_transient = true
      data_retention_days = 14
    },
  ]
}

resource "snowflake_schema" "schemas" {
  for_each = { for schema in local.schemas : schema.schema => schema }

  provider            = snowflake.sysadmin
  name                = each.value.schema
  database            = each.value.database
  is_transient        = each.value.is_transient
  data_retention_days = each.value.data_retention_days
  comment             = each.value.comment
  is_managed          = false
}

I'm getting the following error:
Error: error creating schema dw: 001008 (22023): SQL compilation error:
invalid value [14] for parameter 'DATA_RETENTION_TIME_IN_DAYS'

It appears that the go code is inadvertently passing an array of length 1 to the SQL code, as oppose to passing an integer, for the data_retention_days argument.
The same error occurs if I use a number directly in the resource decleration, i.e.:
resource "snowflake_schema" "schemas" {
  for_each = { for schema in local.schemas : schema.schema => schema }
  ...
  data_retention_days = 14
  ...

Expected behavior
I should be able to define multiple schemas in one go using snowflake_schema resource in conjunction with the for_each meta argument - the value for data_retention_days should be correctly passed to the SQL declarations as an integer.
Code samples and commands
See above

Could you try this format:
locals {
  schema_map = {
    schema_a = {
      database     = snowflake_database.databases["db_a"].name
      schema       = "schema_a"
      comment      = "a schema"
      is_transient = true
      data_retention_days = 14
    },
    schema_b = {
      database     = snowflake_database.databases["db_b"].name
      schema       = "schema_b"
      comment      = "another schema"
      is_transient = true
      data_retention_days = 14
    },
  }
}

resource "snowflake_schema" "schema" {
  for_each          = local.schema_map

  provider            = snowflake.sysadmin
  name                = upper(each.key)
  database            = lookup(each.value, "database", null)
  is_transient        = lookup(each.value, "is_transient", null)
  data_retention_days = lookup(each.value, "data_retention_days", null)
  comment             = lookup(each.value, "comment", null)
  is_managed          = false
}

This is how we do it in our repo 😄

We are closing this issue as part of a cleanup described in announcement. If you believe that the issue is still valid in v0.89.0, please open a new ticket.


Rename all the crates to something that crates.io will accept

Currently the derive crate is just called derive, which is obviously already taken on crates.io.
Probably:

uutils-args
uutils-args-proc
term-md

But maybe we want to rename to something else first? I don't really care about the name for term-md because it's probably not gonna be used directly, but we're gonna see the name for uutils-args a lot, so it might as well be something nicer.
Some cuter names instead of uutils-args:

coreopt, crop, corrode, ~coral~ (already taken), corinth, corde, cordial
corde could be coreutils deserializer or something.
optics, optical
clup, club
urge
uopt, uargs, ucli
I kinda like nucleus, because it has the "u" and "cl" for command line but also it means "core" from coreutils. It's taken on crates.io though. Maybe "nucli"? Gets maybe too close to the nushell things.
Fun words that start with "u" and are still available: umph, umpteen, upfront, upright, uptight, uranium (also ties in with the previous idea: radioactive -> nuclear)
enamor is nice too, ties in with the fact that this library uses enums instead of structs to derive from.
copter

I like the names with a nice connotation: enamor, corde, cordial, etc.

Note: we could go for uu_nucleus as crate name and nucleus as the module.

I think plain uutils-args and uutils-args-derive is the way to go. A bit boring, but it's the most obvious option.


Expected Number with value NaN, got String with value "200".

vue.runtime.esm.js?2b0e:619 [Vue warn]: Invalid prop: type check failed for prop "width". Expected Number with value NaN, got String with value "200".
found in
--->
 at src/views/Post.vue
 at src/App.vue

Hey, can you please provide more info, looks like your prop validation failed.

When I set the width, it does not work and I provide width=200. It's still not working.

This was not helpful, please share a code snippet .


Ubuntu 16.04, Python 2.7.12 Could not find suitable distribution

From my understanding, Ubuntu 16.04 is supported for Python version 2.7.12. What may be causing this?
Distribution Version
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial

Python Version
$ python -V
Python 2.7.12

Attempt to install
$ sudo /usr/bin/python setup.py install --user
running install
running bdist_egg
running egg_info
writing requirements to ortools_examples.egg-info/requires.txt
writing ortools_examples.egg-info/PKG-INFO
writing top-level names to ortools_examples.egg-info/top_level.txt
writing dependency_links to ortools_examples.egg-info/dependency_links.txt
reading manifest file 'ortools_examples.egg-info/SOURCES.txt'
writing manifest file 'ortools_examples.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-i686/egg
running install_lib
warning: install_lib: 'build/lib.linux-i686-2.7' does not exist -- no Python modules to install

creating build/bdist.linux-i686/egg
creating build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/PKG-INFO -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/SOURCES.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/dependency_links.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/requires.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/top_level.txt -> build/bdist.linux-i686/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/ortools_examples-5.0.3919-py2.7.egg' and adding 'build/bdist.linux-i686/egg' to it
removing 'build/bdist.linux-i686/egg' (and everything under it)
Processing ortools_examples-5.0.3919-py2.7.egg
Removing /home/petrochuk/.local/lib/python2.7/site-packages/ortools_examples-5.0.3919-py2.7.egg
Copying ortools_examples-5.0.3919-py2.7.egg to /home/petrochuk/.local/lib/python2.7/site-packages
ortools-examples 5.0.3919 is already the active version in easy-install.pth

Installed /home/petrochuk/.local/lib/python2.7/site-packages/ortools_examples-5.0.3919-py2.7.egg
Processing dependencies for ortools-examples==5.0.3919
Searching for ortools>=5.0.3919
Reading https://pypi.python.org/simple/ortools/
No local packages or working download links found for ortools>=5.0.3919
error: Could not find suitable distribution for Requirement.parse('ortools>=5.0.3919')

Hello Michael,
Are you using a 64-bit or 32-bit machine?
On Thu, Jan 26, 2017 at 9:47 PM, Michael Petrochuk<EMAIL_ADDRESS>
wrote:

From my understanding, Ubuntu 16.04 is supported for version 2.7.12?
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial
$ python -V
Python 2.7.12
$ sudo /usr/bin/python setup.py install --user
running install
running bdist_egg
running egg_info
writing requirements to ortools_examples.egg-info/requires.txt
writing ortools_examples.egg-info/PKG-INFO
writing top-level names to ortools_examples.egg-info/top_level.txt
writing dependency_links to ortools_examples.egg-info/dependency_links.txt
reading manifest file 'ortools_examples.egg-info/SOURCES.txt'
writing manifest file 'ortools_examples.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-i686/egg
running install_lib
warning: install_lib: 'build/lib.linux-i686-2.7' does not exist -- no Python modules to install
creating build/bdist.linux-i686/egg
creating build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/PKG-INFO -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/SOURCES.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/dependency_links.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/requires.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying ortools_examples.egg-info/top_level.txt -> build/bdist.linux-i686/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/ortools_examples-5.0.3919-py2.7.egg' and adding 'build/bdist.linux-i686/egg' to it
removing 'build/bdist.linux-i686/egg' (and everything under it)
Processing ortools_examples-5.0.3919-py2.7.egg
Removing /home/petrochuk/.local/lib/python2.7/site-packages/ortools_examples-5.0.3919-py2.7.egg
Copying ortools_examples-5.0.3919-py2.7.egg to /home/petrochuk/.local/lib/python2.7/site-packages
ortools-examples 5.0.3919 is already the active version in easy-install.pth
Installed /home/petrochuk/.local/lib/python2.7/site-packages/ortools_examples-5.0.3919-py2.7.egg
Processing dependencies for ortools-examples==5.0.3919
Searching for ortools>=5.0.3919
Reading https://pypi.python.org/simple/ortools/
No local packages or working download links found for ortools>=5.0.3919
error: Could not find suitable distribution for Requirement.parse('ortools>=5.0.3919')
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/311, or mute the thread
https://github.com/notifications/unsubscribe-auth/ASwpfG5H4uAYZZ_l31lWl4k-wYR95l3oks5rWQZpgaJpZM4LvHsZ
.

--
driss

32-bit machine.
Thanks!

Unfortunately we don't build or-tools for 32-bit machines, but you still
can build or-tools from sources.
Regards,
On Thu, Jan 26, 2017 at 10:21 PM, Michael Petrochuk <
<EMAIL_ADDRESS>wrote:

32-bit machine.
Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/311#issuecomment-275517598,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASwpfDEXbncdQejfrUdpTWqWd17fl9Prks5rWQ5ogaJpZM4LvHsZ
.

--
driss

Thank you for your help and quick response.

Thank you for your help and quick response.


[Feature Request] pgp sign git releases

Resources

https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
https://github.com/blog/2144-gpg-signature-verification

This is a neat idea. I am time-and-effort constrained, so if you want to submit a PR for this, I'll be happy to review it.

@sophie-h I am starting the 3.x branch, so if you are still interested in this features, now would be the time to start on a PR.


⚠ Bofrost.lu has degraded performance

In de2d0f1, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1286 ms

Resolved: Bofrost.lu performance has improved in e732992 after 35 minutes.


the latest commit causes errors in c

the changes in this commit, causes nil value error on activeParameter field

echom &filetype

will return c
and
:LspInfo

is returning the following

also it was working just fine before this commit

Yep, it will happen with every language server except from the sumneko lua one. I proposed a fix on #65.

Thanks for head up. This issue should be fixed in the latest version.

thanks mate, the issue is fixed


Add new PermissionedDisputeGame address

Add new PermissionedDisputeGame address

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Tamu provider support

Hi Denis,
We added a module to support Tamu (Texas A&M University GeoServices), as they make some census data available that we needed, which seems hard to find in other services.  Unfortunately Tamu's api doesn't seem to accept a single string for the location, instead requiring a tuple of (address, city, state, zipcode).  I hope the way this was handled, as additional required named params, seems appropriate.
There are still some things we would like to add to tamu.py module, in order to expose some more of Tamu's API, but thought we'd pass along the code in the meantime anyway.
Thanks for making this great geocoder package available!  It's been extremely helpful.  Hope you might find the Tamu addition to be useful.
Cheers,
Michael

Coverage increased (+0.4%) to 76.463% when pulling 68b4cdd549d3912aa557cb1a03bf5bb73e2a9af5 on ac6y:master into 682503294e5ef5d09d6885959080edd8ef916b65 on DenisCarriere:master.

Coverage increased (+0.4%) to 76.463% when pulling 471f9cf88766ac12e5b19b2e98f2d6ad32ab8e87 on ac6y:master into 682503294e5ef5d09d6885959080edd8ef916b65 on DenisCarriere:master.

I wasn't sure how to add an env variable for the Travis CI build - sorry!  So right now a demo API key is being passed for the test calls in these 2 locations:
tests/test_geocoder.py line 247
[geocoder/tamu.py line 232]
(https://github.com/ac6y/geocoder/blob/master/geocoder/tamu.py#L232)
The key param can be removed if the tamu_key is set in the env:
TAMU_API_KEY=demo

The tTrests are currently failing because the freegeoip.net service is apparently unresponsive.
The following URL times out often, (but not always), even with a timeout of 10 seconds, as of 2016-03-24 02:59 UTC:
http://freegeoip.net/json/<IP_ADDRESS>

Thanks Michael for this extra module! I'll have a look at it tomorrow and make sure the build is working in Python3, I'll look at Tamu's API and see if I can improve it in my Geocoder

Wonderful!  :)
Really enjoying using your Geocoder package - thanks again.
-M

@ac6y I added the Tamu key in the Travis build, I'm the only one that can edit those :+1:
I've also noticed that FreeGeoIP isn't very  stable as a server, I'll remove it from the testing but what's great with that one is you can host it locally.
Cheers!

@DenisCarriere Thanks Denis, makes sense.
And definitely great that FreeGeoIP is open source... it sounds like the public service may actually be shutting down...  https://github.com/fiorix/freegeoip/issues/165


Different actions for different fingerprints?

Could you execute different actions (fill in different credentials) based on the scanned finger?
Or is the message you get only something like "valid scan"?
I am looking for something like fingerpass, but i need it to fill in different credentials based on the scanned finger.
(Windows-user stays the same, always logged in. Then, based on the finger scan, log a differnt user into a POS Software)
Additionally, i would need more than 10 different users, and as i understand, Hello will only store 10 fingers per (Windows-)User.

FingerPass won't work like that, but I believe you could accomplish this using a fingerprint scanner in Windows if you write something custom. I remember seeing something similar already built, where you could configure a different command to run for each finger. This, I think...
https://github.com/resilar/HotFinger

Thanks.
Yes, i figured FingerPass will not work like that.
I wanted to ask if it would be possible through the mechanism/api you use.
Does it provide you with info about WHICH finger was scanned?
Yes, HotFinger is more like it in the way that it recognizes different fingers and triggers different actions.
But i think it would not easily adopt to what i need.
I use a commercial solution called BioSnapOn, but it's a bit quirky, so i am looking for alternatives, but it seems like no substitute exists...

If I remember right, the API I used only gave me an ID relating to the Windows Hello user that the fingerprint belonged to--not the fingerprint itself. I could be wrong, though. It's been a couple years since I've touched this!
You can take a look at the API I used here...
https://github.com/JcBernack/WinBioNET
... and maybe reference how I used it, since I remember there being some undocumented stuff.


Any idea about implementation of multiple heads?

I want to build a model with multiple heads, e.g. multiple fully-connected classification heads, and train them according to the input. I will assign an auxiliary value into the label of each input sample and train the head corresponding to that auxiliary value. Does anyone ever tried to do this? Any suggestions will be very helpful. Thanks!

The doc could help. The implementation of TSD based on mmdet does a similar thing, which might also do some help.

The doc could help. The implementation of TSD based on mmdet does a similar thing, which might also do some help.

Hi, @ZwwWayne  I met the same problem now, however I find the doc you provided didn't exist anymore, whould you mind share it again? Thanks a lot


gitAndTools.gh: 1.2.1 -> 1.3.0

https://github.com/cli/cli/releases/tag/v1.3.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

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

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


WIP: Remove unnecessary requests dependency

This PR replaces requests with the aiohttp ClientSession which comes with every plugin. No additional library needed.
I haven't tested this yet, but it should work as a drop-in replacement.

Thank you!  I was looking into aiohttp this past weekend, as it seemed like the better way to go overall, and it is definitely better to not have an extraneous dependency that doesn't need to be there.


Call fcl.mutate always fail

Hi,
I just started learning Flow blockchain and building an iOS dApp refer to this article https://dev.to/theagilemonkeys/how-to-buid-a-native-ios-dapp-that-uses-the-flow-blockchain-as-the-backend-n9k
I run FCLDemo(0.0.3) and try to trigger SendTransaction but it always returns the error(decode failed). I debug and found out the error return from AccountsResolver when it tried to call executePost request  pre_authz(https://flow-wallet-testnet.blocto.app/api/flow/pre-authz) service API and got the response Invalid domain - HTTP status code: 400
It's happened on both testnet and mainnet (blockto wallet)
The fcl.config is same as what the FCLDemo setup

I will look into that, it seem blocto update their API on their end.


Bump to 2.74.1

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Update plugin.gd to compensate scale

Bug Fixed

The images won't show up right when the editor scale isn't 1

Thanks for these fixes! I made a few small style changes


Add Common Utils to 2.2 manifest

Signed-off-by: Mohammad Qureshi<EMAIL_ADDRESS>Description
Adding common-utils to 2.2 manifest as a follow-up to https://github.com/opensearch-project/common-utils/pull/204
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2363 (1b89b20) into main (ffe2328) will increase coverage by 5.38%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #2363      +/-   ##
=============================================
+ Coverage     94.61%   100.00%   +5.38%
=============================================
  Files           209         6     -203
  Lines          4309       105    -4204
  Branches         29        19      -10
=============================================
- Hits           4077       105    -3972
+ Misses          226         0     -226
+ Partials          6         0       -6

Impacted Files
Coverage Δ

src/test_workflow/test_kwargs.py

src/assemble_workflow/bundle_file_location.py

...RunBwcTestScript_OpenSearch_Dashboards_Jenkinsfile

tests/jenkins/jobs/BuildFailureMessage_Jenkinsfile

...bwc_test_start_properties_opensearch_dashboards.py

src/ci_workflow/ci_check_lists.py

..._workflow/input_manifests_opensearch_dashboards.py

...teg_test/integ_test_suite_opensearch_dashboards.py

src/manifests/input_manifest.py

src/run_ci.py

... and 193 more

Help us with your feedback. Take ten seconds to tell us how you rate us.

The failed GitHub Action seems to be for a version unrelated to this PR. @peterzhuamazon Would you be able to review and take a look?


remove trailing / to make junior job link work

Should fix #396

@nickvergessen
@tomneedham
just a minor thingy.

:+1:


Performance issues with concurrent scripts

I have a machine with Intel i9, 16 cores / 24 threads and 128GB RAM running Linux Debian 11.
When I run the script like "/usr/local/bin/backgroundremover -i 1.png -m u2net -o 1_nb.png" everything works perfectly fine.
It takes about 2.5 seconds in total and top shows that all 24 cpu's use about 10%, no problems at all.
However when I run the script concurrently 2 times:
/usr/local/bin/backgroundremover -i 1.png -m u2net -o 1_nb.png &
/usr/local/bin/backgroundremover -i 2.png -m u2net -o 2_nb.png &
This takes about 20 seconds to complete where top shows that all 24 cpu's use 100% constantly.
Running the script concurrently 3 times:
/usr/local/bin/backgroundremover -i 1.png -m u2net -o 1_nb.png &
/usr/local/bin/backgroundremover -i 2.png -m u2net -o 2_nb.png &
/usr/local/bin/backgroundremover -i 3.png -m u2net -o 3_nb.png &
This takes about 45 seconds to complete with all cpu's using 100%.
Running any of them (1,png, 2.png, 3.png) individually takes just about 2.5 seconds.
Why is running the scripts concurrently so slow and more important, how can I fix this?

I think this should be fixed as I took out the nices.  Re open if not


WICKET-6761 Multiple websocket connections from the same session

This PR adds an optional resourceToken to BaseWebSocketBehavior to support multiple websocket connections from the same session, i.e. from multiple browser tabs.
The token could be a UUID or some other calculated value.
Note: I'm not really happy about the name resourceToken. Maybe something like connectionId would be easier to understand.
See https://issues.apache.org/jira/browse/WICKET-6761

Thank you, @theigl !


Invoking ptxas not supported on Windows

I ran into a Problem on object_detection_tutorial.ipynb.
looking at the code here this seems to be a known problem with a TODO:
https://github.com/tensorflow/tensorflow/commit/67efcb612ac00399f64590733f7ff3360de6555c#diff-db64a4ef56ab12c5652a8a9741234cadL40
My Output from anaconda/Jupyter:
2019-12-18 09:18:22.537649: W tensorflow/stream_executor/cuda/redzone_allocator.cc:312] Internal: Invoking ptxas not supported on Windows Relying on driver to perform ptx compilation. This message will be only logged once.
They have rebuild a lot in this part since tf 2.0.0... should i now try to compile tensorflow myself with the latest code from master repo to get this running on windows ?

Seems this is still a problem on Cuda Windows platforms:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/stream_executor/gpu/asm_compiler.cc#L43


New Login Controls overlaps on Internet Explorer

I like what you're flash new login page :)
Although on a Windows Remote Desktop connection over the web its a bit jittery.. be handy to know how to make it 'less interactive'..
I have just deployed latest build and the login controls are all overlapping on IE.
Looks OK on Chrome :/

You could turn off animation, use a basic effect or use just one background image / none to make it less interactive. Settings are from Vegas library in LoginPanel.ts
What is IE version you are using? We no longer support < IE11, as only IE11 has proper flexbox layout.

Hmm i see, it's also in IE11 :) Will have a look.

thanks for advice re where to control animation.
I have tried from Windows 10 running IE 11.494.10586.0  and from a Windows 2012R2 Server thats pretty much patched up to date.

You can set the animation to not play the slideshow by adding $('body').vegas('pause'); after initializing Vegas in your JavaScript at the end of the page on AccountLogin.cshtml.

Also can run that in console too. For production, remove that line for the slideshow to run.

Sorry I meant in your TypeScript file.

Fixed look in <IP_ADDRESS>
Need this css in your site.membership.less:
.s-LoginPanel .flex-layout .s-PropertyGrid {
    display: block;
}

thanks confirmed adding the css above fixed the issue.


JWT:  invalid signature

Hello,
When I paste the token received with the login_check uri in jwt.io, it says that the signature is invalid, is it normal ?

jwt.io only supports hs256 and rs256 jwt. so f the token you are generating is different alg then it will be invalid on jwt.io.
try pasting the token using rs256 in jwt.io, and then paste the public and private keys.

It's already in RS256 because of the header of the token

oki, did you paste the public/private keys into fields? i havent tried jwt.io rs feature yet, so not sure how well it works.

When I paste the keys, nothing change

i have no clue then, is most likely an issue with jwt.io

Is it not a problem of the token ?

I tested using only the namshi/jose library and the result is the same. We'll have to investigate what is the problem, the library or the jwt.io decoding. Anyway, it is not really a problem for the moment.

Thank you, I reported it just for you to know

That's cool, I'll try to find the cause of the problem.

Is there any update on this?
I'm having the same issue

in the verify signature column, fill in your secret

If anyone is still running into this issue, what sorted it for me was to change the secret to match my key, then paste the token in again.
pasting the token in AFTER changing the secret is the crux of what got mine to verify.
I was using HS256.


Shader changes scene background colour

Hi, I love this shader a lot, you've done a great job. I can't quite get the effect the same though.

I create a 3D scene and a camera.

I add a material override with the shader attached, with purple highlights and blue shadows.

The objects in the scene get blue shadows and black outlines.
The background colour of the whole scene goes purple.

I was expecting the objects to get purple highlights or a purple outline but the background to stay the same colour. Do you have any suggestions maybe? This is godot 4.0

I never tested the shader with no background, seems like the normals start acting funny without meshes to collide with. Adding a distance check seems to fix this:
if (highlights_enabled)
to
if (highlights_enabled && getDepth(SCREEN_UV, DEPTH_TEXTURE, INV_PROJECTION_MATRIX) < 1000.)
This works but is suboptimal performance-wise. Shouldn't really matter since the rendering resolution is so low but I'll do a better version once I update the shader again.
Let me know if the problem persists


protractor task should depend on prod task

Hi,
simply cloning the repo than running gulp protractor will fail, since the files are not bundled, so in my opinion the protractor task should depend on the task prod

The downside to making the protractor task depend on prod is that it will then run prod EVERY time you want to run the tests, adding extra processing and wait time on each run (even if your app is already bundled).
From a high-level point of view, I wouldn't expect anyone to be immediately running tests without first writing any code or running either gulp dev or gulp prod, but I do understand your point. I'll think about this

Closing. I don't think making protractor dependent upon prod would be the best solution for this.


Cover gitignored env files in docs and examples

This is another take on #2298, adding a special section for dotenv , since it is such a common way of loading environment variables.

I left a comment on the vercel preview ( currently on mobile). Otherwise looks good :)


Update tomo wrapped Paxos Standard (PAX) info

Closing to re-open pull request not as patch-1

Closing to re-open pull request not as patch-1


[SPARK-19631][CORE] OutputCommitCoordinator should not allow commits for already failed tasks

What changes were proposed in this pull request?
Previously it was possible for there to be a race between a task failure and committing the output of a task. For example, the driver may mark a task attempt as failed due to an executor heartbeat timeout (possibly due to GC), but the task attempt actually ends up coordinating with the OutputCommitCoordinator once the executor recovers and committing its result. This will lead to any retry attempt failing because the task result has already been committed despite the original attempt failing.
This ensures that any previously failed task attempts cannot enter the commit protocol.
How was this patch tested?
Added a unit test

Can one of the admins verify this patch?

@JoshRosen @mccheah to review

ok to test

Test build #73294 has started for PR 16959 at commit b0ac2a7.

Test build #73294 has finished for PR 16959 at commit b0ac2a7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73294/
Test PASSed.

@vanzin are you right person to review this?

Thanks for the feedback @vanzin

Test build #73532 has started for PR 16959 at commit ed3ab09.

Looks ok to me, but let me ping some others @squito @kayousterhout

Test build #73544 has started for PR 16959 at commit 20f028a.

Test build #73547 has started for PR 16959 at commit 1fcbd5d.

Test build #73544 has finished for PR 16959 at commit 20f028a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73544/
Test PASSed.

Test build #73547 has finished for PR 16959 at commit 1fcbd5d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73547/
Test PASSed.

@kayousterhout

This commit makes me worried there are more bugs related to #16620. For example, what if a task was OK'ed to commit, but then DAGScheduler decides to ignore it because of the epoch. The DAGScheduler / TaskSetManager will attempt to re-run the task, but the output commit will never be OK'ed, which will cause the task to fail a bunch of times and the stage to get aborted. Maybe this is OK because it's unlikely a stage will both be a shuffle map stage and also save output to HDFS? Thoughts?

yes, I think you are right, both about the bug, and that its pretty unlikely.  It looks like SparkHadoopMapRedUtil is a public class, so a user could write to hdfs inside a map stage, but that would be pretty weird.

Test build #73613 has started for PR 16959 at commit 7d12b78.

Test build #73613 has finished for PR 16959 at commit 7d12b78.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73613/
Test FAILed.

retest this please

Test build #73629 has started for PR 16959 at commit 7d12b78.

Test build #73629 has finished for PR 16959 at commit 7d12b78.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73629/
Test PASSed.

lgtm, sorry for the noise

Test build #73774 has started for PR 16959 at commit 9e3c8fe.

Test build #73774 has finished for PR 16959 at commit 9e3c8fe.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73774/
Test PASSed.

Any last changes before merging?

LGTM -- I merged this into master


Enable DMing from guild channel on Discord

I tried to write code to simply DM a user who's sent a message in a regular guild channel. The DM failed to send though. Should investigate why that happened.

Dungeon Master!


update the readme adding some instructions

I've added some instructions to the Readme.

Sorted, I'll open another PR wit the gitignore update


fix codestyle

@jairhenrique thanks, but isort is already configured in the .editorconfig file.
Once you dropped that, I'm happy to merge you clean up code.

@codingjoe done!

Thanks!


[0.1.0] Refactoring CTGAN for DataLoader

Description

Motivation and Context

Rewrite CTGAN based on MIT Licensed code
Imp and test part of Synthesizer
Intro optimized CTGAN component for DataLoader's chunk read.

How has this been tested?

Types of changes

[ ] Maintenance (no change in code, maintain the project's CI, docs, etc.)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

This PR supports DataLoader on the interface, but does not yet support chunk reading on the model component

I believe DataLoader has a lower memory consumption when it is fetching whole columns: https://github.com/hitsz-ids/synthetic-data-generator/blob/0.1.0-ctgan/sdgx/data_loader.py#L106

This PR supports DataLoader on the interface, but does not yet support chunk reading on all model component

Sure, we can finish these components one by one, the files changed is enough for this PR.
I may spend a little time running and understanding the new module such as DataLoader, which won't be long.
If we provide some examples of DataLoader or other modules in docs, developers may be able to quickly understand the use of modules.


Sr 478 csv download

CSV download now available for:

Monthly food Group
Top Food Source
Household Histogram
Projected Availability
Projected Food Source

Export service removes "_sourceObject" column.
CSV download button disabled when no data for chosen mn is available.

Testing with Malawi

[x] monthly food
[x] top 20 food (had to use madagascar)
[ ] household dietary supply - empty csv? Had to click 3 times to get download
[x] projected availability
[x] projection food sources

looks good and all works for me except Household dietary supply. not getting any console errors when clicking, just an empty csv.

Thank you.
Have removed comments and fixed Household Histogram csv download.


Planned Features

This is a list of possible features for this project and may or may not be part of a release of the project. Even if they are implemented they don't have to be part of the first release.
Planned Features

native ILE service program
programmable HTTP client
developer-friendly API
well documented (ILEDocs)
unit tested (RPGUnit)
standards compliant
authentication support (Basic Auth , OAuth 2.0 ( clientId+clientSecret , certificate , x.509, see Keycloak Admin Web Console-> Client -> Credentials ) )
SSL support
self-signed certificate support (string, stream file, keystore file object)
reentrant and thread safe
forms support
multipart support ( set as request/response handler )
trace/debug support (job log , stream file)
minimum OS version 7.3
minimum TR ?
streaming support
content negotiation ( dynamic translation from correct charset (see Content-Type HTTP header) to native CCSID )
custom user-defined request handler
custom user-defined response handler
automatic retry ( x times) on not successful request
handling of HTTP status 304 (keeping a previous response in memory)
websocket support
support all common HTTP methods (GET , HEAD , POST , PUT , DELETE , PATCH , OPTIONS )
includes for target languages RPG and C
easy installable via iPKG
other protocols: FTP, SFTP

I think we can tick off almost all of the features. For not implemented features there will be extra tickets if needed.

Actually "minimum OS version 7.2" as long as extended support for
the version of the OS is offered by IBM
On Thu, Dec 14, 2023 at 11:10 AM m1h43l @.***> wrote:

Closed #1 https://github.com/sitemule/ILEvator/issues/1 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/sitemule/ILEvator/issues/1#event-11246116583, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAVIPHVCYEHZWHIEOFCSK3DYJLGC3AVCNFSM6AAAAAAS64PBQOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGI2DMMJRGY2TQMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Allow configuring or disabling max cookie size check

Continue #780

use arg instead of const for dump_cookie max_size
add max_cookie_size attr to BaseResponse
add changelog

LGTM, might need a testcase for custom values though

The error is slightly confusing because you can pass 4093 bytes as the value and still get the error, since the options are added to the payload. I don't think we need to change it, just pointing it out.

I think we should elaborate the error message because of this.
In Flask it might make sense to only enable this limit in developer mode, and
rather try not to crash in production.
On Tue, Apr 18, 2017 at 08:37:40AM -0700, David Lord wrote:

The error is slightly confusing because you can pass 4093 bytes as the value and still get the error, since the options are added to the payload. I don't think we need to change it, just pointing it out.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/pallets/werkzeug/pull/1109#issuecomment-294884637

Maybe this should be a warning? Could use a filter to turn it into an error in Flask debug mode.

How about detecting the before and after version, then warning "Cookie too large: value was {value_size} bytes but header required {header_size - value_size} extra bytes. The final size was {header_size} but the limit is {max} bytes. Browsers may silently ignore cookies larger than this."

Sounds good
On April 18, 2017 6:24:54 PM GMT+02:00, David Lord<EMAIL_ADDRESS>wrote:

How about detecting the before and after version, then warning "Cookie
too large: value was {value_size} bytes but header required
{header_size - value_size} extra bytes. The final size was
{header_size} but the limit is {max} bytes. Browsers may silently
ignore cookies larger than this."
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/pallets/werkzeug/pull/1109#issuecomment-294899723

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Thanks @davidism for making this configurable, there should be need to override the limit of 4k per cookie in most cases, but yes, some people might want to change it.


Animals set to false after server restart!!

Information
Server version: git-Spigot-988b411-1f4693a (MC: 1.16.3) (Implementing API version 1.16.3-R0.1-SNAPSHOT)
/mv version -b: Multiverse-Core Version: [2.5-b719]
latest.log
Server lob in attachment
Help request
Problem
When I restart the server, no animals or mobs are spawning until I run the command /mvm set animals true
What I have tried
I looked into the world.yml, there the animals and mob spawning is set to true, in the server.properties it is also set to true and in both files the difficulty is set to normal

I'm closing this as a duplicate of #2328. Also, your Multiverse-Core version is out of date, although, I don't think that is what is causing the issue.


Pin plugins to specific versions, but allow hosted projects to be updated in one swoop

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1982
Originally created by @DouweM on 2020-04-21 23:27:49

View 6 previous comments from the original issue on GitLab


contains operator should be case insensitive

Fixed in https://github.com/goldcaddy77/warthog/pull/93


Error when requesting data

Describe the bug
I am trying to run the following query, select * from orders, in order to get the corresponding data but it does not work and in the query inspector it says the following:
{
"request": {...},
"response": {
"message": "An error occurred within the plugin",
"messageId": "plugin.downstreamError",
"statusCode": { "statusCode": 500,
"traceID": "56cf6ca5699814f9"
}
}
I'm currently running the same query but with another table and it's working normally. Does anyone know what it could be?
Expected behavior
The expected result would be to be able to fetch the information from the table.
Screenshots

I am using grafana cloud version 9.5.3. From the grafana website.

We've had a similar issue, and traced it to types. Suppose we have a document with a field that is numeric, and specifically float. Most of the values, but not all have decimals. When we save a value that is even (not a decimal, say 400.0), firestore seems to save it as 400. (you can see other people having issues due to this, for example, here: https://github.com/googleapis/google-cloud-dotnet/issues/3013#issuecomment-481791855
If we look around here:
https://github.com/pgollangi/firestore-grafana-datasource/blob/main/pkg/plugin/datasource.go#L136
We'll then cast it to an int, and then try to append it to a slice of floats, which has been causing us a similar crash. You may be seeing this if you have any similar patterns in the collection you are querying. It could also be null values as you suggested above.
I think I have an idea for a fix for floats / ints problem. Everything right now is driven on the first value seen. What I was thinking is, if we have a slice of ints, and we encounter a float, we cast the whole slice to a slice of floats. The second half of the solution, is if you encounter an int, and you have a slice of floats, you cast the int to a float before appending to the slice. I'll make a PR with the change, and in the meantime see if I can think of anything for the null problem, so we don't get crashes on nulls.


KEYBINDS

Hey! Is there anyway to change the keybinds of the mechanics? E.g Change from right click to shift-rightclick?
Its having a conflict with some of our mods which use buckets of water to hand feed animals and shift-rightclicking the animal (with bucket inhands) is used to open the mobs GUI
Using:
1.18.2
Forge

I don't think it would be possible to change the keybinding entirely: the action is too dependent on right-click to change, but it should be possible to change when it ignores right-clicks. Currently that's set to when the player is crouched.
I'll look into implementing this. Right now, if you just need the mod to activate only when you are crouched, you can apply this patch and rebuild the jar:
flip-crouch.txt

Closing for inactivity


th10 with temperature sensor problem when the temperature is below -0 celsius

Hi
th10 with temperature sensor problem when the temperature is below -0 celsius, then homekit cannot show the temperature, the sensor says no response.
However, Eve correctly shows the temperature value in history

Hi @urmo53
Please try removing the device from the Homebridge cache so it is readded.
I recently made an update to the plugin to allow for negative temperatures, but it requires the above step to get it working.
The Eve history will be preserved.
If this doesn't work I will look into this further.
Thanks

Thank you its working!!

Great, glad you got it working!


io.netty.ByteBuf writeBytes(java.nio.ByteBuffer src) APIclarification

This is a question, not an issue
I wanted to know how many memory copies are involved in the below writeBytes API from io.netty.buffer.ByteBuf Interface. Will the data gets copied to an intermediate byte array before getting transferred to Bytebuf ? or will the data directly gets copied from backing array of nio.ByteBuffer to ByteBuf ? or will it depend on type of nio.ByteBuffer supplied or type of implementation of ByteBuf used ?
Note i am supplying a read-only ByteBuffer as a parameter.
API writeBytes(java.nio.ByteBuffer src)

@shashanka981 it totally depends on the implementation. That said we try to reduce the number of memory copies as much as possible in Netty.


Jest fails on standard import syntax

When importing Tooltip, Jest throws the following error unless you specifically import the cjs version.
react-tooltip v5.2.0
To reproduce, in a project running Node 18, React 18, and Jest 29, import tooltip:
import { Tooltip as ReactTooltip, ITooltip } from 'react-tooltip';

Project runs fine, but jest tests fail.
When running jest tests I see the following error:
Jest encountered an unexpected token
    Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
...node_modules/react-tooltip/dist/react-tooltip.esm.min.js:1

So, it's possible it's just my jest configuration that is unable to support this syntax, but the tests run fine with standard imports from other react ui packages.
Current solution: directly import from the dist directory's .cjs version.
import { Tooltip as ReactTooltip, ITooltip } from '../../node_modules/react-tooltip/dist/react-tooltip.cjs';

Are you using Jest with TypeScript? If so, try doing two import statements:
import { Tooltip } from 'react-tooltip';
import type { ITooltip } from 'react-tooltip';

import type only works with TypeScript. Let me know if this works.

Yes, Jest with TypeScript.  Updated my code to separate imports but got the same error with Jest.
react-tooltip/dist/react-tooltip.esm.min.js:1
return fe(e,t,n,!0)};u.Fragment=o,u.jsx=pe,u.jsxs=de}(),c.exports=u;var f,p={exports:{}};
                   ^^^^^^

It seems to be highlighting this u.Fragment as the error in the minified output in case that is helpful?
Also, here's another part of the Jest error:
    SyntaxError: Cannot use import statement outside a module

      1 | import React from 'react';
    > 2 | import { Tooltip } from 'react-tooltip';
        | ^

This looks like something to do with build configuration, I'm not sure though.
We'll see what we can do.

Hi @clemenger, can you create a new app with Create React App and simulate your problem, please? Or share your app if it's possible. We'll try to test and solve this problem and let you know the status update.
Thanks!

Hi @danielbarion thank you for the prompt reply!  Here's a sample repo using Create React App.
https://github.com/clemenger/react-tooltip-issue-869
This commit is all I added to the basic default Create React App configurations:
https://github.com/clemenger/react-tooltip-issue-869/commit/14bb2e0993d95a6221cb0fe9a6477c45b78394b0
Then I just ran yarn test and npm test.  Both resulted in the aforementioned error.

Thanks for the fast reply with the example, we will take a look as soon as possible and let you know our findings!

@clemenger for now the update is: I did a very quick test and I found some issues on Jest repository saying jest is not 100% compatible with es modules yet, so, when I tried with:
import { Tooltip } from "react-tooltip/dist/react-tooltip.umd";

worked, can you check too, please?

@danielbarion yes, the jest test worked for me with the umd file.  However, similar to the attempted workaround with the .cjs file, the .umd file works for jest, but if you run yarn start in the test project, it gives the following compile error with the umd file:
Failed to compile.

Attempted import error: 'Tooltip' is not exported from 'react-tooltip/dist/react-tooltip.umd' (imported as 'Tooltip').
ERROR in ./src/App.js 45:37-44
export 'Tooltip' (imported as 'Tooltip') was not found in 'react-tooltip/dist/react-tooltip.umd' (module has no exports)

webpack compiled with 1 error

yeah, I don't have an answer yet.
we need to do more research about this, do you have any suggestions?

Not at the moment, I'll let you know if we come up with anything.

I'm hitting this problem too. Any updates?

I opened up a pull request here: https://github.com/ReactTooltip/react-tooltip/pull/881 . This fixed the issue for me in my project, and it also fixed all the issues in the example project posted above https://github.com/clemenger/react-tooltip-issue-869 .
I just followed rollup recomendations here: https://rollupjs.org/guide/en/#publishing-es-modules

Hi guys, version 5.3.3-beta.0 was published from this PR, let's test and give feedback please, if it's working as expected 😄

Thanks @KholdStare and @danielbarion, much appreciated.
For those out there still on a version with this issue, an alternative solution is to make this mapping change in your local jest.config.js:
module.exports = {
    projects: [
      {
        ...
        moduleNameMapper: {
          '^react-tooltip$': 'react-tooltip/dist/react-tooltip.cjs',
          ...
        },
      },
    ],
  };

See related https://stackoverflow.com/questions/73958968/

I had a similar case and the solution was:
moduleNameMapper: {
        '^react-tooltip$': '<rootDir>/node_modules/react-tooltip/dist/react-tooltip.cjs.js'
}

which probably requires a special tsconfig.json configuration in the compilerOptions:
"compilerOptions": {
        "rootDir": "./"
}


Make test strategy uniform

I have learned a bunch about testing by stumbling through slow-odgi, and I'd love to pipe that around to other parts of the testing setup. See also https://github.com/cucapra/pollen/pull/31#issuecomment-1482013280
Just making it an issue for whenever @susan-garry has a moment to chat about it!

Susan and I talked about this on a Zoom call today. Not clear whether any immediate steps are necessary, but at least we know each others' strategies and thought processes.


Add runas as devDependencies, or the python script will install it again...

... and again.
The options of register_msdia80_dll.js should be admin.
Fix the problem of runas not works cause it will escape command parameters by default.

Thanks!


Fix incorrect unhooking for UI manager views in RCTProfileUnhookModules

Summary
This PR fixes incorrect unhooking for UI manager views in RCTProfileUnhookModules. view is actually a key, not the view itself; instead, use viewForReactTag: to obtain the view itself.
This fixes issue #24952.
Changelog
[iOS] [Fixed] - Fix incorrect unhooking for UI manager views in RCTProfileUnhookModules, causing an infinite RCTProfileTrampoline  recursion (#24952)
Test Plan
N/A

@shergin May I pls [i]poke[/i] you for a review? As described in the issue (#24952), this is blocking for us.
Thanks

Thank you for fixing this! 👏🏻

Thanks!


fix: transclude all subsections for embedded call (closes #963)

Fixes https://github.com/jackyzha0/quartz/issues/963
See https://github.com/jackyzha0/quartz/issues/963#issuecomment-1979520496 for details.

Will this work for subheading's subheadings too? Because I'm not sure if it'll still work.

Will this work for subheading's subheadings too? Because I'm not sure if it'll still work.
Totally forget what I said, I just tested it. It works perfect no matter how it's done as far as I can tell.

I don't even know this obsidian behaviour lol thanks for looking into the fix.

hm we should not dynamically construct regex like this, it's considered bad practice


Update UI: title, user guide link, pie chart panel

Update UI
Update title: From Address App to PennyWise
Update user guide link
Update Pie Chart Panel by placing placeholder label and image
Current UI

Reorder UI components to resemble UI mockup
Create a new class EntryPane to contain the income and expense data
Current UI:


Give StreamBuilder ability to be lossless

The documentation for StreamBuilder clearly states that the builder isn't called 1-to-1 with the Stream and that its intention is to just display the latest snapshot.  However that doesn't stop people from assuming that it is 1-to-1 as evidenced in the StackOverflow answer here: https://stackoverflow.com/questions/64167602/create-list-view-with-stream-builder?newreg=44e616311fef471588b8f25184be3a6a.
I suspect the name of the class and its signature communicates that it may behave different than it does.  A more proper name may have been LatestSnapshotBuilder.  The punishment for using the API incorrectly is too high in this case.  Imagine shipping a product that behaves correctly on your internet then a user that has a fast internet connection uses it and data is missing from the list.
Since the fail case is so dire I think we should have an escape valve in the API design, a bool that guarantees that StreamBuilder calls the builder 1-to-1 with the stream events.  We could rename the class but that would probably be too disruptive.
Proposed API:
  const StreamBuilder({
    super.key,
    this.initialData,
    super.stream,
    required this.builder,
    bool isLossless = false,  // <-- new parameter
  });

You should check the "swallow error" property from StreamBuilder/FutureBuilder, maybe isLossless could be made on the same way, a global variable, so users can override everywhere instead individually.

Hi, @gaaclarke, I would like to work on this fix. If you can assign this to me it would be great. Thanks.

Hey @sarannng, sounds good.  Feel free to ping me for a PR review.  It should be a fun fix.  I'm not going to assign it to you since the team typically doesn't do that for PRs like this.  You are free to fix the issue though.

Hi @gaaclarke, just to clarify, all I need to do is add isLossLess parameter to StreamBuilder, right?

That's correct, and make it work with tests showing it works of course.

How is the isLossless param supposed to work? If the stream provides updates more frequently then the framerate you still wouldn't see each entry on screen.

How is the isLossless param supposed to work? If the stream provides updates more frequently then the framerate you still wouldn't see each entry on screen.

Right, but we'd play all the updates we've received from the Stream, even if that meant wasted building of things that will just be replaced before they are viewed.  The implementation now is throwing them away.  The isLossless argument would make the sample code from the stackoverflow link in the description work.
The important thing is, does the Stream represent atomic state, or does it represent partial state.  Right now StreamBuilder works with atomic state Streams, but doesn't for partial state.
Even if no one used isLossless it would be worth implementing it imo since it would be another opportunity to communicate the semantics of StreamBuilder, and the only communication that happens in code.

@gaaclarke is anybody working on this? Can I pickup this as my first contribution?

There was someone interested in the past but I didn't see a PR.  No one on the team is working on it so it's available.  If you get a PR you can ping me to take a first look.

@gaaclarke in the given stackoverflow description why the error goes away on wrapping the Streambuilder with Scaffold widget and how it is related to the streambuilder's builder not gettting called 1-to-1 with the Stream?

It's because of the mutation of the items variable.  See how items are getting added to it in the else block?  Because the StreamBuilder callback isn't guaranteed to be executed for each item, there is a race condition here with the contents of items can be different depending on how fast the Stream executes.

@gaaclarke yeah I understood that builder callback is not getting called 1-to-1 with the stream events. But the given stackoverflow question will still throw same error (No Material widget found) if we use Listview.builder in place of StreamBuilder.

@gaaclarke by directly calling the build method instead of using setState I am able to run the stackoverflow code without any errors with Streambuilder's builder callback getting called properly 1-to-1 with the stream events with proper Connection states, but the UI gets stuck at circularprogress indicator as framework does not actually rebuilds the UI if we just call the build method directly. Can you guide me how to solve this problem. I read the setState code and it marks and schedule the widget for rebuild, but the framework does not provide any function which we can call directly in our widget to rebuild the UI.

Maybe you should consider capturing the data then calling the builder closure for each piece of data and throwing away the result until you get to the last value. You can try doing that in the lambda getting passed to setState.

This sounds ... wasteful and confusing to build UI that just gets thrown away.
I would instead suggest either providing all items that have accumulated since the last build to the builder so it can decide what it wants to do with them. Or, they could be provided to an accumulation function that can process them before the single result is passed to the builder. Not sure how to integrate this into the current API though.

This sounds ... wasteful and confusing to build UI that just gets thrown away.

Wasteful yea, I wouldn't say it's confusing though.  What is demonstrably confusing (by the stackoverflow example) is not calling the closure for every piece of data.

Or, they could be provided to an accumulation function that can process them

That sounds good to me too.  Sounds like a breaking change though...  Unless you created a different builder argument that has a different signature.  That would eliminate the constructor argument for lossy or not, the new closure represents if you want it called losslessly.  We could potentially deprecate the old field too if we wanted.
class StreamBuilder<T> {
  StreamBuilder(this.builder, this.losslessBuilder);
  final Widget Function(T state) builder;
  final Widget Function(List<T> states) losslessBuilder;
}

It's because of the mutation of the items variable. See how items are getting added to it in the else block? Because the StreamBuilder callback isn't guaranteed to be executed for each item, there is a race condition here with the contents of items can be different depending on how fast the Stream executes.

The reason which I understood for not guaranteeing Streambuilder's builder callback getting executed for each stream events:
because of setState scheduling builds for two stream events which happens very fast resulting in only calling build method for the latest event which in turn only executes the builder callback for the latest event.

Let me know if this is correct.

because of setState scheduling builds for two stream events which happens very fast resulting in only calling build method for the latest event which in turn only executes the builder callback for the latest event.

That's correct.  Another way to think about it is that if the stream's frequency is greater than half the build frequency, data will be lost (because of the nyquist frequency).  Also, the build frequency isn't fixed so the slower the builds, the more likely we'll lose data.

@gaaclarke this is the solution which I tried to apply, but wasn't able to solve the problem 🙃:
1-  created a list (streamData) which stores all the incoming events data from the stream.
2-  we will call the setState for the first element of the streamData list.
3- when the build method will get executed, we will remove the first element from the streamData list, then we will check if the streamData list is still not empty. If it is not empty we will call the setState again for the first element of the streamData list.
4- on stream done callback, we will check if the streamData list is still not empty. If its not empty we will recursively call the setState for all the items in the streamData list.

Please let me know what I am doing wrong.

One thing that looks fishy is you are adding to the end of streamData but pulling from the front.  You are also only removing one item per build.  You'd want to clear out everything by the end of the build.  I haven't played around with the code to know exactly how to best make that happen.  If I did I'd have implemented the solution myself =)

@gaaclarke one more question:
Since the build rate is slower than the stream events, and we are caching the stream data and building for each data, that means stream events will not be sync with build, as a result it will take more time to build the latest snapshot widget as comparison to current lossy streambuilder implementation. Is that correct?

@gaaclarke one more question: Since the build rate is slower than the stream events, and we are caching the stream data and building for each data, that means stream events will not be sync with build, as a result it will take more time to build the latest snapshot widget as comparison to current lossy streambuilder implementation. Is that correct?

Yea, technically true but in practice it will be negligible.  If we do the suggestion about about having a lossless callback the only extra overhead will be adding to List the values.  Building will just look at the latest one if that's what it wants.

@gaaclarke but why when build rates are faster then streams and builder callback is getting called 1-to-1 with stream events in current streamBuilder implementation but we still getting same error in the stackoverflow code?

Hey, I am Prahlad and learning about contributing to an open source, but I am new to this, so can anyone help me?

The problem in the referenced stackoverflow is a fundamental misunderstanding of Flutter and the real solution would be removing state mutations from the build method. The proposal in this issue might solve a fraction of the probelem but then imagine what happens when the developer updates the code to look up a value on an InheritedWodget in that builder function and is then frustrated their builder is getting called too often and there are excess values in the ‘items’ array.
Hacking in the framework doesn’t seem like a healthy solution to this particular education problem.

Forcing build to be called on obsolete values doesn't sound very coherent.
If you need accumulated values, wrap your stream in an accumulator. I wrote this package awhile back for this:
https://pub.dev/packages/stream_summary_builder
I'm not sure, but I think RxDart also has equivalents.
I agree that the current API is really confusing and misleading, but I think we'll have a better time communicating to users the limitations of the API than overcoming them in the widget.
That said, I guess you could add an optional "fold" argument to StreamBuilder:
/// A function that folds update to stream builder into a single value.
`T Function(List<T>, T) fold;`

Since fold is independent of the build cycle, it can be happily called on every event coming off the stream. It would be a little kludgy to use for accumulating a list:
// This is off the top of my head, may have trivial syntax errors.
return StreamBuilder<List<Foo>>(
  // Have to coerce the stream events to a list.
  // We could avoid this by adding a second generic to `StreamBuilder`
  // so that fold and build can use a different type than the stream,
  // but that comes with its own downsides.
  stream: myDb.getFoos().map((foo) => [foo]),
  builder: (context, fooLstSnap) {
    return ListView(
      children: fooLstSnap.requireData.map(
        (foo) => FooView(foo),
      ).toList(),
    );
  }
);

@gaaclarke  Can I pickup this issue as my first contribution?

Hello everyone,
I would also like to contribute an idea. What if we add a new parameter "duration" to the StreamBuilder interface. And in the _subscribe method instead of changing state in the stream listener, we can collect data into the queue and then every interval (which is defined by the duration parameter) pass every piece of data to the state. In this case, the app developer decides how often the state is changed.
Below is a code sample, it is not a working code, it just expresses an idea
  void _subscribe() {
   if (widget.stream != null) {
     _subscription = widget.stream!.listen((T data) {
       queue.add(data);
     }, onError: (Object error, StackTrace stackTrace) {
       setState(() {
         _summary = widget.afterError(_summary, error, stackTrace);
       });
     }, onDone: () {
       setState(() {
         _summary = widget.afterDone(_summary);
       });
     });
     _summary = widget.afterConnected(_summary);
   }
   Timer.periodic(widget.duration, (_) {
     if (mounted) {
       if(queue.isNotEmpty) {
         setState(() {
           _summary = queue.removeAt(0);
         });
       }
     }
   });
 }

@gaaclarke Hello,
I noticed that the StackOverflow issue you referenced seems to come from a misunderstanding of Flutter’s widget hierarchy rather than a limitation of the StreamBuilder itself.
Given that, I’m curious to know how you got the idea of proposing the 'isLossless`?
is this common enough issue to justify modifying the API ?

Given that, I’m curious to know how you got the idea of proposing the isLossless?
is this common enough issue to justify modifying the API ?

There are things a developer can know by reading an API and there are things a developer can know by reading the docstrings.  Information is more efficiently conveyed through the API since everyone has to read that in order for it to be used.
The default implicit contract is "data will not be lost", whenever that is not the case it should be loudly advertised.
This is especially insidious because you can run it and get correct results sometimes.

I agree the API as it exists today is a massive foot cannon-and a very common one. This specific beginner trap wasted hours of my time when I was first learning Flutter.
However, the proposed solution is not very coherent as the conversation thus far has shown-a core tenant of Flutter that enables the framework to work effectively is that (with some very specific exceptions like lazy-loading) business logic should not be triggered from the build cycle. Putting business logic into StreamBuilder violates this very core tenant. When user expectations don't match the reality of the API, it's great to just bring the API in-line with user expectations, but here that just plainly doesn't make sense.
My earlier proposal (https://github.com/flutter/flutter/issues/112197#issuecomment-1538983941) lays out a way to use the API to guide beginners away from this footgun without putting logic into the build function. However, even then I don't think it's a particularly good approach as reduce better belongs as an extension method on Stream (as I believe RXDart and some other packages provide) rather than as special case logic embedded in StreamBuilder.
Generally, I think the real answer is that StreamBuilder and FutureBuilder are both fundamentally foot guns (IIRC Hixie and others have said they have regrets about creating these widgets) and most senior Flutter devs I know just "unwrap" futures and streams in their state management layer (see ex). Namely, neither Future nor Stream give you synchronous access to the current value. This creates problems like losing the current value for a stream or getting a first frame loading flash when initializing a FutureBuilder with an already completed Future.
As the example above shows, unwrapping a Future/Stream is a bit tedious. I think the best approach is for Flutter to provide core primitives that make it easier to do so and then guide developers towards these approaches and away from the Future/Stream builders. Here's my issue proposing exactly this:
https://github.com/flutter/flutter/issues/135047
In the meantime, I'd highly recommend removing the good first issue tag on this issue as it's clearly not a good first issue and a lot of beginners looking for their first contribution are getting side tracked trying to implement a solution here.


refactor: simplify guardian api implementation

makes guardian api type declaration and implementation simpler. eventual simplicity I guess? 🖌
closes #176

@wbobeirne pls take a look when you have the time. hopefully we can build on top of this for https://github.com/fedimint/ui/issues/316