Issue in SCSS variables containing colors

VSCode Version: 1.47.2 (user setup)
OS Version: Windows 10 x64

Steps to Reproduce:

Create a .scss file
Make a variable that stores a color,  $primary
Make another variable which contains the name of the previous variable ($primary)  in its name, $primaryHover
The $primaryHover variable will have a background color, same as that of $primary

Does this issue occur when all extensions are disabled?: No
After following the above step, I tried disabling only the SCSS Intellisense extension (I have no other extension for Sass/SCSS) but found that the issue still existed.

It looks like you have an extension that "colorizes" the background of css/scss color values (perhaps Colorize https://marketplace.visualstudio.com/items?itemName=kamikillerto.vscode-colorize).
I am pretty sure that isn't built-in functionality of vscode.
Disable such ana extension and if the problem goes away, file an issue with that extension.

@ArturoDent Thanks. It turns out that the issue was in Color Highlight extension. I have filed an issue there.


Source tracking reflects file system after push

Summary
Source tracking updated with current code on file system, rather than what was actually deployed.
Steps To Reproduce

Make some code changes
Start a push to your scratch org
Change your code code locally before the push completes (e.g. switch to another branch)
Try to push -> sf reports there is nothing to push

The org is updated with the code changes from step 2, but source tracking reflects stage 3.
Expected result
Changes made after the push started should be ignored when updating source tracking.
Actual result
Source tracking is out of sync with the org.
{
  "architecture": "darwin-arm64",
  "cliVersion"<EMAIL_ADDRESS>  "nodeVersion": "node-v20.12.0",
  "osVersion": "Darwin 24.0.0",
  "rootPath": "/Users/gswift@financialforce.com/src/cpm/node_modules/@salesforce/cli",
  "shell": "bash",
  "pluginVersions": [
    "@oclif/plugin-autocomplete 3.2.6 (core)",
    "@oclif/plugin-commands 4.1.3 (core)",
    "@oclif/plugin-help 6.2.15 (core)",
    "@oclif/plugin-not-found 3.2.22 (core)",
    "@oclif/plugin-plugins 5.4.15 (core)",
    "@oclif/plugin-search 1.2.12 (core)",
    "@oclif/plugin-update 4.6.4 (core)",
    "@oclif/plugin-version 2.2.15 (core)",
    "@oclif/plugin-warn-if-update-available 3.1.19 (core)",
    "@oclif/plugin-which 3.2.16 (core)",
    "@salesforce/analytics 1.4.27 (link) /Users/gswift@financialforce.com/src/cpm/node_modules/@salesforce/analytics",
    "@salesforce/cli 2.63.7 (core)",
    "apex 3.5.4 (core)",
    "api 1.3.1 (core)",
    "auth 3.6.68 (core)",
    "community 3.3.0 (link) /Users/gswift@financialforce.com/src/cpm/node_modules/@salesforce/plugin-community",
    "data 3.7.1 (core)",
    "deploy-retrieve 3.14.0 (core)",
    "info 3.4.12 (core)",
    "limits 3.3.33 (core)",
    "marketplace 1.2.26 (core)",
    "org 4.7.0 (core)",
    "packaging 2.8.12 (core)",
    "schema 3.3.36 (core)",
    "settings 2.3.24 (core)",
    "sobject 1.4.42 (core)",
    "source 3.5.21 (core)",
    "telemetry 3.6.16 (core)",
    "templates 56.3.24 (core)",
    "trust 3.7.34 (core)",
    "user 3.5.33 (core)"
  ]
}

hey, sorry for the late reply.
I don't think this will be possible, source-tracking relies on the local project/shadow git repo to get local state info (see file moves for example).
there's also some specific checks for types like bundles:
https://github.com/forcedotcom/source-tracking/blob/23350966ab00e58aba4d35d265e07d246b396c52/src/sourceTracking.ts#L466C1-L477C8


Extracted sauce into an addon / run browsers in parallel

Extracted sauce into an addon / run browsers in parallel

@mixonic / @oneeman this is ready now. Gives a nice little speed bump.

LGTM, thanks!

@johanneswuerbach great job building sauce out as a stand-alone lib. Thanks much :cake:


ajax timeout error does not pass error to error callback

See this:
https://github.com/AmpersandJS/ampersand-model/blob/master/ampersand-model.js#L126
While ampersand-sync passes the following information:
https://github.com/AmpersandJS/ampersand-sync/blob/master/ampersand-sync.js#L102

This is fixed in v4.0.4.  Thanks for finding this.

:1:


How to init using 400kHz clock rate?

I see that the library has a setAccessMode that can switch between various modes, including FASTMODE (1MHz with special clock handling).
But how do you set plain old 400kHz clock rate, and switch between that and even-plainer 100kHz mode?
As a part of this, I would note that considerable confusion is introduced by this library using the enum label "FASTMODE" to refer to the 1MHz clock-rate mode (and having some additional requirements). The I2C user-guide specifies:

Standard mode: up to 100 kbit/s
Fast-mode: up to 400 kbit/s, with some additional requirements for transmitters and receivers capable of this speed.
Fast-mode Plus: up to 1 Mbit/s, with some further requirements for transmitters and receivers capable of this speed.

The most egregious problem is that the library FASTMODE doesn't match the I2C standard "Fast-mode".
Beyond that, it's not clear to me how the mode of TLV493D that's invoked by the library "FASTMODE" does or doesn't correspond to I2C "Fast-mode Plus".

You are right, that the naming can be confusing.
I had a look into the Datasheet and the User Manual to solve the mystery.
What is configurable in the sensor is actually the sampling rate. The higher the sampling rate, the more current consumption is to expect. Fastmode of the sensor means 3.3 kHz sampling rate, that's as fast as the sensor can get, so that explains the naming.
What you need to know is that the communication speed is totally decoupled from the sensors sampling rate. You can communicate with the sensor in I²C fast mode plus (if you make sure the capacities are low enough) even in it's lowest sampling rate. Or you can read in I²C standard mode (100 kbit/s) while the sensor is in fast mode (3.3 kHz sampling rate).
The only problem in the last case - and that's why it's recommended to use the fast mode plus for communication here:
the sensor is sampling continuously and will overwrite the data if it's not read in the meantime. So the microcontroller will miss data if the readout takes longer than one sampling cycle.
And now to finally answer your question about how to set the I²C clock rate:
Unfortunately as I see it there is no function for that in the TLV493D-A1B6 library. But you can use the standard Arduino Wire library for that. Simply include Wire.h in your Arduino sketch. Then after you've called the begin() of the 3D-Library in the setup, which itself calls the Wire.begin(), you can use the Wire.SetClock() function. That should work...


Terraform 0.12 update

Adds variable types to the variables.tf, as well as for loops instead of count for resources. This module still worked under 0.12, but I think it's better to update it using the new constructs.
A lot of formatting fixes as well, simply running terraform fmt changed quite a bit, so there might seem like quite a few more changes than there really are.

Thanks so much for this PR, @luthes! Apologies for taking this long to see it. At first glance, this looks great. Since I don't have any automated tests, I will test this out manually and then get it merged. Thanks!


Conformity with ES6 final draft

(I am just a "user" trying to find the best way to use ES6 today in a long-running project)
How valid is this project with regard to the final ES6 draft spec [1] ?
I found that chapter 26 referenced in loader.js [2]  does not appear in the ES 6 final draft, as are any other references to a Loader. The same goes for anything like System.register.
Am I not reading the spec right? I'll be the first to admit that I do not understand an awful lot of it.
Thanks a lot for any insight.
[1] http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#april_14_2015_rev_38_final_draft
[2] https://github.com/ModuleLoader/es6-module-loader/blob/master/src/loader.js#L604

@bjorm no globals referring to the module loader are in the ES6 specification. Instead the ES6 specification only covers the semantics and syntax of ES6 modules. How they actually get loaded in browsers needs to be defined by a separate specification, which is currently tracking at the whatwg loader spec at https://github.com/whatwg/loader.
System.register is not related to either of the above specifications and is its own specification for an ES5 module format.
It's a difficult to understand space certainly. Better communication of the ideas is very much needed.

Thanks, that helped a bit.
Still, the prominent references to an outdated draft spec are not reassuring for potential adopters and people not familiar with all those working groups and committees involved in the specification process.

no globals referring to the module loader are in the ES6 specification. Instead the ES6 specification only covers the semantics and syntax of ES6 modules.

I do not doubt that. But the crucial thing for me as an outsider was that they were part of the draft spec referenced in the README and source files, but not of the final draft.
In my opinion the situation for outsiders would vastly improve if

The references to the old draft spec in the README were changed to point to the whatwg loader spec or be kept the old reference but add an explanatory note along the lines of what you said above
Remove all references in the source to outdated specs. From what you said, those in loader.js should point to the whatwg loader spec. I have no idea about the others.

I would be willing to give this a shot if you think it makes sense.

@bjorm at the very top of the README we have:

This project implements dynamic module loading through System exactly to the previous ES6-specified loader API at 2014-08-24 ES6 Specification Draft Rev 27, Section 15. The new loader implementing the WhatWG loader spec is pending alpha release on the 1.0 branch.

Corrections to the wording if you find it misleading are welcome.

pending alpha release on the 1.0 branch

It's already merged in, isn't it?

The wording has been altered a little. If anything is still unclear please do share feedback though.


Invalid socket options on older kernels

Problem:
The syscall to sendmmsg in s2n-quic-platform/src/syscall/mmsg.rs uses the msghdr.msg_control to set socket options for each call to sendmmsg. It seems that at least one of these options (level SOL_UDP, option UDP_SEGMENT) is not present on older kernels. Specifically, I have found that this option does not exist on Linux 4.14 and earlier.
The result is that s2n-quic believes GSO is supported, but the kernel does not support it. Running the io::tokio::tests::ipv4_test in s2n-quic-platform on 4.15 results in the kernel combining multiple UDP messages, forcing the test to execute until the timeout, then failing. This can be replicated by running cargo test in an Ubuntu 18.04 machine with a 4.15 kernel.
In all fairness, support for this option started appearing in 4.19, so I do think it's very fair to say that 4.15 is too old and isn't supported. The more general problem though is that there is no runtime detection for the socket options being used, which could cause pretty bad, silent bugs like this down the road. For example, it appears that GRO support didn't land until ~5.0. However, the UDP_GRO socket option may be used regardless of kernel support.
Solution:
Unfortunately, the sendmmsg and sendmsg (and their recv counterpart) syscalls do not appear to return any errors if passed an invalid socket option. An alternative may be to identify which socket options we'd like to use early on and attempt to set them with setsockopt. If we fail, then ensure we don't try to set those options, and turn off features which may rely on those options (e.g. GSO and/or GRO).

Does this change what s2n-quic sends over the wire? Yes, though specifically how may vary by platform.
Does this change any public APIs? --> No

Requirements / Acceptance Criteria:
A handful of tests currently timeout on 4.15 kernels:

io::tokio::tests::ipv4_test
io::tokio::tests::ipv4_two_socket_test
io::tokio::tests::ipv6_test
io::tokio::tests::ipv6_two_socket_test

When these tests pass on older kernels, its likely that this issue is resolved.
As mentioned above, I think it's pretty fair to say you only support specific kernel versions & up. If that's the case though, that should probably be documented. It would be even better if when attempting to run on those kernels, we detect that and report an error or panic.
Out of scope:

Compile-time detection of libc-wrappers for relevant syscalls is also broken, and closely related, but addressed separately in #2260.

Potentially related: https://github.com/quic-go/quic-go/issues/4446

Thanks for the issue. We'll either document that we don't support older kernel versions or disable GSO for kernel versions older than 5.


Added debug config prevent unsupported constraint exception

I have a form that contains many custom constraints including ones that need call-backs, since this is not yet supported I've added a debug flag to the configuration.

Thanks for contributing. However I don't understand your need. From what I see, you are trying to skip (by default) the check that ensures you are using a supported constraint. Why would you do that?
Anyway I don't think this is a good idea to embed a debug configuration. Either the bundle implementation is wrong and something should be changed in the bundle, or you are not using the bundle properly.
Please let me know what you are trying to achieve so that we can consider it together.

Hi @J-Ben87, thanks for you reply. The reason I want to add this is because I would like to use this bundle even when not all of my constraints are covered by the parsley validation.
For example I have a UniqueEmailConstraint, this has to be validated remotely but this feature isn't implemented yet. If you get exceptions this would slow down development of your project, and as far as I see it the client side validation is not a crucial part of the application.
So with the debug configuration you can debug your client side validation when you want. Do you agree?

IMO, falling back to server validation is better than having no validation at all.
Throwing an exception is not acceptable, especially if all constraints are not supported.

Sorry for the late answer, I was on holiday.
I have reviewed all of this and have decided not to throw an exception anymore but to log a notice in case of an unsupported constraint.
I will close that PR because I have created a new PR after it: https://github.com/J-Ben87/ParsleyBundle/pull/9
Thank you guys for your feedback!

@J-Ben87 thanks for your changes, logging is also a good solution for this problem!


updated web3 and deployer logic

I ran:
 npm update @massalabs/as-transformer @massalabs/as-types @massalabs/eslint-config @massalabs/massa-as-sdk @massalabs/massa-sc-compiler @massalabs/massa-sc-deployer @massalabs/massa-web3
npm run build
npm i
npx sc-project-initializer init ~/dev/test-toolkit/testDir9

and in ~/dev/test-toolkit/testDir9
I run: npm run deploy
I am having the error:
2 files to compile
contract to compile assembly/contracts/main.ts

contract to compile assembly/contracts/run.ts

Wallet Address: A1qYB7FWXHs2Ydm7HG4wBNpzpzfDhjWBj7PV1Rsg2MoqbZTHPHr has balance (candidate, final) =<PHONE_NUMBER>,<PHONE_NUMBER>) MAS
TypeError: contract.coins.toValue is not a function
    at file:///Users/nathanmassa/dev/test-toolkit/testDir9/node_modules/@massalabs/massa-sc-deployer/src/index.ts:201:45
    at Array.reduce (<anonymous>)
    at deploySC (file:///Users/nathanmassa/dev/test-toolkit/testDir9/node_modules/@massalabs/massa-sc-deployer/src/index.ts:200:27)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file:///Users/nathanmassa/dev/test-toolkit/testDir9/src/deploy.ts:26:3

My bad I did npm link the deployer, however make sure to create a following PR to update the dependencies in command/init

now I am getting Timeout of 20000 has passed and promise did not resolve.
It could be great to make it work the first try as describe in the documentation https://docs.massa.net/en/latest/web3-dev/smart-contracts/getting-started.html

@Thykof Please try now with v.15.1 from web3

So to make it work against the testnet we need to provide 0.1 as fees in the deployment script.


Debugging a hang

Hi,
Something in my log file causes pgbadger to hang - or at least it appears hung: it consumes 100% of a CPU, stops outputting anything even with -v, and, surprisingly, cannot be terminated with Ctrl-C or SIGTERM, but must be forced with SIGKILL.
I'm not familiar with Perl, so is there anything I can do to resolve this? This is on CentOS 6 with PostgreSQL 9.3, I'm using pgbadger 10.1, and normally I'm starting it only with the log filename as a parameter. Here's the output of a "-v" run:
temp$ pgbadger -v postgresql.log-20181109
DEBUG: Autodetected log format 'stderr' from postgresql.log-20181109
DEBUG: Output 'html' reports will be written to out.html
DEBUG: Autodetected log format 'stderr' from postgresql.log-20181109
DEBUG: Autodetected log format 'stderr' from postgresql.log-20181109
DEBUG: pgBadger will use log format stderr to parse postgresql.log-20181109.
DEBUG: Starting to parse log file: postgresql.log-20181109
DEBUG: Starting reading file postgresql.log-20181109...15198541 (0.00%), queries: 0, events: 0
DEBUG: Start parsing at offset 0 of file postgresql.log-20181109 to 615198541

then it out's a few "unrecognized line" errors, which are fine because we're using pgaudit, and then it simply hangs.

I don"t see any reason that can make pgbadger hangs. Please send the log file to my private address < gilles AT darold DOT net > that will be helpful.

I'm closing this issue, without a log to reproduce the problem I do not see what part of the code can hang pgBadger.

I see similar issue at my end, PgBadger just keep on working without making any progress at all. In my case it ran for 2 days, but no output. CPU reaches 100% all the time.  Here are details at my end,
Postgres server version : 11.1  ( pgdg16.04+1), server 11.1)
Operating system : Ubuntu 11.4-1
Client - where PgBadger running :- Mac OS High Sierra ( 10.13.6)
Client HW : Intel I7 2.2 GHz
Client ram: 16 GB
pgbadger version:  pgBadger version 11.0
------------------- Output from PgBadger ---
Bhushans-MacBook-Pro:Downloads bhushanuparkar$ ls -lt postgres.log.20190725
-rw-r--r--  1 bhushanuparkar  staff  8942010 Jul 29 08:24 postgres.log.20190725
Bhushans-MacBook-Pro:Downloads bhushanuparkar$ pgbadger --prefix '%t:%r:%u@%d:[%p]:' -f stderr -v postgres.log.20190725
DEBUG: timezone not specified, using 25200 seconds
DEBUG: Output 'html' reports will be written to out.html
DEBUG: Starting progressbar writer process
DEBUG: Autodetected log format 'stderr' from postgres.log.20190725
DEBUG: pgBadger will use log format stderr to parse postgres.log.20190725.
DEBUG: Processing log file: postgres.log.20190725
DEBUG: Starting reading file postgres.log.20190725...
DEBUG: Start parsing postgresql log at offset 0 of file postgres.log.20190725 to 8942010
[>                        ] Parsed       0 bytes of 8942010 (0.00%), queries: 0, events: 0

I can upload the above postgres log file, but it contains client sensitive data. Could you please a suggest a way to "Anonymize Sensitive PostgreSQL Data" ?

Hi,
Please send the log to my private email < gilles AT darold DOT net > you will have complete privacy. You can also try to split the file to see at what point the hang appears and just send this part. I have no simple idea in how to anonymize and if after that the problem still occurs.

Thanks for the log, the problem is that you have very long queries > 7Mb and a commit (5e88446) introduced in v11 release does more harm than good. Commit a87fd55 fix this issue by reverting this commit. Please use latest development code and let me know, your queries will be truncated at 1Kb by default but as it is INSERT with multiple values this is not problematic I guess.

I have a log file that causes pgbadger to hang (with 100% cpu usage, seemingly without end) as  described in this issue.  I pulled the latest changes, up to da91dad0663e5483a09f1b516c2221660c688d7b, and it does not fix the problem.  I do not see any commit a87fd55 on the master branch for what it's worth.
The only way I can get pgbadger to parse the file is to use --exclude-query="^INSERT", to skip the INSERT queries.  I would really rather have truncated queries that include all statements/queries.

I also tried to set the --maxlength option to small values, but that had no effect.

Damned, sorry I forgot to push this commit. Please download latest code again.

Confirmed working with latest master, thanks @darold !

1

Latest patch resolves the issue  at my end.
Sincerely,
Bhushan
Urgency to be patience !
On Wed, Aug 7, 2019 at 9:27 AM chad-iris<EMAIL_ADDRESS>wrote:

Confirmed working with latest master, thanks @darold
https://github.com/darold !
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/darold/pgbadger/issues/454?email_source=notifications&email_token=ACF5SRGJUDI4H6SU25HMQU3QDLZYZA5CNFSM4GC5OKE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3Y66GI#issuecomment-519171865,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACF5SREM7S4DN3MOIGG4IWDQDLZYZANCNFSM4GC5OKEQ
.


Security of Office Scripts

Could you please offer more details concerning Office Scripts and Security? The statement "no JavaScript auth tokens can be shared with (office?) scripts" is a bit vague.

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

ID: 67a88dd6-c546-a6a7-9745-50bc60de2a9f
Version Independent ID: 2274fc03-b644-8aa5-dd51-067ae86c9746
Content: Differences between Office Scripts and VBA macros - Office Scripts
Content Source: docs/resources/vba-differences.md
Product: excel
Technology: scripts
GitHub Login: @o365devx
Microsoft Alias: o365devx

Thanks for raising this issue @ThoHog. I'll work with the product team to bring better clarity to this document.

I added some clarity to the original statement in https://github.com/OfficeDev/office-scripts-docs/pull/187. Basically, there's no way for a script to authenticate with an external server - it can't use your existing information that you signed in to Excel with, and it can't make and send its own auth token.
I'm closing the issue, but I'm happy to field more questions on the subject, if you need.


FEAT: Add fp16 + cpu merge support

What does this PR do?
Specifically addresses: https://github.com/huggingface/diffusers/pull/5151#pullrequestreview-1672087496
Some users might want to perform merge_and_unload when the adapter weights being in fp16.
In diffusers users are able to perform that as the lora weights are always upcasted to fp32: https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/lora.py#L257 before merging
Therefore I think we might need to support that usecase to avoid regressions in diffusers.
I propose to perform the upcasting to fp32 only in the case adapter weights are on cpu and the dtype of the adapter weights are in fp16
Added also nice tests
cc @BenjaminBossan @pacman100 @patrickvonplaten @sayakpaul

THanks @BenjaminBossan for the review! I have addressed most of them
For https://github.com/huggingface/peft/pull/1017#discussion_r1357959134 I think it might be a bit of an overkill, what do you think?


Report all parser errors

What was wrong?
This is similar to #535. @sbillig I also happened to be looking at this stuff late last week, but was pretty busy and didn't get around to making a PR. It looks like the parser and doc snippet tests are missing things with the way we silently emit non-fatal errors, so I'm fixing those in this PR.
How was it fixed?
To-Do

[ ] OPTIONAL: Update Spec if applicable

[ ] Add entry to the release notes (may forgo for trivial changes)

[ ] Clean up commit history

Oh, wait I see how these tests are supposed to work now. should_fail indicates whether or not the error is fatal.
I guess we still want the doc snippet tests to fail if there are any diagnostics.

well, I guess the docs validation has been fixed too. closing this pointless PR :laughing:


incorrect highlight

I think this is caused by upstream issue(https://github.com/atom/atom/issues/15581).
e.g narrow:search,  this.vimState.occurrenceManager in vim-mode-plus codebase.
happens regardless of searcher(ag, rg).

This is because of odd cursor column measurement on TextEditorComponent.

When cursor is mode in onDidChangeActivePaneItem
And measureHorizontalPositionsOnLine() was called on not visible editor's component.
This result in caching incorrect measurement and used when it's become visible.

But anyway, I'm also finding the way to solve this bug in client-side(=narrow pkg).

#286 might fix this issue.
If I won't see this issue for a week, I'll close.
Then reopen when I hit it again by any chance.


Prevent modification of a comment section.

How do I prevent rustfmt from changing my comment? Sometimes people need to do some tricky stuff inside comments, and they have a reason for keeping them the way there are.

We don't have a way yet. We'd like a comment equivalent of rustfmt_skip.

We now skip comments by default.

Any way to make it selective? I actually would be happy to have to comments changed except for rare cases.

not yet, I would like to add such a feature at some point though


Is there any way to make graph readonly so we will not allowed to modify graph

Expected Behavior
We have a graph create and edit feature but based on permission, we are allowing the user to edit the graph.
There is one method freeze(...) which freeze view but output JSON will have all modified changes.
Can we have any feature to set graph read-only mode?
And only node click events should be allowed.
Possible Solution

Additional Context

interacting configuration can help you

Thanks, @NewByVector for reply. I will add an interacting configuration because we need custom behavior.


REPL error message, trying to get type of Html.div

$ elm repl
Elm REPL 0.4.2 (Elm Platform 0.15.1)
  See usage examples at <https://github.com/elm-lang/elm-repl>
  Type :help for help, :exit to exit
> import Html
> Html.div
ReferenceError: navigator is not defined

Maybe I can't do things with Html in the repl?

This is the same as https://github.com/elm-lang/elm-repl/issues/48 which is kind of a REPL issue, kind of a virtual-dom issue. I'm actually working on it today!

Okay, should be solved now. Described in more detail in the REPL issue. Thanks for the report!


Install Error on MacOS Monterey (12.3)

pip install -i https://pypi.org -U "OpenEXR"
  Running setup.py install for OpenEXR ... error
  error: subprocess-exited-with-error

  × Running setup.py install for OpenEXR did not run successfully.
  │ exit code: 1
  ╰─> [203 lines of output]
      Looking for libOpenEXR...
      running install
      /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/setuptools/command/install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        setuptools.SetuptoolsDeprecationWarning,
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-x86_64-3.7
      copying Imath.py -> build/lib.macosx-10.9-x86_64-3.7
      running build_ext
      creating build/temp.macosx-10.9-x86_64-3.7
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/usr/include/OpenEXR -I/usr/local/include/OpenEXR -I/opt/local/include/OpenEXR -I/usr/include/Imath -I/usr/local/include/Imath -I/opt/local/include/Imath -I/Library/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c OpenEXR.cpp -o build/temp.macosx-10.9-x86_64-3.7/OpenEXR.o -g -DVERSION=\"1.3.7\"
      In file included from OpenEXR.cpp:36:
      /usr/local/include/OpenEXR/ImfIO.h:112:33: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          IStream (const IStream &) = delete;
                                      ^
      /usr/local/include/OpenEXR/ImfIO.h:113:46: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          IStream & operator = (const IStream &) = delete;
                                                   ^
      /usr/local/include/OpenEXR/ImfIO.h:114:22: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
          IStream (IStream &&) = delete;
                           ^
      /usr/local/include/OpenEXR/ImfIO.h:114:28: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          IStream (IStream &&) = delete;
                                 ^
      /usr/local/include/OpenEXR/ImfIO.h:115:35: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
          IStream & operator = (IStream &&) = delete;
                                        ^
      /usr/local/include/OpenEXR/ImfIO.h:115:41: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          IStream & operator = (IStream &&) = delete;
                                              ^
      /usr/local/include/OpenEXR/ImfIO.h:177:33: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          OStream (const OStream &) = delete;
                                      ^
      /usr/local/include/OpenEXR/ImfIO.h:178:46: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          OStream & operator = (const OStream &) = delete;
                                                   ^
      /usr/local/include/OpenEXR/ImfIO.h:179:22: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
          OStream (OStream &&) = delete;
                           ^
      /usr/local/include/OpenEXR/ImfIO.h:179:28: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          OStream (OStream &&) = delete;
                                 ^
      /usr/local/include/OpenEXR/ImfIO.h:180:35: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
          OStream & operator = (OStream &&) = delete;
                                        ^
      /usr/local/include/OpenEXR/ImfIO.h:180:41: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions]
          OStream & operator = (OStream &&) = delete;
                                              ^
      In file included from OpenEXR.cpp:37:
      In file included from /usr/local/include/OpenEXR/Iex.h:19:
      /usr/local/include/OpenEXR/IexBaseExc.h:40:37: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
          IEX_EXPORT BaseExc (std::string &&s); // not noexcept because of stacktrace
                                          ^
      /usr/local/include/OpenEXR/IexBaseExc.h:44:33: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
          IEX_EXPORT BaseExc (BaseExc &&be) noexcept;
                                      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:44:38: error: expected ';' at end of declaration list
          IEX_EXPORT BaseExc (BaseExc &&be) noexcept;
                                           ^
                                           ;
      /usr/local/include/OpenEXR/IexBaseExc.h:45:24: error: exception specification of overriding function is more lax than base version
          IEX_EXPORT virtual ~BaseExc () noexcept;
                             ^
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/exception:105:13: note: overridden virtual function is here
          virtual ~exception() _NOEXCEPT;
                  ^
      In file included from OpenEXR.cpp:37:
      In file included from /usr/local/include/OpenEXR/Iex.h:19:
      /usr/local/include/OpenEXR/IexBaseExc.h:45:35: error: expected ';' at end of declaration list
          IEX_EXPORT virtual ~BaseExc () noexcept;
                                        ^
                                        ;
      /usr/local/include/OpenEXR/IexBaseExc.h:48:45: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
          IEX_EXPORT BaseExc & operator = (BaseExc&& be) noexcept;
                                                  ^
      /usr/local/include/OpenEXR/IexBaseExc.h:48:51: error: expected ';' at end of declaration list
          IEX_EXPORT BaseExc & operator = (BaseExc&& be) noexcept;
                                                        ^
                                                        ;
      /usr/local/include/OpenEXR/IexBaseExc.h:54:37: error: exception specification of overriding function is more lax than base version
          IEX_EXPORT virtual const char * what () const noexcept;
                                          ^
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/exception:106:25: note: overridden virtual function is here
          virtual const char* what() const _NOEXCEPT;
                              ^
      In file included from OpenEXR.cpp:37:
      In file included from /usr/local/include/OpenEXR/Iex.h:19:
      /usr/local/include/OpenEXR/IexBaseExc.h:54:50: error: expected ';' at end of declaration list
          IEX_EXPORT virtual const char * what () const noexcept;
                                                       ^
                                                       ;
      /usr/local/include/OpenEXR/IexBaseExc.h:83:53: error: expected ';' at end of declaration list
          IEX_EXPORT const std::string &  message () const noexcept;
                                                          ^
                                                          ;
      /usr/local/include/OpenEXR/IexBaseExc.h:92:56: error: expected ';' at end of declaration list
          IEX_EXPORT const std::string &  stackTrace () const noexcept;
                                                             ^
                                                             ;
      /usr/local/include/OpenEXR/IexBaseExc.h:141:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc)    // Invalid arguments to a function call
      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:113:31: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (std::string &&text);                              \
                                    ^
      /usr/local/include/OpenEXR/IexBaseExc.h:141:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:116:24: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                             ^
      /usr/local/include/OpenEXR/IexBaseExc.h:141:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:116:33: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                                      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:141:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:118:36: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                         ^
      /usr/local/include/OpenEXR/IexBaseExc.h:141:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:118:45: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                                  ^
      /usr/local/include/OpenEXR/IexBaseExc.h:141:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:119:21: note: expanded from macro 'DEFINE_EXC_EXP'
              exp ~name() noexcept;                                       \
                          ^
      /usr/local/include/OpenEXR/IexBaseExc.h:143:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc)  // General error in a program's logic,
      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:113:31: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (std::string &&text);                              \
                                    ^
      /usr/local/include/OpenEXR/IexBaseExc.h:143:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:116:24: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                             ^
      /usr/local/include/OpenEXR/IexBaseExc.h:143:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:116:33: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                                      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:143:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:118:36: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                         ^
      /usr/local/include/OpenEXR/IexBaseExc.h:143:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:118:45: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                                  ^
      /usr/local/include/OpenEXR/IexBaseExc.h:143:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:119:21: note: expanded from macro 'DEFINE_EXC_EXP'
              exp ~name() noexcept;                                       \
                          ^
      /usr/local/include/OpenEXR/IexBaseExc.h:148:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc)  // Invalid input data, e.g. from a file
      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:113:31: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (std::string &&text);                              \
                                    ^
      /usr/local/include/OpenEXR/IexBaseExc.h:148:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:116:24: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                             ^
      /usr/local/include/OpenEXR/IexBaseExc.h:148:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:116:33: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                                      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:148:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:118:36: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                         ^
      /usr/local/include/OpenEXR/IexBaseExc.h:148:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:118:45: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                                  ^
      /usr/local/include/OpenEXR/IexBaseExc.h:148:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:119:21: note: expanded from macro 'DEFINE_EXC_EXP'
              exp ~name() noexcept;                                       \
                          ^
      /usr/local/include/OpenEXR/IexBaseExc.h:150:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc)     // Input or output operation failed
      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:113:31: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (std::string &&text);                              \
                                    ^
      /usr/local/include/OpenEXR/IexBaseExc.h:150:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:116:24: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                             ^
      /usr/local/include/OpenEXR/IexBaseExc.h:150:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:116:33: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name (name &&other) noexcept;                           \
                                      ^
      /usr/local/include/OpenEXR/IexBaseExc.h:150:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
      /usr/local/include/OpenEXR/IexBaseExc.h:118:36: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                         ^
      /usr/local/include/OpenEXR/IexBaseExc.h:150:1: error: expected ';' at end of declaration list
      /usr/local/include/OpenEXR/IexBaseExc.h:118:45: note: expanded from macro 'DEFINE_EXC_EXP'
              exp name& operator = (name &&other) noexcept;               \
                                                  ^
      fatal error: too many errors emitted, stopping now [-ferror-limit=]
      27 warnings and 20 errors generated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  WARNING: No metadata found in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
  Rolling back uninstall of openexr
  Moving to /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/Imath.py
   from /private/var/folders/kv/ggdhc0ys1t9dy14r7cq9mw340000gn/T/pip-uninstall-zkykkkzd/Imath.py
  Moving to /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/OpenEXR-1.3.2+a01.dist-info/
   from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/~penEXR-1.3.2+a01.dist-info
  Moving to /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/OpenEXR.cpython-37m-darwin.so
   from /private/var/folders/kv/ggdhc0ys1t9dy14r7cq9mw340000gn/T/pip-uninstall-zkykkkzd/OpenEXR.cpython-37m-darwin.so
  Moving to /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/__pycache__/Imath.cpython-37.pyc
   from /private/var/folders/kv/ggdhc0ys1t9dy14r7cq9mw340000gn/T/pip-uninstall-zkykkkzd/__pycache__/Imath.cpython-37.pyc
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> OpenEXR

I was able to fix by changing the extra_compile_args in setup.py
extra_compile_args=['-g', '-DVERSION="%s"' % version, '-std=c++11', '-Wc++11-extensions', '-Wc++11-long-long'])

TY, I will upgrade the package ASAP

Done!
Please, give it a shot and let me know

👍
Confirmed working


[cloud_firestore] Added Flutter web support

Description

Created cloud_firestore_platform_interface to host A common platform interface for the cloud_firestore plugin.
Created cloud_firestore_web to host the web implementation for Firestore
Changed cloud_firestore implementation to delegate to method_channel_xyz in cloud_firestore_platform_interface when necessary
Relocated tests from cloud_firestore to cloud_firestore_platform_interface

This PR is created for gathering feedback on the approach and check mergeability.
Todo items
This PR is created for gathering feedback on the approach. The remaining steps are

[x] create PR and merge cloud_firestore_platform_interface
[ ] create PR and merge cloud_firestore_web
[x] update cloud_firestore to use published version of cloud_firestore_web & cloud_firestore_platform_interface
[x] Add unit tests for cloud_firestore_web
[x] Add unit tests to verify that cloud_firestore delegates method calls to delegate
[x] Add unit tests for cloud_firestore_platform_interface
[x] Address PR comments and feedback
[x] Delay FirebasePlatform._instance initialisation until it's called for the first time (lazy init)
[x] Handle encoding/decoding DocumentReference
[x] Fix Query method delegation (currently broken ☹)
[x] Add support for Transaction
[x] Add support for WriteBatch
[x] Web & mobile specific implementation for GeoPoint
[x] Web & mobile specific implementation for Blob
[x] Fix settings bug mentioned here https://github.com/FirebaseExtended/flutterfire/pull/1670#issuecomment-567307817

Related Issues
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See [Contributor Guide]).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the [Flutter Style Guide].
[x] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the [CLA].
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Looping in @ditman @hterkelsen who have been working on similar functionality in https://github.com/FirebaseExtended/flutterfire/pull/1633

Wow, thanks for doing this! I'm taking a look!

No probs @ditman 👍 . It might fail builds on CI as packages such as cloud_firestore_web & cloud_firestore_platform_interface are not published yet. If we change it to relative paths instead of versions then it works. I am using this fork on my personal app at the moment.
The only thing that I am not unsure about is how Transactions work. As mentioned in the PR details, I am still in the process of adding tests for the new functionality.
Let me know if you have anything.

It might fail builds on CI as packages such as cloud_firestore_web & cloud_firestore_platform_interface are not published yet.

Yes, there's also some failures on analyze and format that need to be fixed in the PR, those are related with the coding style (but for example, dartfmt is an automated fix).
The toughest part to fix analyze is going to be (probably) adding documentation to every public member.

The only thing that I am not unsure about is Transaction delegation work. As mentioned in the PR details, I am still in the process of adding tests for the new functionality.

What I did in PR was to leave the tests in the core package of the plugin, slightly modified to run with the new interface and make sure everything works (similar to the changes you have done when you moved the tests from the core to the platform_interface package.
(I wasn't close to working in the Web plugin, so I didn't have a good story to test the web version!)
(BTW, feel free to email me directly: dit at google if you need anything from me, I have time to help you with this).

@amrfarid140 I cloned your fork, and modified it a little bit to run the example of the cloud_firestore package and it loaded! However when clicking on the + icon I got an exception (that probably has to do with the MessageCodec attempting to serialize a FieldValue:
Uncaught (in promise) Error: Invalid argument (dartObject): Could not convert: Instance of 'FieldValue'
    at Object.throw_ [as throw] (errors.dart:196)
    at Object.jsify (utils.dart:120)
    at utils.dart:94
    at IdentityMap.from.forEach (linked_hash_map.dart:23)
    at Object.jsify (utils.dart:93)
    at firestore.DocumentReference._fromJsObject.set (firestore.dart:348)
    at firestore_web.DocumentReferenceWeb.new.setData (document_reference_web.dart:11)
    at cloud_firestore.DocumentReference.__.setData (document_reference.dart:47)
    at cloud_firestore.CollectionReference.__.add (collection_reference.dart:50)
    at add.next (<anonymous>)
    at runBody (async_patch.dart:86)
    at Object._async [as async] (async_patch.dart:125)
    at cloud_firestore.CollectionReference.__.add (collection_reference.dart:48)
    at main.MyHomePage.new._addMessage (main.dart:65)
    at _addMessage.next (<anonymous>)
    at runBody (async_patch.dart:86)
    at Object._async [as async] (async_patch.dart:125)
    at main.MyHomePage.new.[_addMessage] (main.dart:64)
    at _InkResponseState.new.[_handleTap] (ink_well.dart:705)

So close!

Thanks for all feedback @ditman .. it's really helpful. I am happy to keep working at this PR to get it merged. I will start by looking into the issue with jsify then address your comments before finally adding tests to all the new items and fixing the analyze & format issues.

The FieldValue issue should be resolved now. Moving into other parts of the feedback.

Hey @amrfarid140, some extra stuff regarding testing!
I have played a little bit with transactions, following the Firebase for Flutter codelab.
Here's the finished app that you should be able to clone and flutter run -d chrome; if all goes according to plan, when you try to vote on a baby name, it'll throw some errors/assertions:

Type '_Future<dynamic>' should be '_Future<Map<String, dynamic>>' to implement expected type 'Future<Map<String, dynamic>>'.
...
========================================
Uncaught (in promise) Error: Assertion failed: org-dartlang-app:///packages/cloud_firestore_web/transaction_web.dart:19:12
documentReference is DocumentReferenceWeb
is not true
    at Object.throw_ [as throw] (errors.dart:196)
    at Object.assertFailed (errors.dart:26)
    at firestore_web.TransactionWeb.__.get (transaction_web.dart:19)
    at get.next (<anonymous>)
    at runBody (async_patch.dart:86)
    at Object._async [as async] (async_patch.dart:125)
    at firestore_web.TransactionWeb.__.get (transaction_web.dart:18)
    at cloud_firestore.Transaction.__.get (transaction.dart:19)
   ...
========================================
Uncaught (in promise) Error: TypeError: Cannot read property 'then' of undefined
...

(I'm sure they're all related to the DocumentReferenceWeb assertion, which ties in with the jsify discussion above)
The other bit of news, after discussing with @collinjackson about testing, is that there's a bunch of integration tests inside the cloud_firebase example app, here.
I've managed to run them in the web by copying the contents of test_driver/cloud_firestore.dart into lib/main.dart, and then running flutter run -d chrome in the example app; here's the current output, and an excerpt:
FirebaseError: [code=invalid-argument]: Function settings() requires its host option to be of type non-empty string, but it was:
null
https://www.gstatic.com/firebasejs/7.5.0/firebase-firestore.js 1:47893                    new Gr
  https://www.gstatic.com/firebasejs/7.5.0/firebase-firestore.js 1:50392                    ci
  https://www.gstatic.com/firebasejs/7.5.0/firebase-firestore.js 1:49519                    oi
  https://www.gstatic.com/firebasejs/7.5.0/firebase-firestore.js 1:332640                   new Wp
  https://www.gstatic.com/firebasejs/7.5.0/firebase-firestore.js 1:334921                   settings
  package:firebase/src/firestore.dart 119:16                                                settings
  package:cloud_firestore_web/firestore_web.dart 65:20                                      <fn>
  package:dart-sdk/lib/async/future.dart 224:31                                             sync

(Looks like an initialization issue is masking the real execution of the tests. (I'll tinker with this some more and add another dump of the output to this issue if I get the tests to run past that settings explosion).
Collin also mentioned that If you add tests there, they'll also help the mobile implementation of the plugin.
Again, thanks for all the work you're doing here!

@ditman I have sorted out transactions for both Web and Mobile. It should be working now. I've also added a button test them on the example app.  Unit tests for it is still pending though.

Added WriteBatch support and included examples in  example app. Runs on Web and Mobile. However, it always fails if do the following

get a document reference docRef
batch.update(docRef, {some_data})
batch.delete(docRef)

Basically if we update something then delete it (which maybe be pointless).. Firebase throws an internal error on all platforms
INTERNAL ASSERTION FAILED: Transform results missing for TransformMutation
@ditman  Is that intended behaviour ?

On another news .. format and analyze now are passing 🎆

Also, on this error Function settings() requires its host option to be of type non-empty string.. This functionality is not supported on mobile and I can't seem to find the default value to be able to something like host ?? defaultHost. Any ideas how can we get this default value?
Worth mentioning that the docs for Firebase JS says that it is an optional value so I am not sure why would it throw this kind of error. See here: https://firebase.google.com/docs/reference/js/firebase.firestore.Settings.html#ssl

@ditman Ran the tests you mentioned here and it pointed out some bugs. Those bugs are fixed now but there are a couple of tests that I wasn't able to run/verify due to missing or insufficient permission. you can see results here.

@amrfarid140 I'm looking at the documentation of batched writes here, and it seems they do update and delete on different document refs... I'll try to dig deeper in the flutterfire discord and get back to you (lmk if you want to join, I can send you an invite there).
Regarding the lack of permissions in tests, let me try and run them and see what's up with that; it might be an authentication issue (or lack of it thereof). I'll try to get that fixed/explained so they don't block you.
I'll take a look at the latest code changes!

Thanks @ditman that it would great if we can get to bottom if the WriteBatch issue. Also, yeah an invite to flutterfire discord would be helpful 😄 .

@amrfarid140 at this point I feel like I'm nitpicking rather than adding anything smart to the discussion, other than the initialization problem, I think this is looking great and almost ready to go! What do you think Amr?

I am fairly happy with how it looks. I've kept testing different use cases with the example and satisfied that all is 💯 .  Next steps would be address those latest comments then adding unit tests all over.
Not sure how can pass the publishable test though @ditman . Packages rely on paths right now for everything to work which ultimately is not what we want. We also, at this point, can't rely on specific versions since cloud_firestore_web & cloud_firestore_platfrom_interface are not published yet. What do you think is the best approach for this?

We also, at this point, can't rely on specific versions since cloud_firestore_web & cloud_firestore_platfrom_interface are not published yet. What do you think is the best approach for this?

@amrfarid140 you found The Big Chore of this type of migrations which is that we need to split this one in 3 separate PRs to merge (and publish to pub.dev) the packages in the right order:

platform_interface (which shouldn't depend on anything else)
core_plugin (which only depends on platform interface, but since it's already published we can already depend on the right version)
web_implementation (which may depend on both of the above, which are published by now)

Our tooling is not smart enough to publish multiple packages at the same time :/

No problem. Let's get those new packages documented and unit tested then I will close this PR and open  3 PRs sequentially (1. Platform interface, 2. Web, 3. Firestore Core) to get it all published. Thanks so much @ditman for the feedback.

No problem. Let's get those new packages documented and unit tested then I will close this PR and open 3 PRs sequentially (1. Platform interface, 2. Web, 3. Firestore Core) to get it all published. Thanks so much @ditman for the feedback.

Sounds good, I'm currently trying to:

Figure out what's up with the WriteBatch (I asked an internal question, but the team may be in a different TZ)
See what's up with the permissions in the example tests, and run those again.
Try to port another codelab to web with this :)

I've also closed most of the conversations above that were already addressed. I don't think there's too many open (other than the ensureInitialized thing which I'd be happy with a bug + comment stating why that line is needed and TODO: remove once bug ID is closed?)

Still waiting for an answer on the WriteBatches
Ran the example/test_driver tests again, there's good news and bad news!

Good news is that the same 2 tests seem to be failing both on android master and web.
Bad news is that there's more example tests failing on our work branch on android. These are the new failing tests:

Firestore getDocumentsFromCollectionGroup [E]
Firestore pagination [E]
Firestore pagination with map [E]

(Maybe it's an issue with "where" clauses?)
I had to do 2 small changes to the latest code that we've reviewed (but I can't send PRs to your fork :/)... These are needed so the example tests in web come back to only the 2 ones that were failing because of permission denied:

Prevent the tests from calling multiple times to .setPersistenceEnabled()
Slightly harden null cases and return values in the codec_utility classes.

I recently got permission to access the firebase backend that is used by the tests, where I'll try to review what's up with these two tests, but permissions seem to not have taken effect yet. I'll check again tomorrow in my AM.
Again, thank you very much for all of your work!

@ditman managed to run tests on mobile with this output.. most of them pass except some items where it needs indices defined or permissions.
I've also added your changes to it and resolved remaining  outstanding comments

@ditman managed to run tests on mobile with this output.. most of them pass except some items where it needs indices defined or permissions.

@amrfarid140 I ran the tests in the origin/master branch, and only the 2 tests that fail in web fail there. This 3 tests were broken (somehow) by this PR:

Firestore getDocumentsFromCollectionGroup [E]
Firestore pagination [E]
Firestore pagination with map [E]

I've been reading a little bit, and stumbled upon this StackOverflow answer... I don't see anything that changed that might affect that, other than how the query may be composed? Are we adding "where" clauses multiple times? I think those 3 tests are pointing to a bug (or at least a change in behavior that might affect other users of the plugin).

Are we adding "where" clauses multiple times? I think those 3 tests are pointing to a bug (or at least a change in behavior that might affect other users of the plugin).

I actually think we might be doing that. We are always resetting the Query on Web. We most probably need to that on mobile as well.

We are always resetting the Query on Web. We most probably need to that on mobile as well.

That can explain why the tests pass on web Just Fine ™, but not on the MethodChannel implementation.

I've debugged the getDocumentsFromCollectionGroup; it seems we're passing the wrong "app" name to firestore. Here's the good and bad messages that are being sent through the MethodChannel:
Good

Bad

Everything else seems all right!
I'm going to do the same with the other 2 failing tests, to see if there's any clear difference like the one above.

Yeah.. I have just been reworking things in cloud_firestore &  cloud_firestore_platform_interface to fix this and a same issue with runTransaction test.

Yeah.. I have just been reworking things in cloud_firestore & cloud_firestore_platform_interface to fix this and a same issue with runTransaction test.

@amrfarid140 do you want me to debug the other two tests, or are you on top of them?

@ditman do you mean those two whereArrayContainsAny & whereIn ? .. if they are, then nope I am not on them.
The only other one failing now is runTransaction. I will tidy up and make a commit for the latest changes.

@ditman do you mean those two whereArrayContainsAny & whereIn ? .. if they are, then nope I am not on them.
The only other one failing now is runTransaction. I will tidy up and make a commit for the latest changes.

@amrfarid140 I meant:

Firestore pagination [E]
Firestore pagination with map [E]

For whereArrayContainsAny & whereIn, I need access to the firestore project (which I haven't gotten yet, grrr), but those seem to fail on all platforms, so I'm a little bit less concerned about them 😛

@ditman Ah, those two are fixed now .. updates pushed if we want to have a look.

All tests pass now @ditman

All driver tests pass now @ditman on mobile and web

@amrfarid140 you're a beast! I'll take a final look and then we'll go on with the 3 PRs to merge this in order. Again, thanks for the contribution, and the patience!
:applause.gif:

Thanks for backporting the fixes from the platform_interface PR to this one, and the web unit tests. Looking great!

I faced an issue with Timestamp being defined in both packages cloud_firestore and cloud_firestore_platform_interface. I resolved it by commenting out part 'src/timestamp.dart' in cloud_firestore.dart and adding Timestamp to the export line.
Not sure if that's the best fix but you should test for Timestamp type.

@ialhashim Are you depending on both cloud_firestore & cloud_firestore_platform_interface?
The only one you need is cloud_firestore which exposes a Timestamp class that's compatible with Firebase type that you are going to use.

@amrfarid140 this is the error I am getting
Exception has occurred.
_TypeError (type 'Timestamp' is not a subtype of type 'Timestamp' where
  Timestamp is from package:cloud_firestore_platform_interface/cloud_firestore_platform_interface.dart
  Timestamp is from package:cloud_firestore/cloud_firestore.dart
)

It happens for a Timestamp property being assigned from a returned document to a custom class I made.

Also, digging into it I know see that the same field from cloud store comes back as DateTime on the web and Timestamp on mobile.

@ialhashim @amrfarid140  I've seen the same, is it a problem of this change, or the underlying library?

In the mean time I had to write a runtimeType check and do a conversion which is a bit ugly.

(Found the issue/PR where Timestamp support is being added to firebase-dart: https://github.com/FirebaseExtended/firebase-dart/pull/208)

@ditman @ialhashim This might be caused by cloud_firestore_platform_interface/firestore_message_code.dart building cloud_firestore_platform_interface/timestamp.dart when readValueOfType() is executed.
We can fix that by using the same delegation method , similar to what we do  for DocumentReference, in cloud_firestore/timestamp.dart and add some logic in cloud_firestore/codec_utility.dart to make sure that we are passing the correct type for reads and writes.
I also think that the issue on firebase-dart is something else. It might not have a direct impact but it will produce inconsistency when devs are expecting Timestamp but instead get a DateTime when running on Web.

Actually we can also do as @ialhashim mentioned. Delete cloud_firestore/timestamp.dart and export cloud_firestore_platform_interface/timestamp.dart .. we do that for GeoPoint and it works well. What do you think @ditman ?

@amrfarid140 I think the problem happens when we're assigning from the document snapshot to user's data structures (like here).
In web you get a DateTime object, but in Android you get a Timestamp, so you probably need some logic there to assign (similar to the .toDouble() on ints!).
Right now, by the time we get the data from the firestore-dart package, it's already converted to DateTime on web, right?
(Also, wasn't Timestamp already in the platform_interface package?)

(Just checked the Firebase Supported Data Types and there's no distinction between DateTime or Timestamp, so maybe the codec_utility solution is enough, just return a Timestamp when we see a DateTime coming from the data?)

@ditman agreed. This DateTime is a problem but I think it's different from what @ialhashim is describing. We currently have two Timestamp definitions, one in base and one in platform interface, and that might be the issue he is mentioning.
The DateTime problem need some other piece of work, not sure what yet 😅 , since [firestore_message_codec](https://github.com/FirebaseExtended/flutterfire/blob/6eb32d6994a2ec01a219e1a8340674028796e5d9/packages/cloud_firestore/cloud_firestore/lib/src/firestore_message_codec.dart#L81) already makes a distinction between them.

@amrfarid140 Ah, I know why we're making the distinction; it's probably to preserve the types of the data that the user is encoding (imagine that you're storing a big object with a bunch of keys, and one of them is a DateTime, and the other one is a Timestamp).
However in firestore itself, when you define your collection, you cannot create anything other than a Timestamp (I just checked). And for this one, I think we can't let firestore-dart do the conversion automatically (because then we lose information provided by the user?)
So I guess you're right, there's 2 problems here :)

It looks like firebase-dart converts Timestamp to DateTime when reading from document, see here.
And it also converts from DateTime to Timestamp when writing to document, see here.
So I think it might make sense if we catch any DateTime in cloud_firestore_web/utils/codec_utility.dart when reading from document and convert to Timestamp. That way we can maintain the same return value across mobile and web.

Error occurs when creating as WriteBatch using Firestore.instance.batch();
Error: Expected a value of type 'WriteBatch', but got one of type 'WriteBatchWeb'

in the meantime you can use this version of the fork from the PR:
cloud_firestore:
    git:
      url: https://github.com/rodydavis/flutterfire
      path: packages/cloud_firestore/cloud_firestore
 cloud_firestore_web:
    git:
      url: https://github.com/rodydavis/flutterfire
      path: packages/cloud_firestore/cloud_firestore_web

Works really well! I will take it down once the PR is merged

Thanks for the advice @rodydavis. I attempted this but am having an issue:

dart.global.firebase.firestore is not a function
Any suggestions? I suspect I'm missing some configuration

dart.global.firebase.firestore is not a function

Any suggestions? I suspect I'm missing some configuration

@darrenjl did you modify your web/index.html to include the required scripts and initialization data?

dart.global.firebase.firestore is not a function

Any suggestions? I suspect I'm missing some configuration

@darrenjl did you modify your web/index.html to include the required scripts and initialization data?

@ditman Thank you! I had the core script and initialisation data but forgot to add the firestore script
  <script src="https://www.gstatic.com/firebasejs/7.8.0/firebase-firestore.js"></script>

We've published cloud_firestore_platform_interface 1.0.0! Thanks for your help and patience @amrfarid140!

cloud_firestore_web should be an easy target now.
Also cloud_firestore (core package) without references to web in the pubspec (for now), to prevent merge conflicts with incoming changes.

Makes sense @ditman , I will prepare a PR for cloud_firestore first before the cloud_firestore_web PR.

We've published cloud_firestore 0.13.1. Thanks @amrfarid140!

We've published cloud_firestore_web 0.1.0. Thanks again @amrfarid140!!

@ditman I just attempted to add this to my project with
cloud_firestore: ^0.13.1
cloud_firestore_web: ^0.1.0

but I am getting an error saying the URI doesn't exist for import 'package:cloud_firestore_web/firestore_web.dart'; in "generated_plugin_registrant.dart"

Any advice?

@erparker There's a small issue that's is being fixed. It's reported here https://github.com/FirebaseExtended/flutterfire/pull/1950

@erparker apologies, we renamed that file last minute, and one change to the pubspec slipped through the cracks. Fix in flight (will be version 0.1.0+1) here:
https://github.com/FirebaseExtended/flutterfire/pull/1974

@erparker we've published 0.1.0+1 with a fix for the issue you're seeing

@ditman thanks for the update!!
so, no idea if this is related or not, after installing cloud_firestore_web I was able to build, but now my project won't call the main() method. I have a dead simple new dart project that I'm trying to get started with dart web, and this print statement doesn't even get called.
void main() {
  print("running main");
  runApp(MyApp());
}

I've got the firebase imports in my index.html file
<script src="https://www.gstatic.com/firebasejs/7.8.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.8.0/firebase-firestore.js"></script>

It's probably not related? I dunno, but this is a head scratcher

It's probably not related? I dunno, but this is a head scratcher

It may be related. A few notes: I'd recommend you use a lower version of firebase for now; all the testing I've done is with 7.5.0 IIRC.
Second: check your javascript console and look for errors there. Did you add the initialization script, in addition to the firebase-app and firebase-firestore scripts?
See "Initialize Firebase" (this is from firebase-auth, but the process for firestore is identical, just changing the filenames of the downloaded scripts).

@ditman ah ha! that did it!
Adding this to index.html did the trick.
<script>
  // Your web app's Firebase configuration
  var firebaseConfig = {
    ...
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
</script>

I had that code in my `MyApp()` widget code to start the firebase instance, but I guess it needs to be inside script tags. Not sure how I missed that detail, but that did the trick

thanks again!

@erparker Glad you got it working! Programmatic initialization should be doable, but for now we're recommending the script tag method (which is what is also recommended by the Firebase console as well, so at least in that part we're identical to the JS SDK).

One other strange thing I noticed - after adding firestore web and re-deploying my site, Chrome wouldn't display it and kept asking me if I wanted to install the PWA version of the app instead (which was just a blank screen as well). I removed firestore web from the project, re-deployed, and things were fine again.
I'm stumped once again on this one. No clue if it's related or not, and I don't really know much about progressive web apps, just thought I'd pass that along

@erparker there was some weird interplay between Flutter web's service worker and the firestore requests that got solved a few days ago. Can you try upgrading your flutter channel to master (if you're not there already), cleaning your build and rebuilding your app again?
Note, that in that blank-screen case, you should look for clues/errors in the Javascript DevTools console, if any.

Things are working again. I was already on latest Flutter, Flutter 1.15.3-pre.58 • channel master , what i did was remove some code that was generated with this project from a couple Flutter versions ago. This is what I took out
<script>
    if ('serviceWorker' in navigator) {
      window.addEventListener('load', function () {
        navigator.serviceWorker.register('/flutter_service_worker.js');
      });
    }

</script>

I removed it on a whim since that issue you linked talked about a service worker, and it got things moving again. To be honest, I don't know what the service worker does, so no idea if removing it was a bad thing  ¯_(ツ)_/¯ but things are running again with firestore_web in the project

¯_(ツ)_/¯

You dropped something: \

I don't know what the service worker does

Service workers help manage the website even when the client is offline, along with other stuff browser-related.

Merged and published cloud_firestore 0.13.2 with web support! Thanks @amrfarid140 for the super hard work!!

Really? I'm going to test this out!

All you need to depend on, with a fairly recent version of flutter, is:
cloud_firestore: ^0.13.2
No need to specify dependencies on cloud_firestore_web, the platform interface, or anything else.

For a quick test, the example app of the cloud_firestore package should be runnable with flutter run -d chrome

So not yet on flutter's stable channel, but dev channel?

@bean5 I normally use master, but anything >=1.12.13+hotfix.4 will do. IIRC beta is probably enough.

It's amazing to see this getting merged 😄 . Thanks so much @ditman and @collinjackson for your feedback and effort in this as well.

So...I thought this meant that firebase_auth would be supported for web as well. Is that correct or can you use firestore without auth?

@bean5 you can use firestore without using auth. Also, Auth supports web as well.

Note: In a separate PR I've updated cloud_firestore and cloud_firestore_web documentation with the latest setup instructions, and marked "Web?" as supported in the main flutterfire contents matrix.

I got it working. My firebase_auth package was pretty old and I was using old methods of serving web. Flutter web has come a long way since I ran into this issue.
Thanks for the great fix!

Anybody else start getting this error when running their flutter web app with cloud_firestore_web?
I didn't change anything beyond doing flutter upgrade the other day, so I'm not sure why this started happening.
I'm using this in my pubspec
cloud_firestore: ^0.13.2+1
cloud_firestore_web: ^0.1.0+2

When I run the app I just got a blank Chrome page and this in the javascript console:
Error: Unsupported operation: Platform._operatingSystem
    at Object.throw_ [as throw] (errors.dart:196)
    at Function._operatingSystem (io_patch.dart:241)
    at Function.get operatingSystem [as operatingSystem] (platform_impl.dart:62)
    at get _operatingSystem (platform.dart:73)
    at Function.desc.get [as _operatingSystem] (utils.dart:77)
    at get isIOS (platform.dart:141)
    at Function.desc.get [as isIOS] (utils.dart:77)
    at get firebaseDefaultAppName (default_app_name_io.dart:9)
    at Object.desc.get [as firebaseDefaultAppName] (utils.dart:77)
    at get defaultAppName (firebase_app.dart:19)
    at Function.desc.get [as defaultAppName] (utils.dart:77)
    at get instance (firebase_app.dart:41)
    at Function.desc.get [as instance] (utils.dart:77)
    at new cloud_firestore_web.FirestoreWeb.new (cloud_firestore_web.dart:33)
    at Function.registerWith (cloud_firestore_web.dart:26)
    at Object.registerPlugins (generated_plugin_registrant.dart:20)
    at main$ (web_entrypoint.dart:6)
    at main$.next (<anonymous>)

It sort of looks like instantiating a new cloud firestore will call out to see what the operating system is, which is not allowed on flutter web.
here's flutter --version
Flutter 1.15.4-pre.48 • channel master • https://github.com/flutter/flutter.git
Framework • revision 8abf54f5e3 (16 hours ago) • 2020-02-12 20:45:36 -0800
Engine • revision e0ebaea590
Tools • Dart 2.8.0 (build 2.8.0-dev.9.0 e4c39721c4)

Any ideas?

@erparker Very odd, it seems like you are getting the configurable import for Dart VM even though you're running on web. How exactly are you running your app? BTW you don't need the cloud_firestore_web dependency, it should be pulled in automatically already.

To my knowledge, I'm not doing anything out of the ordinary. I select Chrome as the device as then click run in Android Studio (not debug, but the regular "play button"). I've updated Flutter and the AS Flutter tools recently and I've had it working since then.
FWIW here is my flutter doctor (the android warning has been there for over a year, I mainly build to iOS so I've ignored it)
[✓] Flutter (Channel master, v1.15.4-pre.48, on Mac OS X 10.14.6 18G84, locale en-US)

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.32.1)
[✓] Connected device (4 available)

! Doctor found issues in 1 category.

@erparker please open a new github issue, we're spamming a bunch of people who may not be willing or able to help :)
I'm going to lock conversation in this PR, it has run its course! Thanks all!

Added WriteBatch support and included examples in example app. Runs on Web and Mobile. However, it always fails if we do the following
// get a document reference `docRef`
batch.update(docRef, {some_data})
batch.delete(docRef)
await batch.commit()
...

Basically if we update something then delete it (which maybe be pointless).. Firebase throws an internal error on all platforms
INTERNAL ASSERTION FAILED: Transform results missing for TransformMutation
@ditman Is that intended behaviour ?

Closing the loop on this. I asked in our internal "Stack Overflow"-like system, and an engineer from the Cloud Firestore Data Plane team just confirmed that this was, indeed, a bug:

Thanks for finding this-- this was actually a bug! We've sent out a fix, which should finished being pushed out in the next couple days. Let us know if you're still seeing this issue after that.

Nice!


[WIP] Use workflow 7.3.1

Description
Test "retry action" for installing Cosmos DB.
References
https://app.zenhub.com/workspaces/mighty-ducks---the-outlaws-6193fe815d79fc0011e741b1/issues/energinet-datahub/the-outlaws/120

Codecov Report

Merging #50 (c8d8615) into main (c53f9c2) will decrease coverage by 1.22%.
The diff coverage is 5.88%.

@@            Coverage Diff             @@
##             main      #50      +/-   ##
==========================================
- Coverage   79.56%   78.34%   -1.23%
==========================================
  Files          47       48       +1
  Lines        1008     1025      +17
  Branches       81       81
==========================================
+ Hits          802      803       +1
- Misses        169      185      +16
  Partials       37       37

Impacted Files
Coverage Δ

...ve.EntryPoint/Functions/OverlapTestTimerTrigger.cs
0.00% <0.00%> (ø)

...ginet.DataHub.MessageArchive.EntryPoint/Startup.cs
100.00% <100.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Using RAG for a coding?

Here's an idea - to use RAG systems for making the coding more comfortable, since all the functions will be in context of rag, lessering the tokens needed to work with Claude DEV.
Also, all the love to the creator of this plugin, thank you very much!

Please provide a more complete description of what using a RAG system entails.

Please see https://github.com/saoudrizwan/claude-dev/issues/68#issuecomment-2325012621


guidance on how to properly use lax.reduce on an multi-dimension array.

I want to perform reduce operation on an array in a slightly different way than jnp.argmax.
I have an array A with shape (2,5). I wanted to reduce A in the below way: for a pair of index (i, j), calculate z = A[0][i]*A[1][j]-A[0][j]*A[1][i], if z>0, then pick i otherwise pick j. Continue this computation until getting the final index.
What's the best way for me to perform this in JAX?
Below is my code on trying to implement this reduce operation, which threw error IndexError: Too many indices for array: 1 non-None/Ellipsis indices for dim 0..
A = np.random.randn(2, 5)

def my_compare(x0, x1):
    y0 = x0[0]*x1[1]
    y1 = x0[1]*x1[0]
    z = y0 > y1
    return jax.lax.select(z, x0, x1)

res = jax.lax.reduce(A, A[0][0], my_compare, [0,1])

This looks to be a duplicate of #22319 – I'm going to close this one because the discussion format is probably better for this question!


Option to not unpack channels in BestAudioSource::GetAudio()

BestAudioSource::GetAudio() always unpacks the audio into its separate channels, but some applications want the audio to be packed instead. It'd be very helpful if there was an option that made GetAudio not unpack before returning the data. This could happen via a boolean argument unpack to either the GetAudio function or just to the constructor that defaults to true - if it's set to not unpack, the Data argument would contain just one larger buffer for the entire packed audio.

Now there's a packed getaudio too


Release ?

Hi,
I am highly interested by this tech for a project. Do you plan to release it soon ?
I can be a one time sponsor if it can help (and have access to a tech preview)
Bye :)

bump

+1

+1


build: update to node 20

coverage: 91.463%. remained the same
when pulling d1d4da336e38dc3304b4dec2e3b048bde923ea0b on node-20
into a0bd4785e747f923e62a52918238e82abe33e5c2 on master.


Expose pod nodeSelector in the CRD

It would be nice if the field spec.template.spec.nodeSelector in the external-dns Deployment could be configurable by exposing this configuration via the ExternalDNS custom resource.
I am using the external-dns-operator in a cluster provisioned via hypershift. In this scenario the scheduler is unable to run external-dns pods because there are no master nodes available, so the pods stay in pending forever. The node selector is hardcoded here.
The workaround I'm appying is to remove the node-role.kubernetes.io/master: '' label from the nodeSelector in the Deployment object, as the operator seems to not reconcile this.

@roivaz: Yes, the current node selector cause a problem on HyperShift based deployments. Can you please file a bug for "ExternalDNS Operator" component?

The feature request is now being tracked as RFE-5408

/remove-lifecycle stale

@roivaz: https://github.com/openshift/external-dns-operator/pull/219 relaxes the node selector by removing the master label.

@alebedev87  Thank you! That would definitely solve the issue. Any idea of the release this fix will be shipped in?

The deadline is the GA of OpenShift 4.17, so beginning of October. However this operator is off the main payload so it can be released earlier.

Closing the issue as the reporter confirmed https://github.com/openshift/external-dns-operator/pull/219 should fix the issue.


Feature/3114/create laravel console command for new subscriber

Target #3114
Description:
multiple   jobIds  can be their

@rajatsajwan make sure that you have tested this code in you locally

I am testing this code in my local.

// try {


⚠ Bofrost.de has degraded performance

In 46cbd9d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 989 ms

Resolved: Bofrost.de performance has improved in b671762 after 12 minutes.


Train LTR model on 300 days

This uses 300 days of data to train the model on. The assumption is that more data is better, and that data between August (when we began collecting this data) and December was of greater volume and potentially higher quality. We'll monitor our online and offline metrics to see if this change has an impact.

Only if we call the model "Sparta"


avx512f: implement _mm512_cvtsepi32_epi*

Excellent, thank you!  Merged as 4472fe2ce0f07dd44ba1f27d28b72ffb77c92912
I reorganized the functions in both the header and the test (and parts of skel.c) a bit prior to merging this.  In the future please try to maintain the order, and if you have any questions just ask.  That should also help reduce conflicts during merging since hopefully multiple people won't be trying to add code to the end of the file.
Additionally, I cleaned up the formatting for the preprocessor directives in avx512f.h to match the style I've been trying to switch to.  Basically, preprocessor directives are now indented just like blocks in normal C code.  I know there is a lot of code in other parts of SIMDe that doesn't follow this convention (I only started doing it recently), but if you could try to match that style for new code I'd appreciate it.  I'll try to keep an eye on it during reviews, too.

Thanks, I will focus on matching the style convention of code in further contributions.


ENH: add ability to display external images within a custom component in Ctrlr

Hi,
I'd like to get within Ctrlr the Juce functions allowing to display external images (thus images not stored within the Resources tab of the panel) on a panel.
This is available in Juce with the ImagePreviewComponent Class.
If someone can describe me how to do that I can adapt the file in the github repository (I have programming skills but don't know how Ctrlr is built, how it relates to Juce, how is the link made between Juce functions and Ctrlr in order to make them available, etc...
So, if I get some explanations, I can find time to contribute to this nice project.
Thx!

Image drawing in Lua is there and always was, please have a look at the DEMO/Rendering panel example, you will find all graphics examples there

Well, I looked at Rendering already before but didn't find what I'm after.
I'd like to be able to open .jpg files on the disk and display them within
a panel.
This without having the images as resources beforehand.
If it is in render.panelz can you please indicate me where (I'm using
5.3.201 maybe you added this in a more recent version)
Thx!
2018-06-07 15:15 GMT+02:00 Roman Kubiak<EMAIL_ADDRESS>
Image drawing in Lua is there and always was, please have a look at the
DEMO/Rendering panel example, you will find all graphics examples there
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/RomanKubiak/ctrlr/issues/70#issuecomment-395415943,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATiixAGC_pgWwsf04nTiEWUVXLheo3rsks5t6SdegaJpZM4TdSo_
.


forts query for web.py is taking very long

SELECT
            fs.fort_id,
            fs.id,
            fs.team,
            fs.prestige,
            fs.guard_pokemon_id,
            fs.last_modified,
            f.lat,
            f.lon
        FROM fort_sightings fs
        JOIN forts f ON f.id=fs.fort_id

            WHERE (fs.fort_id, fs.last_modified) IN (
                SELECT fort_id, MAX(last_modified)
                FROM fort_sightings
                GROUP BY fort_id
            )

is taking a very long time...
select count(*) from fort_sightings; returns 12813
select count(*) from forts; returns 1221

okay, i see, you store every sighting of those gyms, you could display a history of those. one solution would be to only keep the most current sighting (unique index on fort_sightings.fort_id and REPLACE instead of INSERT). i'll see if adding an index or two can help.
PS: it looks like it can be rewritten without a subquery. i'm at it
PS2: this one executes immidiately and should do the same:
SELECT fs.fort_id, fs.id, fs.team, fs.prestige, fs.guard_pokemon_id, MAX(fs.last_modified), f.lat, f.lon FROM fort_sightings fs JOIN forts f ON f.id=fs.fort_id GROUP BY fs.fort_id;

Probably related to the issue of fort prestige not properly updating, often staying stuck at lvl 9 and 49500~ ish prestige rather than going to lvl10. I got bunch of gyms like that

Pull requests welcome. It's quite possible some queries and indexes could be optimized.


No color or fisheye data when starting the ROS node

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 16.04

Kernel Version (Linux Only)
4.15.0-32-generic

Platform
PC

SDK Version
2.15.0

Language
C++/ROS

Segment
Robot

Issue Description
I am currently configuring the launch file for the ros node. I am able to get infra1, infra2, depth but am unable to get the color and fisheye data. The camera is connected to a USB3.0 port using a USB3.0 cable (30 cm). What is wrong here?
When I start the ROS node I have the following output:

[1534757520.848485592][/camera/realsense2_camera_manager][Loader::Impl::advertiseRosApi]: Initializing nodelet with 8 worker threads.
[1534757520.869583993][/camera/realsense2_camera_manager][RealSenseNodeFactory::RealSenseNodeFactory]: RealSense ROS v2.0.3
[1534757520.869617942][/camera/realsense2_camera_manager][RealSenseNodeFactory::RealSenseNodeFactory]: Running with LibRealSense v2.15.0
[1534757520.986994803][/camera/realsense2_camera_manager][BaseRealSenseNode::getParameters]: getParameters...
[1534757521.055857808][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: setupDevice...
[1534757521.055886817][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: JSON file is not provided
[1534757521.055907451][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: ROS Node Namespace: camera
[1534757521.055927014][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Device Name: Intel RealSense D430
[1534757521.055942651][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Device Serial No:<PHONE_NUMBER>61
[1534757521.055958216][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Device FW version: <IP_ADDRESS>
[1534757521.055973744][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Device Product ID: 0x0AD4
[1534757521.055989028][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Enable PointCloud: On
[1534757521.056002997][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Align Depth: On
[1534757521.056017079][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Sync Mode: On
[1534757521.056176363][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Device Sensors:
[1534757521.056290955][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: Stereo Module was found.
[1534757521.056421438][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: (Color, 0) sensor isn't supported by current device! -- Skipping...
[1534757521.056441221][/camera/realsense2_camera_manager][BaseRealSenseNode::setupDevice]: (Fisheye, 0) sensor isn't supported by current device! -- Skipping...
[1534757521.056477323][/camera/realsense2_camera_manager][BaseRealSenseNode::setupPublishers]: setupPublishers...
[1534757521.058801910][/camera/realsense2_camera_manager][FrequencyDiagnostics::FrequencyDiagnostics]: Expected frequency for depth = 30.00000
[1534757521.062074395][/camera/realsense2_camera_manager][BaseRealSenseNode::setupStreams]: setupStreams...
 20/08 11:32:01,062 WARNING [140297040021376] (sensor.cpp:338) Unregistered Media formats : [ UYVY ]; Supported: [ ]
[1534757521.063968326][/camera/realsense2_camera_manager][BaseRealSenseNode::enable_devices]: depth stream is enabled - width: 1280, height: 720, fps: 30
[1534757521.070513551][/camera/realsense2_camera_manager][BaseRealSenseNode::publishStaticTransforms]: publishStaticTransforms...
[1534757521.070636106][/camera/realsense2_camera_manager][BaseRealSenseNode::publishTopics]: RealSense Node Is Up!
 20/08 11:32:01,073 WARNING [140296356611840] (backend-v4l2.cpp:872) Empty frame has arrived.
 20/08 11:32:01,073 WARNING [140296356611840] (backend-v4l2.cpp:872) Empty frame has arrived.
 20/08 11:32:01,073 WARNING [140296356611840] (backend-v4l2.cpp:872) Empty frame has arrived.
 20/08 11:32:01,073 WARNING [140296356611840] (backend-v4l2.cpp:872) Empty frame has arrived.

 Based on the logs, it is not supposed to have color or fish-eye streams.

The camera I have is an Intel D430 sensor module combined with the Intel D4 Board.

Allright that clears it up (will close issue). Thank!


OTAR015 - CRISPR: Review project data and publication to understand scope of data and importance for Platform

The plan is to use the CRISPR data that was generated as part of the Sanger Cancer Dependency Map as evidence and potentially as target annotation in the Open Targets platform.
To do:

[x] Summary of data as described in the publication draft
[x] Get tour of the cancer dependency map app (Andrew to organise?)
[x] Get the data files with different values (Bayesian factors, scaled bayesian factors and log-fold changes before/after CRISPcleanR correction)
[x] Disease mapping for cancer cell lines

@MichaelaEBI has discussed with Miguel P and proposal is to include evidence under Pathways and System Biology.

Disease mapping for the cancer cell lines has been done and I will look into this very soon:
All cell lines that have been crispr'ed are included on our new website the Cell Model Passports, which can be found on cellmodelpassports.sanger.ac.uk. On the downloads page, the top file is a list of all of our models. These have been annotated with various identifiers and names, as well as (in order of granularity) tissue, cancer type and cancer type details. The latter is also mapped to NCIThesaurus terms.
Alternatively, all this information is available through the api at api.cellmodelpassports.sanger.ac.uk/models - the documentation for the API can be found on the website under the user guides.

Progress of the OTAR015 data inclusion can be followed here: #163


Euclid Algorithm for finding GCD

Algorithm:  Euclid Algorithm
For finding Greatest common divisor
Languages Supported:
C
C++
python
java
javascript

Hello reviewers,
May I work on this issue using C++.

I could work on the same in Python :)

@HarshCasper  ??

can i work on the same in java ?

@harsh-9in Please go ahead with C++
@GSNCodes  Please go ahead with Python
@rohitm131 Please go ahead with Java

Can i work on the same in c @vijayaGB98?

@Vrindagupta6828 Yes go ahead with implementation in C.

Can I work on this using C.

I can work on this in Javascript


Finalize documentation

Add the following

Information about obtaining the base qcow files
How to export json reports
Fix Neo4j documentation - a lot is missing

Finished with commit cbfc31774da8ffb5be3d9a34aa3f16240f8e5e00 and merge 1988439b147d6ad164d4d5a99fb22aba9c121a40


Embed image (set additional parameters)

Please add additional parameter for the function dv.fileLink
User case
In markdown file I'm using this kind of standard image embedding:
![[cover.jpg#invert_W|150]]

cover.jpg  - File
#invert_W - Additional CSS that apply for specific image
150 - Specification of dimensions in px

I would like to set these parameters in the function dv.fileLink. Something like:
dv.fileLink(p.cover, true, dimension, CSS)

Hello,
did you try to add your #invert_W to the file link via string concatination? Also, there is already a function having the parameter options you want: dv.sectionLink
These both solutions work for me:
dv.span(dv.fileLink(p.cover + "#css", true, "150"))

dv.span(dv.sectionLink(p.cover,"#css", true, "150"))

Does one of these satisfy your request?

Yes!!!! Amazing. Both solutions works! It will be amazing have it in documentation:
https://blacksmithgu.github.io/obsidian-dataview/api/code-reference/#dvfilelinkpath-embed-display-name
Thank you

I'll add this issue to the documentation board to add an appropiate hint to the fileLink function description.

Description 1
dv.span(dv.fileLink(p.cover + "#CSS", true, "integer"))  =>  Embed image with additional CSS formatting and fixed size
dv.span(dv.sectionLink(p.cover,"#CSS", true, "integer")) =>  Embed image with additional CSS formatting and fixed size
Description 2
dv.span(dv.fileLink(p.cover + "#CSS", true, 150))  =>  Embed image from YAML field "Cover" as string with additional img class CSS formatting with fixed size 150px
dv.span(dv.sectionLink(p.cover,"#CSS", true, "150)) =>  Embed image from YAML field "Cover" as string with additional img class CSS formatting with fixed size 150px

p.cover - YAML field "cover" contains name of image as string - example:"image.jpg"
-#CSS -  Apply additional img class CSS (defined in Snippets folder) - example: "#invert_B"
integer  - Specification of dimensions in px - example: "150"


update project dependencies

How this works:

Since project requires python 3.10, updated in pyproject.toml
Updates mypy version to 0.982 minimum to avoid issue here https://github.com/numpy/numpy/issues/22412

pypoetry/virtualenvs/hyperliquid-python-sdk-y6lYbV5e-py3.10/lib/python3.10/site-packages/pkg_resources-stubs/__init__.pyi:329:79: error: Positional-only
parameters are only supported in Python 3.8 and greater  [syntax]

@traderben I removed it, but if the latest commits require python 3.10 to build, why keep it as part of pyproject.toml instead of having people upgrade versions? Seems strange to allow a version that is not compatible with building the repo.

@traderben I removed it, but if the latest commits require python 3.10 to build, why keep it as part of pyproject.toml instead of having people upgrade versions? Seems strange to allow a version that is not compatible with building the repo.

Which commits require python 3.10? Apologies if something slipped through testing. The project is set up to allow users to use 3.8+, but development requires 3.10

@traderben I removed it, but if the latest commits require python 3.10 to build, why keep it as part of pyproject.toml instead of having people upgrade versions? Seems strange to allow a version that is not compatible with building the repo.

Which commits require python 3.10? Apologies if something slipped through testing. The project is set up to allow users to use 3.8+, but development requires 3.10

oh ye my bad that's only for developers looking to build this repo, but there's still people using the sdk with older versions, disregard.

I'm unable to install with python 3.8:
AttributeError: cython_sources

  at ~/Library/Application Support/pypoetry/venv/lib/python3.8/site-packages/poetry/installation/chef.py:152 in _prepare
      148│
      149│                 error = ChefBuildError("\n\n".join(message_parts))
      150│
      151│             if error is not None:
    → 152│                 raise error from None
      153│
      154│             return path
      155│
      156│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with pyyaml (6.0) not supporting PEP 517 builds. You can verify this by running 'pip wheel --use-pep517 "pyyaml (==6.0)"'.

Is supporting development with other versions of python important for you? I'm going to approve the other PR that bumps the mypy dependency without changing the supported development version of python

closign 0.981 was merged