TypeError: Cannot read properties of undefined (reading 'faerun') still happening

hey there, I hate to say it but I'm having the exact same issue with version 1.1
I hope you're able to figure this out! Good luck!

@Skroas Try resetting the Calendar (!mwcal --reset)
It works perfectly fine on a fresh install

I would but the entire roll20 API shuts down with the error so there's nothing I can do to try to reset it. I did enter the command just in case with the script enabled but nothing happens. I'm really confused.

Does the API shut down immediately or only when you run !mwcal?
(Since it worked fine until I ran the command in 1.0)

Otherwise try manually resetting it by removing the ! in the checkInstall function

all scripts are immediately disabled as soon as I save the script and the roll20 API restarts. I don't have an opportunity put any command inputs for any of my scripts because it disables them all. I've tried installing it by itself as well to see if it was interfearing with anything else but nothing seems to work.

@Skroas try manually resetting it by removing the ! in the checkInstall function

It should hopefully fix the issue - if not, then please invite me to the Game as a GM and I'll see what I can do

It should hopefully fix the issue - if not, then please invite me to the Game as a GM and I'll see what I can do

https://app.roll20.net/join/17010343/mki7xA here's the invite for a testing game. I did try to remove the ! but it did nothing. I'm having the same issue here as my main game. I'll give you GM once you're in!

@Skroas That's really weird. In my test game, it works perfectly fine. Did you install anything else before my script?

nothing. That game is brand new...

@Skroas Do you have Discord so we can communicate faster?

I do is your ID the same as on here?

@Skroas  Yep - julexar


[ERROR] HTTPError 403: Forbidden

Program version
3.0.7
Operating System
Linux
Type
Cli
Service
Funimation
Command used
node index.js --service 'funi' -s 75022 -q 0 --allDubs --dlsubs all -e 1
Show ID
75022
Episode
1
Console Output
=== Multi Downloader NX 3.0.7 ===
[#75022] Bikini Warriors (2015)
[0001] Bikini Warriors - #01 It's Not a Bikini If It's Armor. (4:06) [HD1080, Japanese, English] (selected)
[0002] Bikini Warriors - #02 A Quest Needs Money to Rest (4:06) [HD1080, Japanese, English]
[0003] Bikini Warriors - #03 Even Heroes Have Needs (4:06) [HD1080, Japanese, English]
[0004] Bikini Warriors - #04 A Hero Needs No Reward (4:06) [HD1080, Japanese, English]
[0005] Bikini Warriors - #05 Saving Things That Go Unused (4:06) [HD1080, Japanese, English]
[0006] Bikini Warriors - #06 Heroes Overcome the Impossible (4:06) [HD1080, Japanese, English]
[0007] Bikini Warriors - #07 Allies From Taverns May Disappoint (4:06) [HD1080, Japanese, English]
[0008] Bikini Warriors - #08 Every Journey Finds New Friends (4:06) [HD1080, Japanese, English]
[0009] Bikini Warriors - #09 A Hero Betrayed Has But One Choice (4:06) [HD1080, Japanese, English]
[0010] Bikini Warriors - #10 You Don't Always Get What You Want Or Need (4:06) [HD1080, Japanese, English]
[0011] Bikini Warriors - #11 A Snare To Trap A Pure Maiden (4:06) [HD1080, Japanese, English]
[0012] Bikini Warriors - #12 No One Knows The End (4:06) [HD1080, Japanese, English]
[INFO] Selected Episodes: 0001
[INFO] Bikini Warriors - S1E1 - It's Not a Bikini If It's Armor.
[INFO] Available streams (Non-Encrypted):
[ERROR] HTTPError 403: Forbidden
[ERROR] Subtitle Request failed.
[ERROR] HTTPError 403: Forbidden
[ERROR] Subtitle Request failed.
[#75403] Japanese [Simulcast] (selected)
[#168879] English [Uncut] (selected)
[ERROR] HTTPError 403: Forbidden
Additional Information
I already did the --auth and the token was set ok, but when I try to download premium videos this error appears, the funny part is that if I try to download through the windows GUI it works.

Interesting?
The gui and the cli use the same code so idk why it should work when you are using the gui. Can you send me the gui logs so I can search for the error?

It works just fine for me. Try to reauthenticate and check if you allow mature content, since the show in question is labed as such.

It was the "Mature content" -.- Sorry for bothering you! It worked now, tks!

No worry’s. Open up whenever!


Bug report

Describe the bug
Hi,
we are currently testing IO operations on Persistent Volume mounted to POD and  provisioned by CubeFS. CFS is hosted within  k8s Rancher RKE2 version v1.22.4+rke2r1. Chubaofs is deployed via helm charts. Any hints are welcomed. Any an idea where could be a bottleneck?
THank you
Environment
 server: chubaofs/cfs-server:2.4.0
  client: chubaofs/cfs-client:2.2.2
  csi_driver: chubaofs/cfs-csi-driver:<IP_ADDRESS>.0
  csi_provisioner: k8s.gcr.io/sig-storage/csi-provisioner:v3.0.0
  driver_registrar: k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.4.0
  csi_attacher: k8s.gcr.io/sig-storage/csi-attacher:v3.3.0

To Reproduce
# chubaofs deployed on SSD using k8s helm chart
root@cfs-csi-demo-ssd-6b48585589-56vkc:/# dd if=/dev/zero of=/usr/share/nginx/html/test1.img bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 53.4011 s, 20.1 MB/s

# for comparison MooseFS (k8s node level installation) on two nodes:

[root@node mfs]# dd if=/dev/zero of=/mnt/mfs/test1.img bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.51547 s, 709 MB/s

Expected behavior
Expected better IO performance
Additional context
Add any other context about the problem here.

@ludurr please change "oflag=dsync" to "conv=fsync" and test again.
Because "dsync" uses synchronized IO and chubaofs waits for the write response before issuing the next one. But I have no idea whether MooseFS waits for each write's reponse in synchronized IO mode. As for "fsync", dd uses normal writes, which is more likely what we do in real product, and invokes "fsync" system call at the end of the test to make sure data is durable.

@ludurr I'm going to close this issue. Please feel free to re-open if there is any further question.


chore(avm-simulator): refactor of AVM Simulator to more closely match YP

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 8569e7c0 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,636
180,516
720,036

l1_rollup_calldata_gas
222,540
870,552
3,464,244

l1_rollup_execution_gas
315,027
988,292
3,683,901

l2_block_processing_time_in_ms
1,156 (+1%)
4,356 (-1%)
17,199

note_successful_decrypting_time_in_ms
304
971
3,596

note_trial_decrypting_time_in_ms
13.7 (-16%)
101 (+1%)
144 (+3%)

l2_block_building_time_in_ms
17,741
70,112
281,792

l2_block_rollup_simulation_time_in_ms
13,079
51,619
208,117

l2_block_public_tx_process_time_in_ms
4,635
18,362
73,422

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,829 (-1%)
26,575 (+1%)

note_history_successful_decrypting_time_in_ms
2,371 (-1%)
4,658 (-3%)

note_history_trial_decrypting_time_in_ms
104 (+10%)
216 (+21%)

node_database_size_in_bytes
17,313,872
32,993,360

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
309
44,481
26,193

private-kernel-ordering
194 (+1%)
44,513
14,929

base-rollup
1,407
128,970
881

root-rollup
82.6
4,088
677

private-kernel-inner
415
71,640
26,193

public-kernel-private-input
240
32,615
26,193

public-kernel-non-first-iteration
239
32,657
26,193

merge-rollup
7.64
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,575
37,974

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
546
1,221

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.566 (-9%)
572

Replaced by #4424


Permit enums to begin with a digit

As noted in #229, QUAY uses digit-beginning enumeration values so the spec should document that they are allowed.
This is the most permissive of the fixes discussed in #229; more restrictive changes like

with the additional permission that standard enumerations may be single digits.
stdEnum = stdTag / digit

or

with the additional permission that standard enumerations may be non-negative integers.
stdEnum = stdTag / Integer

might be better to minimize disruption.

As noted in issue #229: I would prefer option 1 more than allowing things like "2ND".   There's no demand for the permissiveness of "2ND" and it's not as good, in my view, as "2" or "SECOND", either of which are fine in option 1.   Since we can add permissiveness later, but can never remove permissiveness without a major version change, I'd argue for a less permissive fix now.


Add Roles and Cluster Roles details views

Description
Changes proposed in this pull request:

Add Roles and Cluster Roles details views

Related issue(s)

Can we add the PR images also? So we can have a deployment?


Investigate why SHA256 checksum does not match after Model has been downloaded

does not seem to be relevant anymore


TiGL wiki may has misleading information.

In the wiki section "Building TiGL from source" it is recommended to download the dependencies from the packet repo via
echo 'deb http://download.opensuse.org/repositories/science:/dlr/xUbuntu_16.04/ /' >> /etc/apt/sources.list.d/tigl.list
sudo apt-get update

However.. the server seems to not have a valid Certificate, which makes this way of installing the dependencies not feasible.

You are right, it has to be:
echo 'deb http://download.opensuse.org/repositories/science:/dlr/xUbuntu_16.04/ /' | sudo tee /etc/apt/sources.list.d/science:dlr.list
curl -fsSL https://download.opensuse.org/repositories/science:dlr/xUbuntu_16.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/science:dlr.gpg > /dev/null
sudo apt update

You are right, it has to be:
echo 'deb http://download.opensuse.org/repositories/science:/dlr/xUbuntu_16.04/ /' | sudo tee /etc/apt/sources.list.d/science:dlr.list
curl -fsSL https://download.opensuse.org/repositories/science:dlr/xUbuntu_16.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/science:dlr.gpg > /dev/null
sudo apt update

I added this to the wiki page. I didnt except that I can simply edit it without any review as an extern :D

Oh... did not know this!


Docs: Update instructions for local deployment to use aiidalab-launch.

Ok, then let's merge this. Maybe in a future update we can make the "get started" paths a bit more akin as to how we present them in the AiiDA (core) docs. With panels and so on.

@ltalirz I primarily wanted to make you aware of this. Feel free to review after merge, we can still address any comments then.

@ltalirz I primarily wanted to make you aware of this. Feel free to review after merge, we can still address any comments then.

Thanks @csadorf , I had a quick look and it looked good to me as well. Will open issues/PRs in case I encounter things that could be improved.


chore(release): update release 1.0.0-alpha.5

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on:

GitHub release
v1.0.0-alpha.1

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.4 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:


Misc improvements to cohort pages

Main work here is on the cohort-page notebook, including:

Changes to initial summary paragraph.
Changes to order of sections - I thought we should bring the selection scans to the top, as these are the main focus of the site. Collection information now moved below.
Minor changes to presentation of collection information, resolves #37.
Make sure to use sites parameter when running G123.
Resolves #49.
Resolves #40.
Resolves #10.
Resolves #9.

Also small edits to g123-calibration and g123-gwss notebooks to make sure to use the sites parameter throughout.

Hi @sanjaynagi, sorry lots going on here. Best way to review might be to build the site and take a look at the cohort pages produced, see what you think 🙂

Looks awesome! Liking the new tables. thanks @alimanfoo.
Merging.

Rocketing our way to Alpha1!!


How about a "mark all read" button above the article list?

This has already been suggested in #320. I am closing this to avoid duplicates.


max_probe and stash

what does the max_probe mean? Can I consider it as the max times to remove the existing value when insert a new value.
And what does the stash mean? Can I consider it as the trash bin to store the value that is extruded in cuckoo hash.

Correct on both. However, I wouldn't call the stash a trash bin really: items that are left over after a failed insertion are put there.


Update from xaque208 modulesync_config

Only lint failing here, which has been happening forever.  Working slowly through them.


support for microsoft edge chromium

microsoft edge released chromium edge, this library has missing support for chromium edge.
userAgent for chromium edge is different than old edge.
userAgent for chromium edge is:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 Edg/80.0.361.48"
it gives platform.name= "Chrome", but should provide "Edge".

I fixed this problem by adding the line:
{ 'label': 'Microsoft Edge', 'pattern': 'Edg' },
right after the line:
{ 'label': 'Microsoft Edge', 'pattern': 'Edge' },
in Platform.js.
However, I don't know if that's the best long-term solution.

is this fix, showing Edge in label is released to latest build?

I make my own build with the fix I described above.  It is not part of the source here.

Hi, support for Chromium-based Edge versions was added in #170. I'll try to cleanup the rest of the issues and bugs and make a new release soon.


how to specify custom formatter for error messages

i'd like the UI to show me the error message as formatted by a custom formatter that i can usually specify with the eslint -f ./path/to/custom-formatter.js. Currently it always uses the default formatter. Is this possible? Alternatively, how would i pass the -f CLI option through to eslint
thank you!

I think that is currently not possible. May be by using eslint.options but I never tried it.

i tried eslint.options before opening this issue but couldn't wrangle it. If you have any dirty workarounds u can think of in the meantime, please lmk!

@dbaeumer alternatively, if u know how this should be implemented, i can try to find someone to work on it

@mvayngrib I can try looking into it.
To ease my investigation, do you have a project where you're trying to attempt this so that I can play around with it?

@mvayngrib Okay yeah I'm actually quite sure of what's missing but having your specific use case to verify my hypothesis would be great ;)

hi @MariaSolOs , thanks in advance! Here's a demo repo illustrating the issue https://github.com/mvayngrib/eslint-formatter-example
i do see one potential issue and that's that the formatter returns string output rather than a list of strings per message, so idk how the plugin could pick that up 🤔. It'd be cool to be able to provide a per-item formatter to the plugin though, then that code could be reused for the CLI output and the plugin

@mvayngrib Hmmm you're right, this is actually a bit more complicated than I initially thought.
So basically we don't need to format the entire linting result objects (things like the squiggle location must remain unchanged for the error list to display the right things), just the message strings. That is, if I understand correctly, your request is to customize the message property of this type. Because ESLint doesn't offer such an API, we would need to expose one from this extension, something like a setting that indicated the path to a messageFormatter that takes the output messages and then you apply your desired customizations. I'm not against that, but it also feels very specific to your need.
Alternatively, and yes this is a terrible hacky idea, you could modify the ESLint code itself inside node_modules. This extension invokes lintText, so you can modify those output results as you like.

closing this for now. Thanks for brainstorming this with me!


VULCAN-324/Removed top line from dashboard

Removing top line with 2 line changes -> Merge conflicts might result that need to be resolved manually in future merges from upstrea-develop. The change itself is very small so shouldn't be an issue.

can we add this logic in /src/dashboard/Dashboard.tsx instead DashboardHeader.tsx ?

To be taken as part of pr #61


Too many HTTP requests for JS files, even after Vulcanizing

I noticed that after I vulcanized my app, the app still has to make about six separate HTTP requests to download some JS files.
Why doesn't Vulcanize concatenate, uglify, and minify (routine build steps for JavaScript web development nowadays) all the JS files? Do we have to use vulcanize along with Gulp or Grunt?

Vulcanize is a tool to crush HTML Imports. It does, however, have a feature that inlines JS/css files inside the crushed import.
If you run vulcanize with the --inline flag, it will pull the .js files into your vulcanized html import. That'll save you those requests.

Thanks, Eric. That works.
Vulcanize wasn't kidding when it said "inline"; it inlined everything, including toenails and fingernails.

Head, shoulders, knees, and toes! Closing :)

Hehe.
One note: Since a Polymer production site will have just the single, chunky, vulcanized file, the need for a paper preloader element has become more apparent. I specifically mentioned paper because the preloader should be at least as lovely as the best material design paper elements.


Can't start on MacOS

I have installed sbcl with homebrew, and I can launch it in all my shells and from VS Code's terminal. But Alive fails to start up with
Spawning child: sbcl
Spawned: sbcl
Failed to spawn sbcl: {"errno":-2,"code":"ENOENT","syscall":"spawn sbcl","path":"sbcl","spawnargs":["--eval","(require :asdf)","--eval","(asdf:load-system :alive-lsp)","--eval","(alive/server:start)"]}

Full log above for the initialization:
Get installed version: /Users/username/.vscode/extensions/rheller.alive-0.4.1/out/alive-lsp
Files: ["v0.2.4"]
Installed version: v0.2.4
LSP install path: /Users/username/.vscode/extensions/rheller.alive-0.4.1/out/alive-lsp/v0.2.4/nobody-famous-alive-lsp-f2b4f9c
Start LSP server
LSP config: {"install":{"path":""},"downloadUrl":"https://api.github.com/repos/nobody-famous/alive-lsp/releases","remote":{"host":null,"port":null},"startCommand":["sbcl","--eval","(require :asdf)","--eval","(asdf:load-system :alive-lsp)","--eval","(alive/server:start)"]}
Command: ["sbcl","--eval","(require :asdf)","--eval","(asdf:load-system :alive-lsp)","--eval","(alive/server:start)"]
ENV: {"COMMAND_MODE":"unix2003","HOME":"/Users/username","LOGNAME":"username","MallocNanoZone":"0","OLDPWD":"/","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","PATH":"/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin","PWD":"/","SHELL":"/bin/zsh","SHLVL":"0","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.ozNZttr8vj/Listeners","TMPDIR":"/var/folders/xd/fwxvgjwd1t90y2vvmcwyk5p40000gn/T/","USER":"username","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CODE_CACHE_PATH":"/Users/username/Library/Application Support/Code/CachedData/fdb98833154679dbaa7af67a5a29fe19e55c2b73","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/Users/username/Library/Application Support/Code/1.82-main.sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-us\",\"osLocale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"74733","XPC_FLAGS":"0x0","XPC_SERVICE_NAME":"application.com.microsoft.VSCode.190888036.190888043","_":"/Applications/Visual Studio Code.app/Contents/MacOS/Electron","__CFBundleIdentifier":"com.microsoft.VSCode","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","ELECTRON_RUN_AS_NODE":"1","VSCODE_L10N_BUNDLE_LOCATION":"","CL_SOURCE_REGISTRY":"/Users/username/.vscode/extensions/rheller.alive-0.4.1/out/alive-lsp/v0.2.4/nobody-famous-alive-lsp-f2b4f9c:"}
CWD: /Users/username/Work/foo

I tried sbcl --eval '(require :asdf)' --eval '(asdf:load-system :alive-lsp)' --eval '(alive/server:start)' from a terminal but ofc I don't have alive-lsp in that case, so it fails.

I'm not sure how Macs do things, but on Linux that behavior is usually from having the path set in a .bashrc file or something that gets loaded when a shell starts but not on login. Do you launch VSCode from inside a shell? If so, it should be picking up the shell's path settings.

I do launch VSCode from the shell. Any other pointers / tests I should run? Like how can I tell what my PATH is in the environment the extension uses?


FPS very low for both projects on RPi 3b+

Hi,
First, I'd like to thank you for sharing the code.
I tried to run your two projects on my Raspberry Pi3b+, I had a lot of warnings while compiling (especially for SceneViewer) but it worked. I managed to run ScreenRunner changing the GLSL version to 1, and uncommenting the line "precision mediump float " in vertex and frag shader code  but the fps was very low (under 1). The fps is roughly the same for SceneViewer. Do you have any idea why it's so slow ?

Hi Vcorboliou,
You probably need to configure your RPi to use hardware rendering and 256Mb graphics memory.  Do the following on your RPi;
Open terminal and type;

$ sudo raspi-config

- Select 7 'Advanced Options'
- Select A3 'Memory Split'
- Type 256 and hit enter (to reserve 256Mb graphics memory)
- Select 7 'Advanced Options'
- Select A7 'GL Driver'
- Select G1 GL (Full KMS) OpenGL desktop driver with full KMS
- Select <Finish> and reboot

Now try SceneViewer again and it should be much faster!!

Hi Timskillman,
Thank you for the answer,
I already tried this configuration, and I got a compile failure in shader. I tried with both fake kms and full kms drivers with 256Mb GPU memory

... OK, you could try updating your SDL2 libraries using the instructions on ChoccyHobNobs page ...
https://choccyhobnob.com/raspberry-pi/sdl2-2-0-8-on-raspberry-pi/

Also. I'm about to update the code and shaders by the weekend with some more examples as well.

OK it's working now, Thank you very much for helping me ! :)

Great! Well done.


Feature/ota updater

Add ota updater script

Awesome! Thanks a lot for that. 👍  🎉

@marvinroger ✏ Here you go. Hope I have done it right.

That's perfect! Thanks. 😇

🎉

Great!!


Use input type for form fields to enable the proper keyboard

It would be a nice enhancement to set the input type for the form fields to match the displayType that can be set in the field configuration. For example, if you currently have a field that allows the user to enter an email then the HTML tag currently gets output as
<input class="form-control" id="Email" aria-required="true"
required="" type="text" maxlength="100" data-input-type="String"
data-display-type="email">

so changing the type to be email rather than text would tell the browser to use the correct keyboard on mobile devices and show the @ symbol.
<input class="form-control" id="Email" aria-required="true"
required="" type="email" maxlength="100" data-input-type="String"
data-display-type="email">

This could also be useful for url input types and numeric input types so you present the user with a numeric keypad rather than the standard keyboard layout e.g. <input type="number" pattern="[0-9]*">

Thanks @davetimmins . We had tried this once before but I remember we ran into issues on some devices with keyboards. For numbers, I think we have to allow decimals as well. I'll look into it again and see what previous setback was.


Using locally built nuget packages with the C# template produces a CS0433 error.

Repo steps:

Sync and build the repo using the Release config.
Create a new project using the Bot Builder Echo Bot template for v4.
Remove the 4.0.1-preview nuget packages from the project references.
Go to NuGet Package Manager settings, general options and clear the NuGet package cache.
Under Package Sources, add one for your local builds, i.e. …\source\repos\botbuilder-dotnet\outputpackages.
Add the local packages for the ones you removed earlier:

Microsoft.Bot.Builder.Core
Microsoft.Bot.Builder.Core
Microsoft.Bot.Builder.Integration.AspNet.Core

Rebuild your project.
Note the compiler errors:

Severity	Code	Description	Project	File	Line	Suppression State
Error	CS0433	The type 'ITurnContext' exists in both 'Microsoft.Bot.Builder.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'Microsoft.Bot.Builder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'	BuildIssureRepoSteps	C:\Users\v-jofing\source\repos\BuildIssureRepoSteps\BuildIssureRepoSteps\EchoBot.cs	19	Active
Error	CS0433	The type 'IBot' exists in both 'Microsoft.Bot.Builder.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'Microsoft.Bot.Builder, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'	BuildIssureRepoSteps	C:\Users\v-jofing\source\repos\BuildIssureRepoSteps\BuildIssureRepoSteps\EchoBot.cs	9	Active

Sooo, I pulled master and it looks like the changes to eliminate the separate assembly for Microsoft.Bot.Builder.Core landed and now I only end up with Microsoft.Bot.Builder with everything in there. Therefore we need to make sure we remove the reference to the Microsoft.Bot.Builder.Core package from the projects, otherwise it's going to pull that down off NuGet still and clash with Microsoft.Bot.Builder.
98.38% sure that's what's happening.

Yes Core and Core.Extensions seem to have gone away as packages, and were just phantoms on my machine. Closing.

It would be nice if the build did an initial clean up the outputpackages directory though. :|

💯
I totally agree that we should add something to the Clean target to clean up outputpackages.


Changing temperature temporarily updates 'actual' temperature

The following line updates the actual temperature instead of the heat or cool target temperature!
https://github.com/iprak/sensi/blob/00884efee6d48b34ce195a8cde24511ef9aa87b0/custom_components/sensi/coordinator.py#L224C25-L224C25
        # Assume the operation to succeed, update attribute immediately
        self.temperature = value

Correct code
        # Assume the operation to succeed, update attribute immediately
        if self.hvac_mode == HVACMode.HEAT:
            self.heat_target = value
        else:
            self.cool_target = value

Fixed

Thank you!


Optimize alert risk by using stored fields

Description
Do not unmarshal full objects and only retrieve the matching fields
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps

If any of these don't apply, please comment below.
Testing Performed
CI + scale

``


The sequence is incorrect for newly created file shares

The documentation at: https://docs.microsoft.com/en-us/azure/storage/files/storage-sync-files-deployment-guide?tabs=azure-portal
says that you should only setup additional servers after the initial sync. Step "Prerequisites 3" implies you setup all of the VM's before doing the initial file creation.
This is a critical difference; I would assume that "Onboarding with Azure File Sync" is more correct, and will preserve my ACL's better, but these two documents really should either use the same sequence, OR mention specifically why the sequence is more correct 'the other way'.
Most SMB (Small to Medium Businesses) are going to move to the cloud in the coming years, so the normal activity is:

OnPrem AD.
Create all this "Stuff" in Azure
Copy your files to this "Stuff"
Setup access for others direct to the crowd WITH the current ACL's.

At a meta level, these are the steps. I think an overview would be great if it could resolve this; this article implies it happens after step 2, but the linked article implies AAD DS is setup after step 3, and gives a good reason for doing so.
Thank you!

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

ID: 100a0bd2-817c-8c9e-68d6-cb00a5f405eb
Version Independent ID: ee7081d3-a43f-47ea-db7f-ff6ba23d50b3
Content: Enable Azure Active Directory authentication over SMB for Azure Files - Azure Storage
Content Source: articles/storage/files/storage-files-active-directory-enable.md
Service: storage
GitHub Login: @roygara
Microsoft Alias: rogarana

@jgwinner Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate

Hello @jgwinner , thanks for reaching out.
Actually, at this time, AAD DS is not supported with Azure File Sync if you want to preserve your NTFS DACLs. What you're describing would fail- your ACLs would not be preserved...that is what you're trying to do here, correct?

Correct, but that's confusing as this document says:
https://docs.microsoft.com/en-us/azure/storage/files/storage-files-active-directory-overview

Azure Files supports identity-based authentication over Server Message Block (SMB) through Azure Active Directory Domain Services (Azure AD DS). Your domain-joined Windows virtual machines (VMs) can access Azure file shares by using Azure Active Directory (Azure AD) credentials.
....
In this way you can implement backup scenarios by using Azure Files, preserving your NTFS DACLS between your on-premises file share and your cloud file share.

Is there something I'm missing?
The goal is to have Azure Files replicate an on-prem file server, maintain DACL's, and be able to access that file server via the cloud. For the latter, I realize it'll require a separate Azure VM (which is sort of bizarre) to get around the 24 hour sync period.

@jgwinner That specific section of the text isn't talking about Azure File Sync. We do support maintaining DACLS, just not if you're trying to use both Azure File Sync as well as Azure AD DS. For now, you'd need to be using either/or of these, not both of them, if you want to persist NTFS DACLs.
I'm a little confused why the 24 hour sync period is coming into play for you though. In your use case, are you bypassing the share mounted on your environments and making changes directly to the file share in the Azure portal or via SMB, and not to your mounted share?

Let's forget the 24 hour part, it's sidetracking us.
Again, the idea, which I thought was supported from this: https://azure.microsoft.com/en-us/blog/better-security-with-enhanced-access-control-experience-in-azure-files/  was to allow people at home to access file shares in the cloud, and synchronize those files access from home with an on-prem file server.
It doesn't mention the Azure File Sync vs. Azure AD DS issues mentioned in this doc, and I have to admit I didn't get the implication. I thought it just meant we use Azure File Sync to push to the cloud, and then an Azure AD DS joined server in the cloud to serve up files via secure SMB to at home machines (which could be Azure DS Joined, i.e. O365 accounts).
 In the interim, consider using Azure File Sync to start migrating your data to Azure Files and to continue enforcing access control by using Active Directory credentials from your on-premises Active Directory domain-joined machines.

Emphasis mine. I guess the kicker, as you tried to point out is this:

Azure AD DS authentication for SMB access and NTFS DACL persistence is not supported on Azure file shares managed by Azure File Sync.

What if we Azure AD DS the original on-prem server, and used Robocopy to put the files in Azure Files instead of the suggested Azure File Sync? Would the AD ACL's be wiped clean by Robocopy?
So we can't do hosted AD, we've got to setup a two site AD synchronization setup, ignore Azure, and pay for the licenses via IaaS, AND setup all the PC's at home into VPN clients and join them to the domain? That's no different from just VPN'ing into the current premises. Why do I need Azure? What's the value add?
We, as most SMB's do, have Quickbooks. We'd never be able to get rid of the local SMB based file shares without a major shift. We just want to access these SMB's from home machines, and have a redundant Cloud location. Sharepoint\OneDrive has file limitations, so we went this way instead of just making the server shared drives a OneDrive account.
So anything that doesn't preserve that, as well as GPO for the On-Prem machines, won't work for us and many Small to Medium Businesses. Here I thought the two environments were finally interoperable. Honestly, this is not clear from this doc:
https://azure.microsoft.com/en-us/blog/better-security-with-enhanced-access-control-experience-in-azure-files/
To the original problem in the document ... the two docs do mention slightly different sequences, but I now agree Azure File Sync wouldn't be part of it anyway. I'd mention that, if the doc is explicitly setting up shares that have been "Touched" by an Azure AD DS machine, making it impossible to use Azure File Sync. That's a huge incompatibility.

Thank you for your dedication to our documentation.
We sincerely apologize for the delayed response. After a careful review, we are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Add HTML Tag Raise Event support

Describe the solution you'd like
Similar to https://github.com/F5Networks/f5-appsvcs-extension/issues/226#issuecomment-889956361 please add AS3 support for the HTML tag raise configuration object.
Describe alternatives you've considered
HTML Tag Raise must be created outside of AS3 and attached thru "bigip" declaration semantics.
Additional context
HTML Tag raise is required so that custom iRules can be developed with the HTML_TAG_RAISED event.

@dstokesf5 Per your request, if this can be bundled with 3.31.  Thanks for the attention.

Thank you for your feedback. I have added this request to our internal product backlog as AUTOTOOL-2678.

This was resolved with the 3.31.0 release of AS3.


Support custom openai endpoints

With the existence of llama.cpp and the openai compatible interface it would be neat if we could point this extension to a custom endpoint as opposed to only the official ones.

Hi @jabbera
Could you give me an example. presumably the uri and not the base url is needed. Also is the interface (parameter) the same as native or different?

@arbs-io hi!
Here is some shell code you can use to get one going yourself:
export MODEL=llama-2-13b-chat.Q4_0.gguf
if [ ! -f models/${MODEL} ]; then   curl -L https://huggingface.co/TheBloke/Llama-2-13B-chat-GGUF/resolve/main/${MODEL} -o models/${MODEL}; fi
docker run --rm -it -p 8000:8000 -v ${PWD}/models:/models -e MODEL=/models/${MODEL} ghcr.io/abetlen/llama-cpp-python:latest

you can then get to the swagger endpoint with a browser: http://localhost:8000/docs
I've also attached the swagger openapi json (renamed to txt so github will take it) if that is adequate for your ask
openapi.txt

Thank @jabbera
I'll take a look at adding integration for self-hosted models. I've been reviewing the feasibility of running LLMs using rust-wasm, and it looks possible. They could easily be integrated into vscode. But this is arguably a separate project. Once I have a fully functional version, I will OSS and add it to the extension.
Going to close this enhancement for now as there isn't a feasible solution in the immediate future.


Unable to activate "Motion" tab

Cyanogenmod 10.1, Samsung Galaxy Note 2, tab is not present.

My problem isn't the same, but it is covered by the same title: trying to open the Motion tab (which is displayed) crashes the app on Nexus 10, Android 5.0.2.


Error: There are no .py[i] files in directory '.'

I've just installed the plugin and I get this error:
There are no .py[i] files in directory '.'
There are certainly many python files in my directory structure, and I'm hitting 'run' while I have a Python file open. There's even an init.py file in the directory I'm running in.
I'm unsure what '.' is referring to, but if I specify the full path to the directory I'm trying to scan it does get the files (though it is giving incorrect errors about imports that it can't find, I suspect it can't understand that it should follow the venv/../site-packages/ ?)
I suspect that there are two issues here:

The '.' is referring to the root of my project, but the Python code is nested multiple folders deep before I get to the init.py

For some reason mypy needs an explicit MYPYPATH for the intellij configured venv

Regardless, the default installation of this plugin is broken for what I imagine is not an uncommon use case.
It seems like the plugin should

Understand the file being viewed, and override the '.' to be a fully qualified path to that file
Set MYPYPATH to the venv automatically

Assuming I understand the issues correctly.

For reference, this is the repo that I'm working on:
https://github.com/insanitybit/grapl-analyzers
You can see that there are many directories, each with their own 'main.py', but in intellij I use a single project at the root of the git directory. I hope this provides some more context.

Yes, there are two issue:

For the first issue using current file is not a good option. Mypy is not a linter, it can't type check a single file it needs to know the build scope, which is most typically the whole project. You can configure the plugin by replacing . with a relative path to root of your Python code (IOW use the same command you would use on command line from the project directory).
Setting MYPYPATH to site-packages is not recommended (and is actively discouraged) by mypy, you can find some better options in https://mypy.readthedocs.io/en/latest/running_mypy.html depending on your situation.

Oh I just noticed your second comment. That directory structure may be tricky for mypy (not specific to the plugin). You can try --namespace-packages, or maybe just add an __init__.py to the root if possible.

Yeah, I'd tried --namespace-packages and the same error occurred. I could add an init.py to each directory, I suppose, it's just a bit odd.
I've been reading that imports doc and I'm not sure what the intended solution for this is. Should I really add a new path to every submodule that I want checked in site-packages? It seems so strange to me that mypy doesn't discover these - is that just a current limitation, or am I missing something?

is that just a current limitation, or am I missing something?

It may be both. One problem is that there are couple hard to fix bugs in --namespace-packages in mypy, another thing is static typing comes with all the burden of dependency/scope management from static languages. In particular mypy needs to know the boundaries of build units, if in your case each directory contains an independent self-contained program (that should not import each other), then I would instead recommend having multiple mypy builds. You can write a tiny script that runs mypy (or mypy daemon) on each directory, and then configure plugin to run this script.

Ah, yes I can work with the idea of just offloading this to a small script, that seems reasonable. Though I'm still unsure about how to solve the dependency issue.
As an example, I have the grapl_analyzerlib import, and it's in the venv site-packages. Should I just specify that directly in the MYPYPATH for each project's venv?
And thanks for the assistance so far.

IIUC the best option may be to declare grapl_analyzerlib a PEP 561 package (probably by adding py.typed that specifies inline) and then just install it in the same venv where mypy is installed.

I see, I'll give that a try. Thanks.

https://github.com/insanitybit/grapl_analyzerlib/tree/master/grapl_analyzerlib
I have the py.typed files in every module. It is updated and in my virtual environemnt. I have sourced ./venv/bin/activate
MYPYPATH=./venv/lib/python3.7/site-packages/grapl_analyzerlib  dmypy run -- --follow-imports=skip "./analyzers/ssh_agent_ipc/main.py"
analyzers/ssh_agent_ipc/main.py:3: error: Cannot find module named 'grapl_analyzerlib.analyzer'
analyzers/ssh_agent_ipc/main.py:3: note: See https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-imports
analyzers/ssh_agent_ipc/main.py:4: error: Cannot find module named 'grapl_analyzerlib.execution'
analyzers/ssh_agent_ipc/main.py:5: error: Cannot find module named 'grapl_analyzerlib.nodes.comparators'
analyzers/ssh_agent_ipc/main.py:6: error: Cannot find module named 'grapl_analyzerlib.prelude'
analyzers/ssh_agent_ipc/main.py:7: error: Cannot find module named 'grapl_ipc_analyzer_plugin.ipc_node'

I don't really understand why this isn't working. Perhaps I should open a mypy issue?

No, there is a big blue box in the docs I sent before, around here https://mypy.readthedocs.io/en/latest/running_mypy.html#how-imports-are-found
Did you try following exactly what I proposed above?

Also please read carefully https://mypy.readthedocs.io/en/latest/installed_packages.html#making-pep-561-compatible-packages.
Btw, since you develop both packages, you can also point MYPYPATH to the sources of grapl_analyzerlib.

I've read the document multiple times. As the author that works for me, but anyone using the grapl_analyzerlib will find that a bit complex.
Yeah, I tried with and without the path, but good to know that it explicitly will not work with the path I guess.
Every package in grapl_analyzerlib has a py.typed file. The py.typed file does not appear to be in the install, however, perhaps due to my setup.py being incorrect in some way. I can 'ls' the directory in the venv and see that it is not there.
When I 'python setup.py' I can see lines such as this:
adding 'grapl_analyzerlib/py.typed'
My setup.py explicitly sets the package_data, as the document suggests. zip_safe=False, as the document suggests. I've tried multiple iterations of setting the package_data to no avail.
https://github.com/insanitybit/grapl_analyzerlib/blob/master/setup.py

It's hard to tell what exactly is wrong with grapl_analyzerlib, I tried comparing with aiohttp (they also have https://github.com/aio-libs/aiohttp/blob/master/aiohttp/py.typed and I know it always worked well), but I didn't find anything.
Also, I just tried pip install -U git+https://github.com/insanitybit/grapl_analyzerlib on my laptop with a file that contains:
from grapl_analyzerlib.analyzer import Analyzer, OneOrMany
from grapl_analyzerlib.counters import SubgraphCounter
from grapl_analyzerlib.execution import ExecutionHit
from grapl_analyzerlib.prelude import ProcessQuery, FileQuery, ProcessView

And mypy returned no errors from the first time! So sorry, can't help you here.

Actually, I have one guess, you might need to restart the daemon forcefully. It doesn't pick up newly installed packages while daemon is up. Use dmypy stop.

Your guess was correct. dmypy stop did it. So I guess after package upgrades I'll have to run that.
Thanks.


Add paging to API query responses

Feature request from a prominent user of Teku.
For example, with the /eth/v1/beacon/states/{state_id}/validators endpoint.
Is it possible to add pagination to this call to not receive all 300K+ validators at once.
Example: /validators?pagination.limit=1000&pagination.offset=1000

could potentially support a syntax like 1..10 etc..

@benjaminion do we have more context around the actual problem being experienced? Pagination is a potential solution, but more context on the problem scope we're solving would be helpful...
If the problem being experienced is timeouts, then its likely pagination may not actually help a lot, as most timeouts are likely to be on state regeneration, rather than on encoding (node falling behind would be another potential)
@araa47 its possible / likely that your timeouts are due to state regeneration, and load like your script will definitely exacerbate the problem, you may find that for a few slots it times out, then it starts getting really quick again for a period of time. Every 2048 states are stored, which means that for the other 2047, they need to be regenerated, and as you get further from the stored state, it will slow down. To check the database version, can look at the db.version file in the beacon folder... Currently we have no real way of showing the exact slots of finalized states in storage... It's possible to increase the frequency of stored finalized states by using --data-storage-archive-frequency if you're using an archive database other than leveldb-tree, which would mean you need to regenerate less states to get to the data you need...
Finalized state access is definitely more expensive than non-finalized state access, and potentially if there are specific things that are often required, we could do things to optimise accessing that specific data somehow, but it really depends what the problem we're trying to solve is...

Going to close this one - paging isn't part of the standard REST API and we do support streaming the response as it's generated now which will help significantly with response times and avoiding timeouts (but we still have to regenerate the state which is usually the slowest part - pagination won't help with that though).


Supports debugMode config boolean parameter

Passing debugMode in init configuration object as true will show warnings. The default value is false so no need to pass it.
This PR addresses #5

Thanks for this. Closes #5


Recommended design pattern for clean architecture

Recommended design pattern for clean architecture...

Provider, redux and BLoC are really good state management options. I personally use BloC, in a way that the top level BLoCs are initialized on main, and the BLoC providers are the root widgets, before the MaterialApp. With this, I can easily replace the BLoCs with mock ones for integration tests. And, because all the state is managed by BLoCs, my app is mostly stateless, and it doesn't rebuild unnecessarily, but this is the case for all good state management on flutter. Also, the flutter team, on one talk, mentioned they used provider, but it's up to the user to choose how he will manage the state as most options for doing so are really good.


[SPARK-44891][PYTHON][CONNECT] Enable Doctests of rand, randn and log

What changes were proposed in this pull request?
I roughly went thought all the skipped doctests in pyspark.sql.functions, and find we can enabled doctests of rand, randn and log, by making them deterministic:

specify the numPartitions in spark.range for rand randn;
changes the input values for log

Why are the changes needed?
Enable Doctests of rand, randn and log, improve test coverage
Does this PR introduce any user-facing change?
yes
How was this patch tested?
enabled doctests
Was this patch authored or co-authored using generative AI tooling?
No

merged to master and branch-3.5


always offline in .NET Framework 4.5.2+  when using websocket

Run about 90 second, it will be offline in .net framework 4.5.2 project. (using websocket)

Which version is concerned, do you have some snippets for us and does this still happen in the latest version?

I will close this issue now due to inactivity, feel free to re-open this issue if you have further questions or this issue still applies to th latest version.


Fix Pylint suggestions

We'll have to fix the config, or fix some of the suggestions they give to our code.

Not particularly important at the moment. We'll fix this in the future.


add ci job to pre-build osx and Linux multi-arch

Closes #3
I have a failing job included for musl - needed to compile on alpine.
I'm going to keep battling a bit.. might be a lost cause.
But this will compile both x64 and arm64 for osx as well as i686 and x64 for linux and given credentials can ship to npm registry automatically.
Example of the CI running: https://github.com/geekgonecrazy/matrix-rust-sdk-bindings/actions/runs/2222780302

https://github.com/geekgonecrazy/matrix-rust-sdk-bindings/actions/runs/2229035529 alright shouldn't need to mess with it any more.  Here is an example of it finishing to publish.
We temporarily created a fork copy of the npm packages which can be found in the PR that referred above.

Sorry for the delayed response here.
As to the using the CI.  To me I like this approach because makes the builds repeatable and no one has to worry about getting things just right on a bunch of machines and then combining them manually together for a release.
We do utilize github CI a lot in Rocket.Chat and have it publish to docker, npm, snap store etc.  So we've put a good bit of trust in it.  But we feel it's important to be able to automate these sort of things.
--
Some notes about this PR.  Since this PR.. The alpine build does not work.  While it compiles and everything seems great.. when trying to load on alpine it depends on a memcpy that is not in the musl glibc compatibilty package.  So it might should be excluded from this build.
I've spent many hours banging my head against the wall for it.  Tried building on alpine, introducing newer versions of glibc compat compiled from source for alpine...   Also tried different compile time options to try and make use musl-cc instead of gcc or musl-gcc (apparently now days its just musl-gcc).
For ubuntu / centos etc.. it seems that need to target an older version of glibc... as does work on newest ubuntu it does not work on 16.04 and centos at all.
It's possible that targeting an older version of glibc would use an instruction set that is in the musl compatibilty layer.
The problem with that so far is that in trying to automate that I tried on Ubuntu 16.04 but it then needs a newer version of CMake for rust to be able to compile in parallel.  So I kind of gave up for now on that.
--
So in summary its' definitely missing the bow tied on top. Feel free to take what you will here.  The mac builds seem to work great so far so at very least that seems to be a good addition.

Our action plan is release a complete rewrite of the nodejs-bindings based on the latest crypto-ffi crates, using vodozemac. So in that case we wouldn't need CMAKE and all that stuff anymore but it would only built using rust. Would that alleviate your build pains, @geekgonecrazy ?
ref https://github.com/matrix-org/matrix-rust-sdk/issues/699

I think if its still loading native code its still going to need to have prebuilt libraries for each platform right?  So I don't think it would actually fix the main problem.
The main problem is when the node_module is installed that computer has to have the whole rust toolchain just to be able to install the module.  Which for normal devs and server admins they don't have this preinstalled.
The normal flow for these devs and end users is:

Download the release bundle
npm install
run

If we don't ship pre-built then the flow becomes

Download release bundle
npm install
it fails..
go find an issue or communication somewhere explaining what I have to do
have difficulties installing (because lets face it this is just what happens)
Hopefully then run it and it work

For alpine specifically and older versions of ubuntu... this might work.  As the module might not depend so heavily on glibc? I don't know anything about the crypto-ffi crates so can't really be sure

So the thing is that we can't in good conscience let CI take over the release process of such a security critical component.

I mean end of the day this is y'all's choice as the maintainers. If it makes sense for y'all to maintain infrastructure and manually build things instead of letting a CI build.  That's definitely your choice.
As long as the releases end up being made with the prebuilts included for all the other platforms.  Our project and end users will be happy.
Either way Looking forward to when the builds are pure rust and can successfully crosscompile.  Keeping an eye on that development.
I'll go ahead and close this PR out


"We could not parse the JSON body of your request." with tts-1-(hd) endpoint, text to speach

Confirm this is an issue with the Python library and not an underlying OpenAI API

[X] This is an issue with the Python library

Describe the bug
I am receiving this error (suddenly) with openai==1.12.0 on Feb  09, 2024...worked the day before:

  File "/Users/ajung/Dropbox/FILMORA- VIDEOS/Typesense-Onkopedia - 2/convert.py", line 66, in <module>
    text_to_speech(content, "de", output_wav)
  File "/Users/ajung/Dropbox/FILMORA- VIDEOS/Typesense-Onkopedia - 2/convert.py", line 17, in text_to_speech
    response = client.audio.speech.create(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ajung/Dropbox/FILMORA- VIDEOS/Typesense-Onkopedia - 2/lib/python3.12/site-packages/openai/resources/audio/speech.py", line 81, in create
    return self._post(
           ^^^^^^^^^^^
  File "/Users/ajung/Dropbox/FILMORA- VIDEOS/Typesense-Onkopedia - 2/lib/python3.12/site-packages/openai/_base_client.py", line 1201, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ajung/Dropbox/FILMORA- VIDEOS/Typesense-Onkopedia - 2/lib/python3.12/site-packages/openai/_base_client.py", line 889, in request
    return self._request(
           ^^^^^^^^^^^^^^
  File "/Users/ajung/Dropbox/FILMORA- VIDEOS/Typesense-Onkopedia - 2/lib/python3.12/site-packages/openai/_base_client.py", line 981, in _request
    raise self._make_status_error_from_response(err.response) from None
openai.BadRequestError: Error code: 400 - {'error': {'message': "We could not parse the JSON body of your request. (HINT: This likely means you aren't using your HTTP library correctly. The OpenAI API expects a JSON payload, but what was sent was not valid JSON. If you have trouble figuring out how to fix this, please contact us through our help center at help.openai.com.)", 'type': 'invalid_request_error', 'param': None, 'code': None}}

To Reproduce
import sys
from openai import OpenAI
import openai

client = OpenAI()

SPEED = 1.0
VOICE = "echo"
MODEL="tts-1",
#MODEL="tts-1-hd",

def text_to_speech(content: str, language: str, output_wav: str):

    response = client.audio.speech.create(
        model=MODEL,
        voice=VOICE,
        speed=SPEED,
        input=content,
    )

    print(f"Saved to {output_wav}")
    response.stream_to_file(output_wav)

text_to_speech("hello world", "de", "output.wav")

Code snippets
No response
OS
MacOS Soama
Python version
3.12
Library version
open 1.12.0

Does this happen with both tts-1 and tts-1-hd models? Does the same problem happen if you use the same content you were sending a few days ago?

Invalid issue. My code defines Model as a one-element tuple instead of a string (copy&paste refactoring issue).


Tip for recomputing metadata

From this feedback on the forum, thought I'd include a tip for recomputing the metadata numbers if it is your own dataset.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


GooglePromptDriver

In order to start experimenting with PaLM models, we need to implement a new driver for Google Cloud GooglePromptDriver that can execute models on Google AI platform. We should be able to use their official Python SDK to accomplish this goal.

@kyleroche, I know that you've been working on this some. What is currently missing?

Evaluate in a month

come back to this in De (James?)

Its January have we made anyt progress in using Griptape with Google,,,,

Closed by https://github.com/griptape-ai/griptape/pull/698


Indicate visionOS SDK bundled with Xcode

Observed: there is no indication of visionOS SDK bundled with Xcode.
Expected: for the Xcode versions that have visionOS, this UI should indicate it.
Note that currently the mainline Xcode 15 doesn’t have visionOS yet, only Xcode 15 betas have it.

It's being added in PR https://github.com/XcodesOrg/XcodesApp/pull/400, which is open since June..

2.0 (beta) is out now with all the VisionOS bits. Thanks!


Support pluggable attribute extensions

I'm inclined to accept this. But I'd like to see some more documentation explaining how to use it. I'm also curious if there's more to it than just sticking some info in the attribute_set and being able to pull it back out.

Don't forget to rebase your branch.

not working with Ruby anymore, not going to fix it


Add documentation

Some types are undocumented, for example, genai::resolver::AuthData.
Might I suggest enabling the following in Cargo.toml and addressing all lint warnings?
[lints.rust]
missing_docs = "warn"

And enabling the following may also help maintain code quality:
[lints.clippy]
pedantic = "deny"
nursery = "deny"

@liamwh Ok, let me take a shot.

So, first, yes AuthData and other public structured should be documented.
Now, about the missing_docs = "warn"
Ok, first quick look, it's tricky. It's what I feared—very aggressive.

So, now, it forces to document the obvious, which I am definitely not a fan off.
I am going to look at little bit more, but probably won't use this flag, at least for now.

Now, I have to say, it is useful to see all of those warnings and go through them. ... so, jury is stil out.

Ok, so the conclusion is that although sometimes missing_docs will kind of require adding obvious comments, the overall value of ensuring we don't miss any comments is pretty good. So, I went with it.
I also added another commit after that, which fixes all the English/typos in all files using GenAI, GPT-4o-mini, and a custom script. Very cool! It took 5 minutes, and all files were corrected. I can make it much faster when I parallelize it. I will probably do a video about that.

Awesome stuff! Thanks for implementing this! Looking forward to the release. Might I recommend setting up release-plz? I honestly believe every open source Rust library should be using this. Makes releasing a breeze!

@liamwh I agree, the net value missing_docs is positive.
Looked at release-plz, not sure it will help me much. My release process is very simple. If I really need to automate it, I will probably write a mini script just to do the release my way, rather than conform to another way. The return on investment on those custom script is usually pretty high, once they become necessary. But if release-plz works for some, great, seems to be a nice utility.


Use Colorblind-OK colors in box model challenges

Challenge Name
https://www.freecodecamp.com/challenges/adjusting-the-padding-of-an-element and the subsequent challenges
Issue Description

These challenges rely on the user being able to discern between red and green, and red-green colorblindness is common. We should change these colors to colors that are less likely to be confused, and be sure to update the copy and tests for these challenges where necessary.

I'll take a crack at this.

I've corrected it. Need translation help for Spanish, Russian and pt-br...


15 duplicate documents from query.stream after retry

Environment details

OS: MacOS 12.7 and Ubuntu 20.x (Cloud Run)
Node.js version: 16.17.1
npm version: 8.15.0
@google-cloud/firestore version: 4.15.1

In production (Cloud Run) we are suffering from an intermittent issue where we receive some documents twice from query.stream(). In our production code this reproduces almost 100% of the time and I've been trying to get a locally running example. Unfortunately I cannot get it to reproduce as frequently, but it does fail sometimes.
Logging indicates we suffer from an error:
Received stream error: Error: 14 UNAVAILABLE: The datastore operation timed out, or the data was temporarily unavailable.
The implementation at https://github.com/googleapis/nodejs-firestore/blob/50747ad52b19da9ed87282af98eadff660dffb75/dev/src/reference.ts#L2347 than tries to restart the stream from lastReceivedDocument but this sometimes seems to restart at a point that re-emits 15 documents from the stream that have already been emitted.
I guess there is some buffering going on between the different streams that are set up. According to https://nodejs.org/api/stream.html#buffering object streams have a default of 16 buffered objects and we consistently see 15 re-remitted documents. So it seems some documents are already in some buffer without lastReceivedDocument knowing about it.
It also appears that there might be multiple stream with 16 buffered elements at play here. After receiving document 58855 the stream resets to 58841 but the actual firestore error from the backend was after receiving 58902 which is even further along in the query.
My guess is that the root cause is error handler on the backendStream at https://github.com/googleapis/nodejs-firestore/blob/50747ad52b19da9ed87282af98eadff660dffb75/dev/src/reference.ts#L2335 It unpipes the streams and starts over at lastReceivedDocument, but could it be that there are still documents buffered between the backendStream and the transformer that builds them into documents and keeps track of the lastReceivedDocument. If so, shouldn't these first be flushed to the transformer to emit them and increase the lastReceivedDocument before making a next attempt?
The example below sometimes reproduces this error locally:
import { Firestore, setLogFunction } from '@google-cloud/firestore';
import * as assert from 'assert';

const firestore = new Firestore({ projectId: 'my-project' });
setLogFunction(msg => process.stdout.write(msg + '\n'));

(async () => {
    // create 100_000 documents in batches of 10_000 (to prevent errors)
    for (let i = 0; i < 10; i++) {
        await Promise.all(
            Array.from({ length: 10_000 }, (_, idx) =>
                firestore
                    .collection('docs')
                    .doc()
                    .set({ foo: i * 10_000 + idx }),
            ),
        );
    }

    console.log('start counting at', new Date().toLocaleTimeString());
    let count = 0;
    const nums = [];
    // orderBy is not required to replicate issue but makes detecting duplicates a lot easier
    for await (const doc of firestore.collection('docs').orderBy('foo').stream()) {
        nums.push((doc as unknown as FirebaseFirestore.QueryDocumentSnapshot).data().foo);
        count++;
        const until = Date.now() + 2;
        while (until > Date.now()) {
            // appear busy
        }
        await new Promise(resolve => setTimeout(resolve));
    }
    console.log('done counting at', new Date().toLocaleTimeString());
    // log all numbers received from the documents to we can see the duplicates
    console.log(JSON.stringify(nums, undefined, 4));
    assert.strictEqual(count, 100_000);
})().catch(e => {
    console.log(e);
    process.exit(1);
});

The full logfile is 120MB and a bit much for a github issue attachment. Below is the interesting part where you can see the documents being fetched, the error and then some of the old documents being fetched again:
start counting at 11:36:43
Firestore (4.15.1) 2022-10-22T09:36:43.658Z hGIr6 [ClientPool.acquire]: Re-using existing client with 100 remaining operations
Firestore (4.15.1) 2022-10-22T09:36:43.658Z hGIr6 [Firestore.requestStream]: Sending request: {"parent":"projects/my-project/databases/(default)/documents","structuredQuery":{"from":[{"collectionId":"docs"}],"orderBy":[{"field":{"fieldPath":"foo"},"direction":"ASCENDING"}]}}
Firestore (4.15.1) 2022-10-22T09:36:43.725Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"0","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/OAZ5qSYpo4BV5AsCfpnv","createTime":{"seconds":"1666431351","nanos":352182000},"updateTime":{"seconds":"1666431351","nanos":352182000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:36:43.725Z hGIr6 [Firestore._initializeStream]: Releasing stream
Firestore (4.15.1) 2022-10-22T09:36:43.728Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"1","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/yHrEMsYdSn16z2PmKGXs","createTime":{"seconds":"1666431352","nanos":625035000},"updateTime":{"seconds":"1666431352","nanos":625035000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
<<snip document fetches that increment by 1>>
Firestore (4.15.1) 2022-10-22T09:39:35.951Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58830","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/qbRS5YHY1fyszPIXMmiZ","createTime":{"seconds":"1666431385","nanos":824604000},"updateTime":{"seconds":"1666431385","nanos":824604000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:35.951Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58831","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/6pYE69zRxRu7qdsfadHC","createTime":{"seconds":"1666431385","nanos":997470000},"updateTime":{"seconds":"1666431385","nanos":997470000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:35.951Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58832","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/KBWYahhOECXZLPi8H4cX","createTime":{"seconds":"1666431385","nanos":824641000},"updateTime":{"seconds":"1666431385","nanos":824641000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
<<snip document fetches that increment by 1>>
Firestore (4.15.1) 2022-10-22T09:39:36.095Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58884","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/510PozVyJPme0G9NaVgp","createTime":{"seconds":"1666431385","nanos":997601000},"updateTime":{"seconds":"1666431385","nanos":997601000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.095Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58885","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/1XTErTyO4xli2myqHoib","createTime":{"seconds":"1666431385","nanos":985602000},"updateTime":{"seconds":"1666431385","nanos":985602000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.095Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58886","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/H7BA3pQUiSiVNb0W2yyU","createTime":{"seconds":"1666431386","nanos":11813000},"updateTime":{"seconds":"1666431386","nanos":11813000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.136Z hGIr6 [Firestore._initializeStream]: Received stream error: Error: 14 UNAVAILABLE: The datastore operation timed out, or the data was temporarily unavailable.
    at Object.callErrorFromStatus (/Users/***/node_modules/@grpc/grpc-js/src/call.ts:81:24)
    at Object.onReceiveStatus (/Users/***/node_modules/@grpc/grpc-js/src/client.ts:577:32)
    at Object.onReceiveStatus (/Users/***/node_modules/@grpc/grpc-js/src/client-interceptors.ts:392:48)
    at /Users/***/node_modules/@grpc/grpc-js/src/call-stream.ts:299:24
    at processTicksAndRejections (node:internal/process/task_queues:78:11) {
  code: 14,
  details: 'The datastore operation timed out, or the data was temporarily unavailable.',
  metadata: Metadata {
    internalRepr: Map(1) { 'content-disposition' => [Array] },
    options: {}
  }
}
Firestore (4.15.1) 2022-10-22T09:39:36.136Z hGIr6 [Firestore._initializeStream]: Received stream end
Firestore (4.15.1) 2022-10-22T09:39:36.137Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58887","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/6ZtkdHXPorN2WxT39LfI","createTime":{"seconds":"1666431385","nanos":997529000},"updateTime":{"seconds":"1666431385","nanos":997529000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.137Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58888","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/IubZjcNfasAN252kahPv","createTime":{"seconds":"1666431385","nanos":410388000},"updateTime":{"seconds":"1666431385","nanos":410388000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.137Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58889","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/VuQ6weH1v7Mg8WmvJsR7","createTime":{"seconds":"1666431386","nanos":94746000},"updateTime":{"seconds":"1666431386","nanos":94746000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
<<snip document fetches that increment by 1>>
Firestore (4.15.1) 2022-10-22T09:39:36.137Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58900","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/M6W35EBBQ2NXUM7G2Y2l","createTime":{"seconds":"1666431385","nanos":682013000},"updateTime":{"seconds":"1666431385","nanos":682013000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.137Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58901","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/u1wvtsmGkSZ4b7sDzEZr","createTime":{"seconds":"1666431385","nanos":273555000},"updateTime":{"seconds":"1666431385","nanos":273555000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.137Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58902","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/dvT6jdErVuIJs3x5bx68","createTime":{"seconds":"1666431385","nanos":681961000},"updateTime":{"seconds":"1666431385","nanos":681961000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.137Z hGIr6 [Query._stream]: Query failed with retryable stream error: Error: 14 UNAVAILABLE: The datastore operation timed out, or the data was temporarily unavailable.
    at Object.callErrorFromStatus (/Users/***/node_modules/@grpc/grpc-js/src/call.ts:81:24)
    at Object.onReceiveStatus (/Users/***/node_modules/@grpc/grpc-js/src/client.ts:577:32)
    at Object.onReceiveStatus (/Users/***/node_modules/@grpc/grpc-js/src/client-interceptors.ts:392:48)
    at /Users/***/node_modules/@grpc/grpc-js/src/call-stream.ts:299:24
    at processTicksAndRejections (node:internal/process/task_queues:78:11) {
  code: 14,
  details: 'The datastore operation timed out, or the data was temporarily unavailable.',
  metadata: Metadata {
    internalRepr: Map(1) { 'content-disposition' => [Array] },
    options: {}
  }
}
Firestore (4.15.1) 2022-10-22T09:39:36.140Z hGIr6 [ClientPool.acquire]: Re-using existing client with 100 remaining operations
Firestore (4.15.1) 2022-10-22T09:39:36.140Z hGIr6 [Firestore.requestStream]: Sending request: {"parent":"projects/my-project/databases/(default)/documents","structuredQuery":{"from":[{"collectionId":"docs"}],"orderBy":[{"field":{"fieldPath":"foo"},"direction":"ASCENDING"},{"field":{"fieldPath":"__name__"},"direction":"ASCENDING"}],"startAt":{"values":[{"integerValue":58840},{"referenceValue":"projects/my-project/databases/(default)/documents/docs/HdA5T5JGI3bv07dIX3hB"}]}},"readTime":{"seconds":"1666431403","nanos":703161000}}
Firestore (4.15.1) 2022-10-22T09:39:36.477Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58841","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/9QlDGznvrnK0mflWtld7","createTime":{"seconds":"1666431386","nanos":44926000},"updateTime":{"seconds":"1666431386","nanos":44926000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.477Z hGIr6 [Firestore._initializeStream]: Releasing stream
Firestore (4.15.1) 2022-10-22T09:39:36.479Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58842","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/A3lrPufimLlSmCGlhM2J","createTime":{"seconds":"1666431385","nanos":868236000},"updateTime":{"seconds":"1666431385","nanos":868236000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.479Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58843","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/rB0gpGkdyx694ITvHZeK","createTime":{"seconds":"1666431386","nanos":1925000},"updateTime":{"seconds":"1666431386","nanos":1925000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.479Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58844","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/RqXvAQGiYojGgKiPYQ3s","createTime":{"seconds":"1666431386","nanos":23856000},"updateTime":{"seconds":"1666431386","nanos":23856000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
<<snip document fetches that increment by 1>>
Firestore (4.15.1) 2022-10-22T09:39:36.483Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58908","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/tgEr50ODWDGyJ1Q85NPg","createTime":{"seconds":"1666431385","nanos":958878000},"updateTime":{"seconds":"1666431385","nanos":958878000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.483Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58909","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/tWkTMbivyeZRSr4cCWaE","createTime":{"seconds":"1666431385","nanos":814137000},"updateTime":{"seconds":"1666431385","nanos":814137000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:39:36.483Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"58910","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/MgxnJZFIhbuKJDAsm9vW","createTime":{"seconds":"1666431385","nanos":92463000},"updateTime":{"seconds":"1666431385","nanos":92463000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
<<snip document fetches that increment by 1>>
Firestore (4.15.1) 2022-10-22T09:41:36.477Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"99997","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/m8qzAqXGFALlklyVWaJE","createTime":{"seconds":"1666431403","nanos":465775000},"updateTime":{"seconds":"1666431403","nanos":465775000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:41:36.477Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"99998","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/YuBZR39BEhC7Uxc4AYTd","createTime":{"seconds":"1666431403","nanos":88294000},"updateTime":{"seconds":"1666431403","nanos":88294000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:41:36.477Z hGIr6 [Firestore.requestStream]: Received response: {"document":{"fields":{"foo":{"integerValue":"99999","valueType":"integerValue"}},"name":"projects/my-project/databases/(default)/documents/docs/G8Ooox3mwKBoGm0uJy2k","createTime":{"seconds":"1666431402","nanos":27423000},"updateTime":{"seconds":"1666431402","nanos":27423000}},"transaction":{"type":"Buffer","data":[]},"readTime":{"seconds":"1666431403","nanos":703161000},"skippedResults":0}
Firestore (4.15.1) 2022-10-22T09:41:36.477Z hGIr6 [Firestore._initializeStream]: Received stream end
done counting at 11:41:36

At the end of the script I print all the numbers we've received from the stream and you can see the stream resets back to 58841 after already having received 58855:
    58840,
    58841,
    58842,
    58843,
    58844,
    58845,
    58846,
    58847,
    58848,
    58849,
    58850,
    58851,
    58852,
    58853,
    58854,
    58855,
    58841,
    58842,
    58843,
    58844,
    58845,
    58846,
    58847,
    58848,
    58849,
    58850,
    58851,
    58852,
    58853,
    58854,
    58855,
    58856,
    58857,
    58858,
    58859,
    58860,

And the script ends with an assertion error:
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

100015 !== 100000

    at /Users/***:36:12
    at step (/Users/***:33:23)
    at Object.next (/Users/***14:53)
    at fulfilled (/Users/***:5:58) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: 100015,
  expected: 100000,
  operator: 'strictEqual'
}

As a workaround we'll be wrapping the stream with a stream of our own to keep a sliding window of the last 16 document-id's so we can remove the duplicates.
Apologies I couldn't create a 100% reproducible example or a failing unit test. Hopefully there is enough information in this bug report for you to create a failing unit test.

@wvanderdeijl Thank you for reporting this issue. I'll dig into the code this week to see what I can find. It does sound quite plausible that you've uncovered a bug because the query resumption logic is complicated and error-prone.

@wvanderdeijl I just wanted to let you know that I haven't forgotten about this issue. Other priorities prevented me from investigating since you reported it. I'm not sure when exactly, but I will get to it! Thank you for your patience.

Sorry for the long delay, but I've finally had a chance to dive into this issue. I've reproduced the bug and am investigating.

@wvanderdeijl: I have a fix for this issue and it's up for code review: https://github.com/googleapis/nodejs-firestore/pull/1806. Your suspicion that the node stream buffers were the root cause was 100% correct. Due to the holidays, the PR likely won't get merged until the new year. But I will reply back once it's merged and released. Thanks again for the detailed bug report.

Update: The fix has been merged: https://github.com/googleapis/nodejs-firestore/pull/1806. It will be included in the next release.

Update: The fix has been incorporated into version 6.4.2, released today.
https://github.com/googleapis/nodejs-firestore/pull/1798


Implement push notifications

This mechanism must live, at least partially, in-process. It will need to leverage the razor view engine to generate email notes, if not other types. Since it lives in-process, it should probably be triggered by the process that created the event notification entry in the DB, not by monitoring the event notificaitons in the DB --similar to how DbContext signals that search items should be added to the search index.

Monitor event notifications marked for push
Evaluate if push notes should be sent
Generate the push note content
Queue push note content for delivery

Hi,
I've built a notifications handler that could probably help you out on this (http://goo.gl/klWIZs). It abstracts the notifications mechanism, delegating that task to a list of event subscribers. It's based on MEF to discover the handlers and register them.
Let me know know your thoughts on this :)
Cheers

I appreciate the link, and the code looks great! I'm about half-way through the notifications module for TD 2.5, much of which is on the develop branch already. The rest will follow later this week. So far, the part that deals with multiple delivery providers is shaping up to be very similar to your design. The only significant difference being that TD 2.5 uses SimpleInjector instead of MEF.
I wrote a bit about MEF and TicketDesk a while back when I was brainstorming for TD3. I have a lot of respect for MEF as an extensibility framework, but the notification delivery providers are one of the few of TicketDesk's requirements that falls squarely in the realm of extensibility. The rest are more aligned to traditional IoC/DI concerns, so I went with SimpleInjector instead.
But the lines between extensibility and IoC/DI frameworks is very thin, and in most cases either type can handle both areas of concern without too much trouble. In either case, the overall design remains largely identical.
Outside of the delivery providers though, the rest of TicketDesk's notification system is rather complex; much more so than I'd expected. Mostly that comes from the fact that only a small queueing part runs in the main web process where it has awareness of both the web context, and the core domain context.
The monitoring, scheduling, anti-noise system, and delivery all have to be able to operate in a completely external process (a WebJob, windows service, worker-role, etc.). While this part can be a consumer of the domain context, it has to be able to run entirely without access to the web and identity contexts. This has turned out to be quite an interesting challenge.
One thing that will be missing from the initial beta of TD 2.5 is full support for runtime instantiation of plug-in modules. Currently, the modules do have to be referenced at compile time. I have prototyped a solution for that using SimpleInjector, and it should be ready in time for the final release.


sweethome3d: 6.6 -> 7.0

Description of changes
Bump sweethome3d to version 7.0. This version features a new renderer.
I also tried bumbing the stand-alone furniture and texture editors, in editors.nix, but the results did not work for me (they also did not work in the old version, so I'm likely doing something wrong). I can still used the furniture and texture import embedded in sweethome3d. Help would be welcome to bump those jars too.

Things done

Built on platform(s)

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

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/) not the standalone texture and furniture editors, I don't know how to use them, these are not bumped
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

sweethome3d.application
sweethome3d.furniture-editor
sweethome3d.textures-editor

@divanorama, could you help out with this PR (you have modified these files in the past)

I don't use it a lot. Just checked that main application 7.0 builds and works for me. Editors open fine and show some UI, but don't know how to use them to test more.

furniture-editor-1.30 and textures-editor-1.8 also build and start for me with
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index 9ef9fd0f7f4..cbea09ed3c0 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -86,27 +86,27 @@ let
 in {

   textures-editor = mkEditorProject rec {
-    version = "1.7";
+    version = "1.8";
     module = "TexturesLibraryEditor";
     pname = module;
     description = "Easily create SH3T files and edit the properties of the texture images it contain";
     license = lib.licenses.gpl2Plus;
     src = fetchurl {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "03vb9y645qzffxxdhgbjb0d98k3lafxckg2vh2s86j62b6357d0h";
+      hash = "sha256:1a6cn07gjprx874skcs300yniakiwn258288p7nrx8grsb2vl51d";
     };
     desktopName = "Sweet Home 3D - Textures Library Editor";
   };

   furniture-editor = mkEditorProject rec {
-    version = "1.28";
+    version = "1.30";
     module = "FurnitureLibraryEditor";
     pname = module;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = lib.licenses.gpl2;
     src = fetchurl {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "sha256-r5xJlUctUdcknJfm8rbz+bdzFhqgHsHpHwxEC4mItws=";
+      hash = "sha256:0g4ynbfqfi2wcjr5f676qp1vkfywx7kizpc0s79irc2i0asnbz0g";
     };
     desktopName = "Sweet Home 3D - Furniture Library Editor";
   };

I'm going to close this, I forgot about this PR and in the meantime someone else has bumped the version of the main application.
@divanorama, the patch you mentioned above is not integrated yet however, could you make a PR for that?


Ask for help

Hello, thank you for the open source of the project. Have you finished reviewing these project materials? If you have reviewed it and it is correct, I am ready to produce a sample of the project. It is recommended that you leave your contact information, I have some questions I hope you can help me solve, thank you very much.

Once you have reviewed the project materials, I will produce a sample and mail it to you immediately.


on_unit_created is called repeatedly with identical unit information

Later in the game after a number of units have been created and destroyed, the function "on_unit_created" gets called repeatedly with identical unit information( same type, same tag).

i cant reproduce this, do you have any more information?

I only find the same workers in again in  a later on_unit_created call because they enter geysirs, "disappear" from the map and get created again once they leave the geysir. same for units that enter transport units.


Added py35 test, removed html/xml coverage reports

Made python versions specific, added test for 3.5. Hopefully Travis will mange this...

Coverage remained the same at 95.019% when pulling 81d69e0e1d0c3737de62b739736a909a6ab4c427 on issue-36 into 507809df75fed8a1620fa80e9d07565c35e5823e on master.

Coverage remained the same at 95.019% when pulling 1356f055dc93a2f075bbbdddf35f840025cd6d55 on issue-36 into 507809df75fed8a1620fa80e9d07565c35e5823e on master.


Complete auth provider styling / branding

The last, stale branch of the upstream project—login-page-style-update—contains:

refactoring of authconfig to authproviders
additional name property for auth providers (kinda already done with #382 )
branding information for auth providers
branded login page

and would be an interesting addition to the project.

@T0biii As you are already working on quite a few UI changes, would you mind picking this one up?

@GoliathLabs I had already looked at this once,
but I can't really say if I can do that since I'm not that experienced


Versioning of mandatory properties

The versioning section states:

Maintaining forward and backwards compatibility is a key goal of the CDM. Therefore, the CDM uses purely additive versioning, which means any revision of the CDM following an initial release will not:

Introduce new mandatory properties on existing entities

Should the converse restriction also apply, that a mandatory field cannot be changed to optional?

Alan, thanks for your question. You are right, the converse restriction also applies: a mandatory field cannot be changed to optional.  We'll clarify this in the versioning section.

Technically though, a mandatory field could be made optional without being a breaking change.

How is that possible? An application "CRM" on schema v1 that expects a mandatory field to be provided on creation would cause an error if it received data from an application "ERP" on schema v2 that didn't provide a value for that field anymore.

If there is a default value defined when the field is made optional.  That said, we expect this to be a rare occurrence.

Please correct me if I'm wrong but not all field types have the concept of a default value.
Also, the revised wording says:

Introduce new mandatory attributes on previously published entities, or change an optional attribute to be mandatory

Shouldn't this instead be:

Introduce new mandatory attributes on previously published entities, or change a mandatory attribute to be optional


Question about SONG's implementation

Hi, thank you for this awesome package.
I have some question regarding implementation of SONG. After carefully reading the implementation, I couldn't find where the 3rd equation of https://docs.libauc.org/api/libauc.optimizers.html#module-libauc.optimizers.song (i.e., gradient variance reduction) is implemented by checking the code at https://docs.libauc.org/_modules/libauc/optimizers/song.html#SONG.step. The PyTorch implementation of SONG optimizer seems like a combination of SGD and Adam, and I couldn't find that step 3.
Please let me know if I have missed anything or overlook some details. Many thanks.

Hello, thank you for your attention. The third equation can be found implemented in the SONG optimizer, available at this link. It offers a 'mode' option, allowing you to choose between 'sgd' and 'adam' for updating model parameters.

Thank you for your timely reply. Could you please point to me which line is implementing $m_{t+1} = \beta_1 m_t + (1-\beta_1) G(\mathbf{w}_t)$, thanks.


Add the possibility to delete local data

Odp data store can now delete local data. The feature stub has also been
added to the parent class.
resolves #107
I implemented local data deletion as part of data source implementation, as it made sense to me. However, if this is something you don't like for some reason architecturally, I can of course do the deletion directly from where I need it!
This has been verified to work in a Notebook. I didn't write a test for it, as the data sources test is being currently skipped as 'outdated'.

Current coverage is 73.27% (diff: 12.50%)

Merging #108 into master will decrease coverage by 0.15%

@@             master       #108   diff @@
==========================================
  Files            42         42
  Lines          6415       6431    +16
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           4710       4712     +2
- Misses         1705       1719    +14
  Partials          0          0

Powered by Codecov. Last update fd2e6da...ef804f1

@mzuehlke Good catch! That was an artifact of a previous design. Fixed now.

@mzuehlke @forman Can you consider merging this? I need this functionality in master if I'm to eventually merge the branch that contains LTA and averaging code.


Merge from anacoda

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy
[x] Ensured the license file is being packaged.

This is useful to add because it breaks a particularly bad cycle in the core portion of the conda-forge graph

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The recipe must have some tests.

@conda-forge-admin please rerender

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.

LGTM.  Thanks for pulling this in @mariusvniekerk.


Auto-refresh isn't working with macOS Big Sur

Installed BitBar v1.9.2 with Big Sur 11.0 Beta (20A4300b). Everything seems to work fine except that it's not automatically refreshing. I have the "1m" in my plugin filename and it refreshed fine on prior macOS versions. So, it seems something broke with Big Sur.

Note: there's also BitBar 2.0 beta 10.
Two questions:
(1) Does the internal refresh with refresh=true work?
(2) Does refreshing with an external command work? If external refresh works, then a workaround (for the time being) might be to create a LaunchAgent (or several) to refresh the user's BitBar instances

The external refresh would be open "bitbar://refreshPlugin?name=foo"

Since 1.9.2 has a newer date, I figured that was actually newer/better, but I'll try 2.0b10 and also the external command and let you know. Thanks!

Question for #1) do I just add refresh=true at the end of my .php file? or at the beginning? or where? Thanks!

The refresh=true is part of the actual script. I only use UNIX shell scripts with BitBar, so it would be something like…
echo "--Restore From Backup | refresh=true terminal=false bash=$0 param1=restore-replace param2=favs"
…meaning that if the user clicks on "Restore From Backup", it will re-run the script with $1 as "restore-replaceand$2asfavs, and then refresh it afterwards (refresh=true`).
Don't know how it would work with php.

So, 2.0b10 didn't work. But refreshing with an external command work did work! I am still trying to figure out how to get the internal refresh to work. I'll test that when I figure it out.

You can also run the external command open "bitbar://refreshPlugin?name=foo" from within the script, so if refresh=true (or its php equivalent) doesn't work, then you can put the external command in the necessary places within the script.
But this won't give you the regular auto-update… for that you would need a LaunchAgent until there's a bug fix.

Also, just to be clear, if I click the menu bar and press Command-r on the keyboard, then it also refreshes. It just won't refresh automatically based on the filename interval.

Something very similar seems to be happening on my system with BitBarDistro: https://github.com/matryer/bitbar/issues/567

Under the current version of MacOS 11 - Big Sur
Interestingly, BitBar has issues when launched at Login or when I start it from the Applications folder via click. But, it seems to work fine if I use "open -c BitBar" from my zsh shell. I thought these all should be the same?!?!?!?!


[macOS] remove macOS 11 anka packer template

Description
We are not to provide macOS 11 on anka as it is close to its deprecation.
Related issue: -
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

F