Fix Python CI jobs.

The current Python CI jobs seem to assume the bundle will never be updated by referencing the bundle by exact version. They don't specify a static bundle to actually download though, so every time the bundle updates the CI will break.
I've fixed this by specifying the expected bundle as the one to download under the assumption that is what we want to test. We could also test the latest version, but that seems like it could break unexpectedly if there are changes to the Python extractor.
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.

Is the issue here that it's using the bundle from the virtual environment instead of whatever is the latest for this branch? Why did that cause a failure? Can you link to the logs as I didn't spot any failures?
Note there's another job in this workflow. You've only changed the job for windows. I'd expect both want to be kept in sync.
I haven't really thought it through but I'd argue that perhaps all the CI jobs in this repo should be specifying "latest".
Also cc. @Daverlo on this PR

Is the issue here that it's using the bundle from the virtual environment instead of whatever is the latest for this branch? Why did that cause a failure?

It does neither of those. It always uses the codeql-bundle-20200826 bundle. It's a hard-coded string in https://github.com/github/codeql-action/blob/fb7d0f72e5c5fbf2c353ab72c3e9200487c15188/.github/workflows/python-deps.yml#L116.

Can you link to the logs as I didn't spot any failures?

https://github.com/github/codeql-action/actions/runs/328696002

Note there's another job in this workflow. You've only changed the job for windows. I'd expect both want to be kept in sync.
I haven't really thought it through but I'd argue that perhaps all the CI jobs in this repo should be specifying "latest".

The other one always uses the version from the virtual environment so it doesn't break as easily (though it could still break arbitrarily when the environment is updated). It does seem like probably both the jobs are wrong, but only one is broken.

I've updated both the Windows and Linux tests to always use the latest bundle. I think this is probably the best thing to test because it ensures new bundles work before we start using them rather than after. It also means tests won't break when the environment updates.

The Linux job previously used whatever CodeQL bundle was included in the Actions environment it was running in, meaning:

Whenever the CodeQL bundle is updated the new bundle is not tested against the Python setup scripts.
If the environment is updated with an incompatible CodeQL bundle the CI on this repository will break.

Both of those seem like undesirable properties.

If the environment is updated with an incompatible CodeQL bundle the CI on this repository will break.

This is the part that I'm not understanding. How would the environment be updated?

The default CodeQL Bundle comes from the Actions virtual environments. They are periodically updated get their bundle from whatever is the latest bundle referenced in main. So what would happen is:

Someone updates the CodeQL Bundle with a pull request against main. This would previously be untested because the tests use the CodeQL Bundle from the environment, not the one referenced in main.
A new virtual environment is built using the new bundle. This is also untested because the CodeQL Action CI does not get run on virtual environment updates.
The new virtual environment is rolled out on ring 0 and the tests now start trying to use it for all new PRs. The best case is it's a problem with the tests and the CI on this repository is failing until the problem is fixed. The worst case is it's a problem with the new bundle that no tests were run for until after we started rolling it out.

I knew there were some changes in the process of releasing a new bundle, but I wasn't aware all this amazing work was done and now we are using the Actions virtual environments. That explains it, thanks!
Lets merge this?


TF Transform dds filterings

I've got it running on my environment too! (Jazzy-Harmonic) :)
But I get bunch of the timestamp on the message is earlier than all the data in the transform cache message on rviz.
I've heard the ROS2 is not stable with DDS and I see https://answers.ros.org/answers/418094/revisions/ mentioning that replacing to cyclone dds would be more stable and fix this problem.
Did you bumped into this problem too? Could I just ignore? It seems the message shows more as simulation runs.
P.S. I've removed cyclonedds entiredly from my jazzy-harmonic installation script (it caused too much pain to install)

If all the ROS 2 nodes are running on the same computer then DDS with rmw_fastrtps should not be a problem. The issue with rwm_fastrtps is UDP multicast node discovery on lossy networks (eg. wifi). This looks to be more of a time sync issue: perhaps Gazebo sim_time vs wall clock time vs flight controller time.
ArduPilot now has a DDS interface, so I should revisit this repo and look to replace the mavros integration with calls into the AP_DDS library, or at least provide that as an alternative implementation.


Extract train-test-val splits metadata

We need to use this code to extract the train-test-val splits into a separate file and upload it to the project's bucket. The notebook can be run with this data, just needs unzipping.

In our own data exploration step I've extracted the data akin to the authors.
The metadata files (full dataset's and the splits) can be found in the bucket.


Add opacity option to text and clock

Whilst it is possible to adjust the brightness of the overall image in response to changing lux I found the bright white of the clock and image text can be a bit overpowering - this patch exposes the ImageColor alpha value of the two text overlays so they can be adjusted in the config file and reduce the contrast.
This is the simplest version of the idea, I was considering a 0-100% proportional value and possibly enabling the value being adjusted using mqtt but thought starting simple would be best.

Probably worth adding a value into DEFAULT_CONFIG so if it's not present in the yaml it doesn't combust.

In addition to this I'd been tweaking a few other things whilst learning how it all hangs together, I guess a feature request with a stab at the proposed changes isn't that common - not sure how you'd all like it proffered, the developer FAQ page in the wiki is missing so more than happy debating and tweaking to get the submission right

Hi @simontrimmer. This is a quite small project and we don't have any guidelines.
I would recommend, that you open a Discussion about your planned feature enhancements.
If you're done create a pull request to dev branch. I can pull the enhancements to dev and we can test it. (Some of course, if you have some bug fixes).
From time to time I merge dev to main and create a release.  So we try to have in dev always a stable version.

Hiya @helgeerbe - I just posted a brief write up to get things rolling (https://github.com/helgeerbe/picframe/discussions/265)
Good, I mentioned in that post that I'm used to a different CI system and the gerrit code review system appears to be much more iterative than the obvious one on github - changes can be commented on and reforged a few times until they are good and merged into a branch. Still working out how to do that on this platform, I wonder if it's a coarse as force pushing to my fork of the dev branch as the commits are amended, but I've not had chance to see how PR's work in practice and whether they track the changing branch or whether they reflect a specific point in time.
On the guidelines, I think they might have been vestigial - I was looking at the navigation pane on the right hand side of https://github.com/helgeerbe/picframe/wiki

Hi @simontrimmer, I guess we just use a fraction of the capabilities of GitHub. If you have ideas how to professionalize the workflow, you are more than welcome to share your thoughts and contribute.
Bye the way, I just notice just changing the target branch to dev, seems not not work. There are too many unwanted commits from the main branch. So I would do some cherry picking to pull just your commits into dev.

Hiya @helgeerbe - as I'm just getting started wth it I wouldn't dare suggest a workflow, I'll start off by getting my own methods sorted and see how it goes over a few iterations.
I'll tweak the things that we'd talked about in the thread with @paddywwoof and republish the change, getting keyboard time is more difficult than making the changes to the code this week!


Bm/migrate to torch

This PR contains PyTorch integration, new ways to define pipelines for static datasets, and major speed upgrades
This PR should not introduce any breaking changes. However, the overhaul is major, so unintended changes are likely. Any change in behavior is a bug and should be reported as an issue.
The one exception is the tensorflow has been removed as a dependency. Maintining a tensorflow dependency is no longer feasible since they do not support major python versions on windows at all. Moreover, due to layout changes in tensorflow, uninstalling or changing tensorflow versions can leave the package system in a unrepairable state. As such, I suggest we leave tensorflow installation to the user, which will rightly direct inevitable complaints to tensorflow instead of us.
Global changes
Many submodules are now lazy loaded. This means they are only actually initialized if needed. Particularly the modules containing tensorflow code. The benefits are:

Significantly faster initial load.
Allows users that do not need the NN side of DeepTrack to omit tensorflow as a dependency
Ensures that TF does not hog all CUDA memory or cause interference with pytorch

Sources
Sources are a new way to operate on static datasets. They aim to solve a few common problems. Consider the following common pipeline:
train_paths = glob.glob("train/*")
test_paths = glob.glob("test/*")

train_image = dt.LoadImage(itertools.cycle(train_paths)) >> dt.NormalizeMinMax()
test_image = dt.LoadImage(itertools.cycle(test_paths)) >> dt.NormalizeMinMax()

augmented_train_image = dt.Reuse(train_image, 4) >> dt.FlipLR() >> dt.FlipUD()

Though very simple, this approach (which is the recommended approach) is actually very limited.

itertools.cycle means that every time you evaluate the pipeline, you change the state. This can be frustrating when visualizing data, where images drawn will change every time you run the cell, and will depend on how many times the pipeline was evaluated before.
There is no way to allow random access. If you want the 320th sample in the training dataset, you need to evaluate the feature that many times to access it. Assuming itertools.cycle is at the start. If it is not, you need to manually determine where it is in the cycle, and figure out how many times to evaluate to get to the desired point.
You need to manually calculate the total number of datapoints in your dataset if, for example, you want to evaluate on the entire test dataset, or create a training dataset that contains every image.
You often find that you need to maintain several pipelines, one for training, one for testing and one for validation. In this case, it's manageable, but for more complex pipelines it often leads to bugs.
The way Reuse works (stores the last used image 4 times here) means that the pipeline can feel "stuck". Say you have 32 augmented views of each image. This would mean you'd need to evaluate the feature 32 times to get a new source image. For visualization, this is painful.

All to say, the current approach is not optimized for static datasets.
Introducing Sources
Sources are, in brief, a way to separate the variables of a pipeline from the definition of the pipeline. The aim is to make the pipeline (as much as possible) functional. As in, only dependent on the direct input of the pipeline pipeline(source).
To introduce, here's the above pipeline using the new syntax:
train_paths = dt.sources.ImageFolder(root="train")
test_paths = dt.sources.ImageFolder(root="test")

train_sources = train_paths.product(flip_lr=[False, True], flip_ud=[False, True])
test_sources = test_paths.product(flip_lr=[False], flip_ud=[False])
sources = dt.sources.Sources(train_sources, test_sources)

pipeline = dt.LoadImage(sources.path) >> dt.FlipLR(sources.flip_lr) >> dt.FlipUD(sources.flip_ud)

train_paths = dt.sources.ImageFolder(root="train") is a source that finds the images in a root folder and its subfolders. It then exposes the attributes .path, .label, .label_name which a feature can depend on. These operate almost identically to properties. So dt.LoadImage(path=train_paths.path) would pull the active (I'll get back to what active means) path of train_paths when evaluated.
train_sources = train_paths.product(flip_lr=[False, True], flip_ud=[False, True]): .product mirrors the itertools.product behavior. It creates a new source with the extra attributes flip_lr and flip_ud, combined with the original source like a nested for-loop:

for path in paths:
    for flip_lr in [False, True]:
        for flip_ud in [False, True]:
             path, flip_lr, flip_ud

sources = dt.sources.Sources(train_sources, test_sources): Creates a unified accessor for the sources. It means that sources.path can pull from train_sources or test_sources depending which was last active.
pipeline = dt.LoadImage(sources.path) >> dt.FlipLR(sources.flip_lr) >> dt.FlipUD(sources.flip_ud): standard deeptrack pipeline. Note that we now only need to define one pipeline for the evaluation.

To evaluate the pipeline, we now simply do one of:
x = pipeline(train_sources[320])
# or
for source in test_sources[20:40]:
    image = pipeline(source)

if we want to iterate over paths, not augmentations, we can do
for source in train_paths:
    image = pipeline(source)

It should be clear that this solves all the issues from the current implementation. Moreover, this separation of logic allows for far more complexity, since we can define interesting ways of operating on sources that would not be possible on Features directly.
There are a few more points that I'll mention briefly. I've included a sources.NumpyRNG implementation, which is a source that can be used for seeded pipeline evaluation. Here, each source index has a unique seed.
Finally. There is a known bug. If using non-deterministic features like Gaussian, it will produce the same noise pattern for every source, unless you call .update() between evaluations. I have not decided how to solve this.
Pytorch integration
All pytorch code is currently in the lazy-loaded pytorch submodule. In the future, we might import some of it into the global namespace. Currently, we have two classes in pytorch:
pytorch.Dataset
Subclass of torch.data.utils.Dataset, which takes a deeptrack pipeline and creates a dataset that is compatible with standard DataLoaders. You either need to specify a length of the dataset, or preferrably a Source. Continuing the example from above:
train_dataset = dt.pytorch.Dataset(pipeline, train_sources)
test_dataset = dt.pytorch.Dataset(pipeline, test_sources)

pytorch.ToTensor
A convenience Feature that can (and should) be added to the end of pipelines to convert the output to pytorch tensors. Also supports setting the dtype which is critical since numpy default is float64 and pytorch (usually) expects float32.
Speed gains
Don't skip this, it is also important.
I've managed to make features singificantly faster. A simple pipeline such as dt.LoadImage(path) >> dt.Resize((28, 28)) >> dt.NormalizeMinMax is now ~5-10x faster than before.
However, to enable this gain, you need to enable a config option dt.config.disable_image_wrapper(). This makes deeptrack not use Image internally. This is a breaking change and must therefore for now be in a config option. Not all features support this option. Notably all optics rely on it. So my recommendation is to only enable it for static datasets, not synthetic, for now.
Without Image, we can no longer do image.get_property("sigma"). While this was a convenience, I found it to rarely be used. You could just as well add it as an additional output of the pipeline: pipeline = pipeline & noise.sigma`.
How this migration will pan out is not entirely clear yet, but for now I would suggest not using .get_property if it can be avoided.

Should close #172

Nice work!
Small comments:

I like the sources. I agree that the noise behavior should be updated automatically.
ToTensor is also good. Also good that it automatically converts to float32 (it should be the default)

About the speed enhancement, does it mean that the .get_property() method cannot be used internally, or in general?
Because we are relying on it in some of the examples. If the plan is to remove, we should avoid it completely. We can discuss the details in person.

Nice work!
Small comments:
1. I like the sources. I agree that the noise behavior should be updated automatically.

2. ToTensor is also good. Also good that it automatically converts to float32 (it should be the default)

About the speed enhancement, does it mean that the .get_property() method cannot be used internally, or in general? Because we are relying on it in some of the examples. If the plan is to remove, we should avoid it completely. We can discuss the details in person.

You're right. I think torch has some api like torch.default_float() or something that returns the dtype expected by default. We can use that as the default out of ToTensor.
In general, sadly. My best case would be to remove it. But that might be too much of a breaking change.

@BenjaminMidtvedt
I get this warning:
DeepTrack-2.0/deeptrack/scatterers.py:100: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if upsample is not 1:  # noqa: F632
I guess, "# noqa: F632" should be removed from line 100 of scatterers.py?

@giovannivolpe
It's a frustrating warning because it is actually important that it is a "is not" instead of !=. If upsample is an array, != results in an another array instead True or False.

The noqa comment is to silence the linter about the same issue


Enhance Thread Usability with Custom Tools and Collections Integration

Is your feature request related to a problem? Please describe.
It's challenging to enhance each thread's functionality due to the inability to add specific tools and collections on a per-thread basis.
Describe the solution you'd like
I would like the capability to add various tools and collections to individual threads, allowing for a more tailored and efficient user experience.
Describe alternatives you've considered
N/A - The main focus is on the flexibility of integrating tools and collections per thread.
Additional context
This feature would align OpenAI Assistant's usability with users' expectations for customization and efficiency in managing different tasks or conversations.

Thanks for the suggestion. We'll discuss the feasibility of the feature soon


feat: Breez redeem onchain funds

I couldn't fully test this (Currently waiting on a Greenlight update to v0.11.0-rc.2).

you make things so nice! <3


Black background in dropped WebP images with transparent background

When you insert a WebP image in Excalidraw that has transparency, the background becomes black:

This also happens when you insert the WebP image using the "Insert Image" button.
Here is the example image I am using: https://i.postimg.cc/Sxb3bBqF/example-e.webp
Related issue that mentions the issue for GIFs: #8776
Related PR that introduced support for WebP images: #6500

Hi @pal03377 I understand this issue, can I take this up ?

Hi @pal03377 I understand the issue, can I take this up ?

Hi @vedant-3010 ! That would make me extremely happy! 🎉


[bug] Bootstrap Balances Panic

Fixes # .
Motivation

Solution

Open questions

Pull Request Test Coverage Report for Build 6507

4 of 4 (100.0%)  changed or added relevant lines in 2 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.3%) to 58.565%

Files with Coverage Reduction
New Missed Lines
%

configuration/configuration.go
4
82.63%

Totals

Change from base Build 6492:
-0.3%

Covered Lines:
506

Relevant Lines:
864

💛  - Coveralls


Trigger rebuild on changes to cbuild-set.yml

Describe the bug
Currently there is no rebuild triggered when the cbuild-set.yml file changed. This may create strange issues like shown below with this example: CubeMX_Basic_solution.zip
To Reproduce

Build with generators: option in  *.csolution.yml. This works nicely.

> cbuild CubeMX_Basic_solution\CubeMX.csolution.yml --context-set
+-------------------------------------------------------
(1/1) Building context: "CubeMX.Debug+STM32U585AIIx-RAM"
Building CMake target 'CubeMX.Debug+STM32U585AIIx-RAM'
:
[40/40] Linking C executable C:\Test\Oct14\demo2\CubeMX_Basic_solution\out\CubeMX\STM32U585AIIx-RAM\Debug\CubeMX.axf
Program Size: Code=37890 RO-data=858 RW-data=12 ZI-data=7428
+------------------------------------------------------------
Build summary: 1 succeeded, 0 failed - Time Elapsed: 00:00:03

Remove generators: option in  *.csolution.yml. Build again, this fails and it is expected as CubeMX files are not found.

> cbuild CubeMX_Basic_solution\CubeMX.csolution.yml --context-set
C:/Test/Oct14/demo2/CubeMX_Basic_solution/STM32CubeMX/STM32U585AIIx-RAM/CubeMX.cgen.yml - error csolution: cgen file was not found, run generator 'CubeMX' for context 'CubeMX.Debug+STM32U585AIIx-RAM'
error csolution: processing context 'CubeMX.Debug+STM32U585AIIx-RAM' failed

Change *.build-set.yml to select target CubeMX.Debug+STM32U585AIIx. Build again, this fails (but should work as all files are there).  Note: A Rebuild works as expected.

> cbuild c:\Test\Oct14\demo2\CubeMX_Basic_solution\CubeMX.csolution.yml --context-set
+---------------------------------------------------
(1/1) Building context: "CubeMX.Debug+STM32U585AIIx"
CMake Error:
  Running

   'C:/Users/reikei01/.vcpkg/artifacts/2139c4c6/tools.ninja.build.ninja/1.12.0/ninja.exe' '-C' 'C:/Test/Oct14/demo2/CubeMX_Basic_solution/tmp' '-t' 'restat' 'build.ninja'

  failed with:

   ninja: error: failed recompaction: Permission denied

Expected behavior
The cbuild command should not fail.
A potential solution: When file cbuild-set.yml has a newer timestamp that previous build information files, trigger a rebuild.
Environment:

CMSIS-Toolbox 2.6.1
OS: Windows

The issue could not be reproduced. Following the provided steps yielded the expected results; modifying the cbuild-set.yml successfully triggered a rebuild.
$ cbuild CubeMX.csolution.yml -S
+-------------------------------------------------------
(1/1) Cleaning context: "CubeMX.Debug+STM32U585AIIx-RAM"
+-------------------------------------------------------
(1/1) Building context: "CubeMX.Debug+STM32U585AIIx-RAM"
Building CMake target 'CubeMX.Debug+STM32U585AIIx-RAM'
[1/40] Building ASM object
...
[40/40] Linking C executable C:\Sandbox\Test\CubeMX_Basic_solution\out\CubeMX\STM32U585AIIx-RAM\Debug\CubeMX.axf
Program Size: Code=37890 RO-data=858 RW-data=12 ZI-data=7428
+------------------------------------------------------------
Build summary: 1 succeeded, 0 failed - Time Elapsed: 00:00:09
+============================================================

$ cbuild CubeMX.csolution.yml -S
C:/Sandbox/Test/CubeMX_Basic_solution/STM32CubeMX/STM32U585AIIx-RAM/CubeMX.cgen.yml - error csolution: cgen file was not found, run generator 'CubeMX' for context 'CubeMX.Debug+STM32U585AIIx-RAM'
error csolution: processing context 'CubeMX.Debug+STM32U585AIIx-RAM' failed

$ cbuild CubeMX.csolution.yml -S
+---------------------------------------------------
(1/1) Cleaning context: "CubeMX.Debug+STM32U585AIIx"
+---------------------------------------------------
(1/1) Building context: "CubeMX.Debug+STM32U585AIIx"
Building CMake target 'CubeMX.Debug+STM32U585AIIx'
[1/40] Building ASM object
...
[40/40] Linking C executable C:\Sandbox\Test\CubeMX_Basic_solution\out\CubeMX\STM32U585AIIx\Debug\CubeMX.axf
Program Size: Code=37590 RO-data=858 RW-data=12 ZI-data=7428
+------------------------------------------------------------
Build summary: 1 succeeded, 0 failed - Time Elapsed: 00:00:08
+============================================================

It appears that you are using the Visual Studio extension, which triggers the cbuild command upon saving the cbuild-set.yml file, while simultaneously executing the cbuild command manually from the terminal. This results in two parallel cbuild commands—one initiated by the extension and the other by the terminal—competing to perform the same tasks on a shared resource.

cannot be reproduced anymore.  Might have been an effect of a previous VS Code extension.


Fix typos of Chapter 5 and Appendix A3

Description of field rrid_transl_prog "A write-1-set bit is ..." should be "A write-1-clear bit is ..." in Chapter 5.
Field md_entry_num should be at bit 23:17 in Chapter 5.
Fix typo for description of SRCMD_PERMH(m) in Chapter 5.
Fix typo at first paragraph in Appendix A3.

LGTM


Spin up a container app locally

Describe the issue
For onboarding, Kevin is spinning up a local version of the AWS containers app
Additional context
Add any other context, attachments or screenshots
Definition of done

Spin up local version
Fix any code-drift via PRs
If there are any code fixes, Get PRs reviewed by Prabhu and Ukeme (do a meeting the first time
During standup, ask questions/provide feedback and ask for meetings if needed to explain/discuss

I've open a small PR to improve the readme about a lacking dependency
https://github.com/bcgov/startup-sample-project-aws-containers/pull/86


Tr/help

PR Type
enhancement, dependencies

Description

Refactored the PR help message tool to utilize the full documentation content for answering questions, replacing the previous method of retrieving similarity results from various databases.
Updated the logic to read and prioritize markdown files from the documentation, ensuring that priority files are processed first.
Modified the response handling to focus on relevant sections of the documentation instead of snippets, improving the accuracy of the answers.
Updated the system prompts to reflect the changes in how documentation content is used, and adjusted the output format to include relevant sections.
Removed unused dependencies related to langchain and chromadb from the requirements.txt file.

Changes walkthrough 📝
Relevant filesEnhancement

pr_help_message.pyRefactor PR help tool to use full documentation content

pr_agent/tools/pr_help_message.py
Removed methods for retrieving similarity results from various databases.  Added logic to read and prioritize markdown files from documentation.  Updated the method to prepare and clip documentation content for AI processing.  Modified the response handling to use relevant sections instead of snippets.

+43/-114

pr_help_prompts.tomlUpdate prompts to align with full documentation usage

pr_agent/settings/pr_help_prompts.toml
Updated system instructions to use full documentation content.  Changed output format to use relevant sections instead of snippets.  Added new class definition for relevant sections.

+14/-10

Dependencies

requirements.txtClean up unused dependencies from requirements

requirements.txt

Removed dependencies related to langchain and chromadb.

+0/-6

💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

Preparing review...


support agent grpc reconnection over serial port

For yamux over serial connections, there can be only one serial connection, and when kata proxy quits, such connection is closed and thus the agent grpc server quits.
To support kata proxy reconnection, we need to listen and accept on the serial file again after existing grpc server quits.
Fixes: #213

@devimc updated. PTAL.

@devimc are you OK with the PR now?

@kata-containers/agent CI green. PTAL.


Move the user-code plugin to more idiomatic C++

In GitLab by @jbigot on Dec 15, 2017, 16:35

mentioned in commit ee6e725f49c43a7ed808684bc2861217ac11ac69

mentioned in commit 3a37a8377f824a1d5a4f0250088974d7c607c13b

closed via merge request !92

closed via commit 3a37a8377f824a1d5a4f0250088974d7c607c13b


feat(breadcrumb-ellipsis): added children to props

Closes #1354
Description
For customization of breadcrumbEllipsis, added children to props
Is this a breaking change (Yes/No):
No

@hoshico
Please run pnpm changeset and select a minor.
The previous BreadcrumbEllipsis's changeset was also missing, so please also add an explanation for adding BreadcrumbEllipsis.


An embedded page at ms-devlabs.gallerycdn.vsassets.io says Could not connect to backend for real time communication

When tried to start new estimate session or join estimate session below shown popup appears with message "An embedded page at ms-devlabs.gallerycdn.vsassets.io says Could not connect to backend for real time communication" and redirects to Estimates page. Simply cannot start or join an estimate session. Checked with AAD backed organization account and with personal accounts of Azure DevOps. Behavior is same.

This seems to got fixed now.


import with absolute file path not working

Environment
Node.js v19.3.0
Typescript 4.8.4
jiti 1.16.0
Reproduction
Easy to reproduce
Describe the bug
From src/app.ts, import { xxx } from './auth'  works as expected by import { xxx } from src/auth won't work:
Error: Cannot find module 'src/auth'
Require stack:
- /root/dev/xxx/src/app.ts
    at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)
    at Function.resolve (node:internal/modules/cjs/helpers:109:19)
    at _resolve (/root/dev/xxx/node_modules/.pnpm/jiti@1.16.0/node_modules/jiti/dist/jiti.js:1:243302)
    at jiti (/root/dev/xxx/node_modules/.pnpm/jiti@1.16.0/node_modules/jiti/dist/jiti.js:1:245428)
    at /root/dev/xxx/src/app.ts:20:13
    at jiti (/root/dev/xxx/node_modules/.pnpm/jiti@1.16.0/node_modules/jiti/dist/jiti.js:1:247502)
    at Object.<anonymous> (/root/dev/xxx/node_modules/.pnpm/jiti@1.16.0/node_modules/jiti/bin/jiti.js:16:1)
    at Module._compile (node:internal/modules/cjs/loader:1218:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
    at Module.load (node:internal/modules/cjs/loader:1081:32)
    at Module._load (node:internal/modules/cjs/loader:922:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:82:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/root/dev/xxx/src/app.ts' ]
}

With ts-node both work as expected.
Additional context
No response
Logs
No response

Hi. You probably are defining aliases in tsconfig. jiti uses isolated environment (not reading them)

(please ping to reopen if you feel it is unexpected behavior)

So is there any config that I can make sure custom path aliases defined in tsconfig.json are picked up?


Laravel 10.x Compatibility

This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 9.x.
Before merging, you need to:

Checkout the l10-compatibility branch
Review all comments for additional changes
Thoroughly test your package

If you do find an issue, please report it by commenting on this PR to help improve future automation.

:warning: The latest version of Laravel has a dependency for phpunit/phpunit of ^9.5.10. If you would like to also upgrade your tests, you may run the PHPUnit 9 Shift for free.

:warning: Shift detected GitHub Actions which run jobs using a version matrix. Shift attempted to update your configuration for Laravel 10. However, you should review these changes to ensure the desired combination of versions are built for your package.

:alembic: Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch.
To do so, temporarily add Shift's fork to the repositories property of your composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/laravel-shift/laravel-postgresql-enhanced.git"
        }
    ]
}

Then update your dependency constraint to reference this branch:
{
    "require": {
        "tpetry/laravel-postgresql-enhanced": "dev-l10-compatibility",
    }
}

Finally, run: composer update


Nemo?

Hi there! I just stood up the application locally and the branding says "Nemo" instead of "Elmo". What does Nemo stand for?

Hahaha, understood! Thanks!
A related side note, is there documentation about the user interface somewhere I have not come across yet? Or if that documentation doesn't exist is that an opportunity for a open source contribution to the project?

Yes http://elmo-nemo.readthedocs.io/
It's under heavy development right now. Contributions are certainly welcome.


[vcpkg] [Android]Compile armv6 with arm mode

Compile armv6 with arm mode

@dan-shaw, could you help further review?

I change this setting because when I compile with default armeabi setting curl for amrv6 it get exception on runtime.
from android.toolchain.cmake file on the ndk 15c:
if(ANDROID_ABI MATCHES "armeabi")
	if(ANDROID_ARM_MODE STREQUAL thumb)
		list(APPEND ANDROID_COMPILER_FLAGS
			-mthumb)
	elseif(ANDROID_ARM_MODE STREQUAL arm)
		list(APPEND ANDROID_COMPILER_FLAGS

The default is thumb and it cause exception on run time when running curl command.
if(NOT ANDROID_ARM_MODE)
	set(ANDROID_ARM_MODE thumb)
endif()

I will close this PR, because arm mode is good for our project, maybe for other project it not good:
https://stackoverflow.com/questions/10638130/what-is-the-arm-thumb-instruction-set
https://stackoverflow.com/questions/25720012/native-components-armeabi-v7a-and-thumb
I will not delete this PR, because to let other people know about this for their android ndk armeabi project.

I was thinking to re-open this PR
I think it better to use arm mode then thumb mode,
Because even I try to compile all the client in our open source with thumb flag, I still get an exception in run time when call curl method.
When everything is compile with arm mode it don't happen.

@PhoebeHui @dan-shaw


retry not working for EINCOMPLETE error.

download.js is throwing error in case of incomplete download. However the error handler is not retrying the request because the error EINCOMPLETE is not added to the errorcodes list.
var errorCodes = [    'EADDRINFO',    'ETIMEDOUT',    'ECONNRESET',    'ESOCKETTIMEDOUT'];
.on('error', function (error) {            var timeout = operation._timeouts[0];
 // Reject if error is not a network error
if (**errorCodes.indexOf(error.code) === -1**) {
  return deferred.reject(error);
 }

I am also facing this issue. Could you please include this fix in the next release?

@jacobuk and @manoharnv,
Thanks for reporting this.
We'll look into this soon and let you know.

@manoharnv, thanks for the precise fix location in the code!
@jacobuk and @manoharnv,
We've just pushed this commit as @manoharnv suggested and published version 2.0.9.
Please let us know if the new release resolve the issue.

Thanks for the quick response! Will try it out and update you next week.


rust: update to edition2021

Relevant Issue (if applicable)
N/A
Details
Since we are using cargo 1.68.2 we don't need to require edition 2018 any more.
Types of changes
What types of changes does your PullRequest introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Go over all the following points, and put an x in all the boxes that apply.

[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

I have used cargo fix --edition to make sure no new issues were created. Ref: https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html.


show return type when exception is thrown

Would be great to see the return type of x(5) regardless of the exception.
@ def x[T](t: T): T = ???
defined function x
@ x(5)
scala.NotImplementedError: an implementation is missing
	scala.Predef$.$qmark$qmark$qmark(Predef.scala:225)
	cmd8$.x(Main.scala:61)
	cmd9$$anonfun$1.apply$mcI$sp(Main.scala:62)
	cmd9$.<init>(Main.scala:63)
	cmd9$.<clinit>(Main.scala:-1)

What's the use case of this?

Ammonite can be used for type-inference exploration, but this makes it slightly harder. I was experimenting with some implicits to see how scala would infer things. I didn't implement their bodies, so I got exceptions and didn't see the messages. In this case if would have been nice to see what Scala inferred for List(1,2,3) * List(2,3,4): https://github.com/lihaoyi/Ammonite/issues/221

Closing as wishlist because I doubt I'd ever get to it, it would require substantial changes in the synthesized code wrapper, and the savings of 4 characters ()=> is not sufficient to win me over =P


Provide a binary to spin ephemeral testnet

Desired behavior:

it spins all of the clients and cross connects to each other (vanguard, pandora, validator, orchestrator) MVP: localhost only
Supports Linux and MacOSX (MVP), Windows right away after we have those onboard
allows you to point yourself into validator keys
allows you to insert ECDSA address for a miner reward
allows you to provide nickname for ethstats

@patred20 @mxmar I need:

shell script body to run pandora
shell script body to run orchestrator
shell script body to run vanguard
shell script body to run validator
genesis.ssz and genesis.json for ephemeral network stored in gcloud or ipfs
stable bootnodes for pandora and vanguard


Uploads with leading hyphen in upload id

Uploads with leading hyphens in the upload id are not closed by closeuploads.sh (there might be other issues with this cases as well).
See also https://github.com/aws/aws-cli/issues/1319, especially note the option to specify arguments with the name='value' syntax (which works).

For mulipart-upload.sh this was fixed in #11 and #12.

Fixed the issue for aborting connections in #16


Store a table name inside TulipaVariable and TulipaConstraint

With the table_name, we use a different constructor, based only on
the connection and table name.

@datejada, I think this might be useful in the future, so I did it in a separate PR.
If you check this link, https://github.com/TulipaEnergy/TulipaEnergyModel.jl/pull/950/files?w=1, you can see the differences excluding whitespace changes, which in this case is very helpful.
This PR creates the tables for variables and constraints and then creates the TulipaVariable and TulipaConstraint dictionaries using only the connection and the table name. This PR also stores the table name in the variable and constraint objects, which might be useful and cleaner as well.


Api 3839 refactor dynamo client

Dynamo client is now a class that only uses the document api for dynamo. Use of the client changed accordingly.

Overall I do not have any suggestions to this branch. I like the refactoring. Having a DynamoClient that was dependent on a Dynamo Object was a strange pattern. I am glad this takes care of it. Also, the old DynamoClient naming conventions were obscured as we added more tables. For example, saveToDynamo saved to the refresh token table where as saveToDynamoAccessToken saved to the client credentials table. Its good that the methods are more generic now. Finally, this PR increased the overall code coverage from 84% to 87%!

Overall I do not have any suggestions to this branch. I like the refactoring. Having a DynamoClient that was dependent on a Dynamo Object was a strange pattern. I am glad this takes care of it. Also, the old DynamoClient naming conventions were obscured as we added more tables. For example, saveToDynamo saved to the refresh token table where as saveToDynamoAccessToken saved to the client credentials table. Its good that the methods are more generic now. Finally, this PR increased the overall code coverage from 84% to 87%!


Leaderboard download fails if leaderboard only contains one page

kaggle competitions leaderboard --download lux-ai-2021                                                                          ✔  kaggle 
Traceback (most recent call last):
  File "/usr/local/Caskroom/miniforge/base/envs/kaggle/bin/kaggle", line 11, in <module>
    sys.exit(main())
  File "/usr/local/Caskroom/miniforge/base/envs/kaggle/lib/python3.9/site-packages/kaggle/cli.py", line 67, in main
    out = args.func(**command_args)
  File "/usr/local/Caskroom/miniforge/base/envs/kaggle/lib/python3.9/site-packages/kaggle/api/kaggle_api_extended.py", line 831, in competition_leaderboard_cli
    self.competition_leaderboard_download(competition, path, quiet)
  File "/usr/local/Caskroom/miniforge/base/envs/kaggle/lib/python3.9/site-packages/kaggle/api/kaggle_api_extended.py", line 784, in competition_leaderboard_download
    self.download_file(response, outfile, quiet)
  File "/usr/local/Caskroom/miniforge/base/envs/kaggle/lib/python3.9/site-packages/kaggle/api/kaggle_api_extended.py", line 1584, in download_file
    size = int(response.headers['Content-Length'])
  File "/usr/local/Caskroom/miniforge/base/envs/kaggle/lib/python3.9/site-packages/urllib3/_collections.py", line 152, in __getitem__
    val = self._container[key.lower()]
KeyError: 'content-length'

The content-length property is not set if the leaderboard is returned in one response (instead of being paginated).

Duplicate of #357


Can't cancel NextTweetStreamAsync

when i use NextTweetStreamAsync the way it is described in the examples i can not stop/cancel it. It results in a "Too many Streams error" from twitter.
Task.Run(async () =>
{
    // Take in parameter a callback called for each new tweet
    // Since we want to get the basic info of the tweet author, we add an empty array of UserOption
    await client.NextTweetStreamAsync((tweet) =>
    {
        Console.WriteLine($"From {tweet.Author.Name}: {tweet.Text}");
    }, null, Array.Empty<UserOption>());
});

when i add a cancellationToken i can control it:
public async Task NextTweetStreamAsync(Action<Tweet> onNextTweet, CancellationToken cancellationToken, TweetOption[] tweetOptions = null, UserOption[] options = null, MediaOption[] mediaOptions = null)
{
    var req = new RequestOptions();
    AddTweetOptions(req, tweetOptions);
    AddUserOptions(req, options, true);
    AddMediaOptions(req, mediaOptions);
    var res = await _httpClient.GetAsync(_baseUrl + "tweets/search/stream?" + req.Build(), HttpCompletionOption.ResponseHeadersRead, cancellationToken);
    BuildRateLimit(res.Headers, "NextTweetStreamAsync");
    using StreamReader reader = new(await res.Content.ReadAsStreamAsync(cancellationToken));
    while (!reader.EndOfStream && !cancellationToken.IsCancellationRequested)
    {
        var str = reader.ReadLine();
        if (string.IsNullOrWhiteSpace(str))
        {
            continue;
        }
        onNextTweet(ParseData<Tweet>(str).Data);
    }
}

I will investigate this further and create a pull request if i find a suitable solution. Maybe a general Dispose function to avoid the specific cancellationToken and prevent breaking changes.
Am i doing something wrong?
Any thoughts or ideas?

Hey, thanks for the bug report, as if I'm not sure what the issue could be but I'll see if I can reproduce it and find a fix
Meanwhile if you find the solution, feel free to share it :)

I created a branch with my approach: Dispose Client
It has no breaking changes and all tests run successfully.

Looks good but what happens if the user call NextTweetStreamAsync twice?

Looks good but what happens if the user call NextTweetStreamAsync twice?

I am not sure if this is even a wanted behavior:

"No disconnection needed to add/remove rules using rules endpoint."  (Filtered Stream Endpoints overview)
The redundancy feature looks like it is supposed to be used with independent HttpClients or even redundant Systems: "A redundant connection simply allows you to establish more than one simultaneous connections to the filtered stream. This provides redundancy by allowing you to connect to the same stream with two separate consumers, receiving the same data through both connections. Thus, your app has a hot failover for various situations such as if one stream is disconnected or if your application's primary server fails."
and it is only available to academic access "Filtered stream currently only allows Projects with Academic Research access to connect to up to two redundant connections. To use a redundant stream, simply connect to the same URL used for your primary connection. The data for your stream will be sent through both connections." (Filtered Stream Endpoints overview)

If this is the case, i can:

implement some kind of "singleton" logic which returns to multiple actions from a single stream. With this "solution" the problem is to handle different options-parameter
cancel and re-request the stream with new parameter. Vice versa we had the problem with the old actions and potential diffenrent options

If we want to allow multiple streams with one httpClient i can think of storing an array of cancallation tokens and Actions for cancallation.

Uhm yeah, if you could at least add a small message in the XML comment on top of the function I think it could be nice, maybe using the  tag or something so it stand-out a bit?

Closed with pull request #16


micro-deposits: don't require x-user-id on admin route to read

Fixes: https://github.com/moov-io/paygate/issues/232

Codecov Report

Merging #234 into master will decrease coverage by 0.2%.
The diff coverage is 42.1%.

@@            Coverage Diff             @@
##           master     #234      +/-   ##
==========================================
- Coverage   58.54%   58.34%   -0.21%
==========================================
  Files          31       31
  Lines        4287     4302      +15
==========================================
  Hits         2510     2510
- Misses       1282     1295      +13
- Partials      495      497       +2

Impacted Files
Coverage Δ

depositories.go
61.31% <ø> (ø)
:arrow_up:

microDeposits.go
64.03% <42.1%> (-1.72%)
:arrow_down:

accounts.go
78.08% <0%> (-2.74%)
:arrow_down:

internal/database/mysql.go
58.66% <0%> (-2.67%)
:arrow_down:

Continue to review full report at Codecov.

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


Facing issue with angular ui-router 1.0.5 and angular 1.6.5 in IE11 browser Ask

ui-router is causing an issue in the IE11 browser, Everything is working fine in chrome, firefox, and even IE10. getting following error in the browser console.
Current Behavior:
SCRIPT5022: [$injector:modulerr] Failed to instantiate module TestApp due to:
TypeError: Object.keys: argument is not an Object
   at _extend (https://example.com/scripts/vendor.09a8eb90.js:100012:9)
   at Anonymous function

I'm pasting the ui-router code here where exactly causing an issue.
function _extend(toObj) {
    for (var i = 1; i < arguments.length; i++) {
        var obj = arguments[i];
        if (!obj)
            continue;
        var keys = Object.keys(obj);
        for (var j = 0; j < keys.length; j++) {
            toObj[keys[j]] = obj[keys[j]];
        }
    }
    return toObj;
}

Any guesses of why this happening would be greatly appreciated.

I suspect one of the arguments to this function is null or undefined.  _extend is used extensively, so it's impossible to know what the root cause is without a stack trace (with sourcemaps so its not all vendor.??????.js)
This could be a bug in ui-router, or in your code (sometimes ui-router uses your configuration as second/third arguments to this fn)

Any updates?  Did you try debugging?

Just a note for others that run into this (because this is a top search result in google).
Issue was with my usage of a transition hook:
    doStuff();
  });```

The first param should be an object:
```$transitions.onSuccess({ from: "app.somestate.**"} , (transition) => {
    doStuff();
  });```

Reference: https://ui-router.github.io/guide/transitionhooks

@christopherthielen Not sure if there is better way to have error checking around this but it was a convoluted road to find out that this is what IE11 was complaining about (Chrome/FF had no issue with it being a string)

Just a note for others that run into this (because this is a top search result in google).
Issue was with my usage of a transition hook:
$transitions.onSuccess("app.somestate.**", (transition) => {
    doStuff();
  });

The first param should be an object:
$transitions.onSuccess({ from: "app.somestate.**"} , (transition) => {
    doStuff();
  });

Reference: https://ui-router.github.io/guide/transitionhooks
@christopherthielen Not sure if there is better way to have error checking around this but it was a convoluted road to find out that this is what IE11 was complaining about (Chrome/FF had no issue with it being a string)


ARROW-5111: [Go] implement reading list arrays from Arrow file

needs #4155

Codecov Report

Merging #4157 into master will decrease coverage by 27.23%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           master    #4157       +/-   ##
===========================================
- Coverage   87.89%   60.65%   -27.24%
===========================================
  Files         758       67      -691
  Lines       92163     4883    -87280
  Branches     1251        0     -1251
===========================================
- Hits        81006     2962    -78044
+ Misses      11040     1812     -9228
+ Partials      117      109        -8

Impacted Files
Coverage Δ

go/arrow/ipc/file_reader.go
0% <0%> (ø)
:arrow_up:

go/arrow/ipc/metadata.go
0% <0%> (ø)
:arrow_up:

python/pyarrow/ipc.pxi

cpp/src/arrow/csv/chunker-test.cc

cpp/src/parquet/column_page.h

cpp/src/parquet/bloom_filter-test.cc

cpp/src/arrow/array/builder_decimal.cc

cpp/src/plasma/client.cc

cpp/src/arrow/io/test-common.h

cpp/src/arrow/util/int-util-test.cc

... and 683 more

Continue to review full report at Codecov.

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

PTAL @stuartcarnie @alexandreyc @nickpoorman


Correct usage of WaitForInputIdle, use IsHungAppWindow

some code style fixes.

Current coverage is 96.46%

Merging #154 into UIA will decrease coverage by -0.06% as of 25cd0c4

@@              UIA    #154   diff @@
=====================================
  Files          31      31
  Stmts       17317   17354    +37
  Branches        0       0
  Methods         0       0
=====================================
+ Hit         16716   16740    +24
  Partial         0       0
- Missed        601     614    +13

Review entire Coverage Diff as of 25cd0c4

Powered by Codecov. Updated on successful CI builds.


react native error: Must pass all fields to buffer

I use the order "react-native init ApplicationTest" created project,and run as Xcode,and they told me error"Must pass all fields to buffer - expected 5, saw 3".how to solve this?

+1 I'm getting the same.

I'm getting this too, here is the full stacktrace. Seems to come from RCTWebView (which I don't use in my code) and/or RCTNetworking module.
[tid:com.facebook.React.JavaScript] 'Error: `WebView` has no propType for native prop `RCTWebView.shouldInjectAJAXHandler` of native type `BOOL`
stack:
verifyPropTypes        index.ios.bundle:22980
requireNativeComponent  index.ios.bundle:22814
<unknown>               index.ios.bundle:36478
require                 index.ios.bundle:254
<unknown>               index.ios.bundle:1523
require                 index.ios.bundle:254
<unknown>               index.ios.bundle:1438
require                 index.ios.bundle:254
require                 index.ios.bundle:200
<unknown>               index.ios.bundle:48928
URL: http://<IP_ADDRESS>:8081/index.ios.bundle
line: 22983
message: `WebView` has no propType for native prop `RCTWebView.shouldInjectAJAXHandler` of native type `BOOL`'
2015-07-07 14:50:59.807 [warn][tid:com.facebook.React.JavaScript] 'Unable to load source map: RCTNetworking module is not available'
2015-07-07 14:50:59.809 [error][tid:com.facebook.React.JavaScript][RCTBridge.m:1351] Must pass all fields to buffer - expected 5, saw 3

This is caused by having a stale copy of the javascript code on your machine. See https://github.com/facebook/react-native/issues/1606

Sorry I'm not sure I'm following you... Do you mean a stale copy of React-Native or a stale copy of my actual code (like using some concepts that are no longer supported in React-Native API) ?

You have an old copy of the React Native javascript code cached on your machine that conflicts with the latest native code. There are instructions in the comments in the issue I linked to for how to clear the cache.

Unfortunately, doesn't work for me. I am having the @ilansas error being thrown straigh away when I run app with --reset-cache. It looks like a bug as these checks shouldn't throw during runtime for core packages? I have only one react-native 0.8 version installed.

Unfortunately, this doesn't work for me. Still getting that issue about shouldInjectAJAXHandler and I only have one react-native installed (0.8). The issue occurs when I click login with facebook button  - app redirects me to the Safari. When I come back, that red box appears straight away. Tried to debug react-native-facebook-login but they are not referring to WebView at all.

BTW, this issue will happen also when you have two copies of your app installed on the device and you use e.g. facebook-login that redirects back to your app. In my case, the wrong app was being opened and (despite the fact debugging worked flawlessly) the wrong (older) RCTWebView was used throwing the error about AJAX handler.

I am facing the same error while loading RCTWebView on Android app. I tried to reset the cache and that did not help.
'WebView' has no proptype for native prop RCTWebView.domStorageEnabledAndroid of native type 'boolean'
verifyPropTypes
verifyPropTypes.js:53
requireNativeComponent
requireNativeComponent.js:90


Cloudwatch log group - is it possible for the aws_cloudwatch_log_group resource to update existing log groups which are created by lambda without destroying them ?

I have issues
while updating retention policy for the existing Cloudwatch log groups. I have some log groups which are created by lambda's . So i wanted to the change the retention policy for the those log groups . I tried to to redeploy those lambda with attached log groups who have same name as previous and added the retention policy to it . But it failed so I used terraform import to import existing log groups and add retention policy. It worked but it destroyed current log groups and created it again with updated log retention policy. So i want to know is there is any workaround this situation ?
I'm submitting a...

[x] bug report

[ ] feature request
[ ] support request - read the FAQ first!
[ ] kudos, thank you, warm fuzzy

What is the current behavior?
After importing the existing log group if you update those log group it destroy them and recreated with update .
If this is a bug, how to reproduce? Please include a code sample if relevant.
terraform import aws_cloudwatch_log_group.example_log_group /aws/lambda/existing_log_group_name
resource "aws_cloudwatch_log_group" "example_log_group" {
name              = "/aws/lambda/existing_log_group_name"
#change in existing log groups retention_policy
retention_in_days = 90
}
What's the expected behavior?
It should update the existing log groups without destroying them .Just update the policy to them.
Are you able to fix this problem and submit a PR? Link here if you have already.
Environment details

Affected module version:
OS:osX
Terraform version:Terraform v0.11.2

Any other relevant info

Not sure what you are asking here or what this module has to do with any log groups for AWS Lambda?

@max-rocket-internet I was asked to modify a retention policy of a cloudwatch log group that is not managed by the terraform. So tried to update the cloudwatch log group using terraform with the same name as the existing but it failed so I raised this question.  If this is wrong forum to ask this question then please guide me to right forum to address this issue. Thank you.

If you want to manage something created outside of Terraform with Terraform, you have to import it first.
But if you want to continue to manage the cloudwatch log group outside of Terraform, maybe we can a variable like (cluster_manage_cloudwatch) here https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/cluster.tf#L2 to enable or disable cloudwath log group creation.

@barryib  I tried importing but it was recreating a cloudwatch log group. so  I didn't follow that path. plus I don't have permission to do such actions in the prod environment.

No. I am not deploying eks cluster . Can you provide me a link to aws provider or lambda module repository module ??

@ameynawar I don't even know what you're using or trying to do. Maybe Google will have more answers ?
Closing this. Feel free to re-open it if you start using this module to deploy an EKS cluster.


Play Angular example upgraded to Play 2.6

Hi Paul,
I would like to congratulate you for this library, it's very nice and quite simple to use.
I allowed myself to upgrade the code in the play-angular example in order to make it to compile and show how can be implemented in the new Play 2.6 release, I hope to have done an acceptable job.
Best regards.

Thx


Test errors with 2018.06

Which is weird, because it was working somewhere else. This is an Ubuntu 16.04 LTS
===SORRY!===
Function 'Pod::Defn' needs parens to avoid gobbling block (or perhaps it's a class that's not declared or available in this scope?)
at /home/jmerelo/progs/forks/perl6/Pod-To-HTML/lib/Pod/To/HTML.pm (Pod::To::HTML):147
------>         }⏏<EOL>
Missing block (apparently claimed by 'Pod::Defn')
at /home/jmerelo/progs/forks/perl6/Pod-To-HTML/lib/Pod/To/HTML.pm (Pod::To::HTML):147
------>         }⏏<EOL>

===> Testing [FAIL]: Pod::To::HTML:ver<0.3.21>
Aborting due to test failure: Pod::To::HTML:ver<0.3.21> (use --force-test to override)

I'm compiling again 2018.06. Maybe I didn't have the latest version or something...

Same thing. Do I need to install master?

That class is undefined and looking at earlier changes by @jonathanstowe looks like it should be named Pod::DefnList instead.

In fact, Rakudo includes Pod::Defn but the problem is that the version I have does not return that yet. Was that released?

Ah. No, it existed in Rakudo only for 13 days.
The module should either be patched with a backcompat shim or the changes reverted entirely. It's required by p6doc and a couple of other modules, which means they're now broken.


bug: wrong width of title in

Type: bug
Platform: all
I just found a bug on <ion-header-bar> migrating from the beta13 to beta14 :(
The width of title is calculated from the number of characters in buttons but it's hardly wrong when it's an angular expression...
See this codepen for practical exemple : http://codepen.io/anon/pen/OPbKxy
The workaround I found is to set angular expression via ng-bind instead of {{ }}

Greetings, @loicknuchel!
We are now requiring all issues to be submitted through our custom issue form so that we have all of the information necessary to fix them as quickly as possible.
Your progress on this issue has been saved at the following url:
link to Ionic issue form
This issue will be closed if not resubmitted through the form. Please fill out the rest of the form so that we may assist you.
Thank you for allowing me to assist you.

Confirmed. Interesting find, thanks for bringing it to our attention.

We're having the same issue when using translated titles with angular-translate. Is there any workaround for it?

Can confirm.

Hi @javiercr, I proposed a workaround in my first post : using ng-bind instead of {{}}

@loicknuchel ops! Sorry didn't see that before, I'll give it a try. Thanks!

I've seen this issue with translate="key" as well.

I've replaced:

{{ 'my_translation_key' | translate}}

with

But I have the same problem, in other words, the ng-bind workaround doesn't work for me :/

Ops, I just noticed that the ng-bind workaround should be applied to the button, not to the title. It's now working for me like this:

<button class="button button-clear" ng-bind="'translated_button_key' | translate"></button>

For me, following workaround seems to fix it:
app.controller "YourCtrl", ($scope, $timeout, $ionicNavBarDelegate) ->
  $scope.$on '$ionicView.afterEnter', ->
    # force recalculation of navbar title width
    $timeout ->
      $ionicNavBarDelegate.align("left") # or center/right depending what u use

Jacek
http://izmirpirlanta.com/etoro-front
24.03.2015, 14:51, "Jacek Tomaszewski" notifications@github.com:For me, following workaround seems to fix it:
app.controller "YourCtrl", ($scope, $timeout, $ionicNavBarDelegate) ->
$scope.$on '$ionicView.afterEnter', ->
# force recalculation of navbar title width
$timeout ->
$ionicNavBarDelegate.align("left") # or center/right depending what u use
—Reply to this email directly or .

So yeah, there's not much we can do were. How angular's internals work, the variable name will actually render for a split second, causing the misalignment. Using ngBind will resolve this issue.
Closing this as it is not an issue with ionic, but angular-core.


chore: downgrade go version to 1.19

Slack Thread: https://atlanhq.slack.com/archives/C0503DYRV8A/p1720422366564069?thread_ts=1720422041.339659&cid=C0503DYRV8A

Closing PR. Atlan go has other dependency issues
# github.com/go-openapi/swag
../../pkg/mod/github.com/go-openapi/swag@v0.23.0/string_bytes.go:7:29: undefined: unsafe.StringData


DataTable Error No Objects to Concat

System Information

OS: MacOS Big Sur
Python version:
Python environment: pip / conda conda
Using jupyter: true / false true
Datapane version: 0.11.2

Bug / Issue
Hi,
I created a dataframe in my script and named it as summaryfile. Now when I run a script to create a data table,
dp.Report(dp.DataTable(summaryfile)).upload(name = "sample")
this returns an error, "No Objects to Concatenate".
Would love to get help for this! thanks.

Thanks for raising - this is fixed in version 0.11.10


PHPLIB-1206 Allow global registration of GridFS buckets with gridfs:// protocol

Fix PHPLIB-1206
Fix https://github.com/mongodb/mongo-php-library/issues/1137
Allows to register an alias for the stream wrapper. File urls looks like:
gridfs://<bucket-alias>/<filename>

Where <bucket-alias> is an alias for the bucket
$client = new Client();
$bucket = $client->selectDatabase('test_db')->selectGridFSBucket();
$bucket->registerGlobalStreamWrapperAlias('mybucket');

file_put_contents("gridfs://mybucket/filename.txt", 'Hello GridFS!');

if (file_exists("gridfs://mybucket/filename.txt")) {
    echo file_get_contents("gridfs://mybucket/filename.txt") . PHP_EOL;
}

Todo:

[x] Add reference doc for the method Bucket::registerGlobalStreamWrapperAlias

A couple of high level questions about the API. Let's take this code from the PR description:
$bucket = $client->selectDatabase('test_db')->selectGridFSBucket();
$bucket->registerAsDefaultStreamWrapper();

file_put_contents("gridfs://test_db/fs.files/filename.txt", 'Hello GridFS!');

If we're already registering a bucket as the default stream wrapper, why does the URI still contain the database and bucket names? The bucket instance is tied to a client, database, and bucket, so I'd expect to use something like this:
file_put_contents('gridfs://filename.txt', 'Hello GridFS!');

This might create conflicts with us using GridFS internally. However, we can work around that by registering a new stream wrapper for each bucket:
$client->selectDatabase('test_db')->selectGridFSBucket()->registerStreamWrapper('foo');
$client->selectDatabase('test_db')->selectGridFSBucket(['name' => 'cache'])->registerStreamWrapper('cache');

file_put_contents('foo://filename.txt', 'Hello GridFS!'); // Writes to the fs.files collection
file_put_contents('cache://filename.txt', 'Hello GridFS!'); // Writes to the cache.files collection

This CI failure looks relevant:
1) MongoDB\Tests\GridFS\StreamWrapperFunctionalTest::testOpenSpecificRevision
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
-'version 1'
+'version 0'

/home/runner/work/mongo-php-library/mongo-php-library/tests/GridFS/StreamWrapperFunctionalTest.php:300

I noticed some other CI failures related to Atlas Search spec tests failing to match error messages, but that's probably related to DRIVERS-2794 as it only fails on mongodb-latest.


Error when loading attachments to Gmail

Hey guys,
I get an error when loading attachments to Gmail email.
Cleared cache but it didn't help.
Screenshots attached
(Version 5.6.1 on Windows)

I have the same problem. Adding image attachments to email in Gmail keeps failing with different errors in Franz. On Windows the upload window just closes without an error, but also without adding the image. On Mac the upload always times out. Works fine in Gmail in the browser on Windows and Mac.

Can confirm with version 5.6.1 on Ubuntu 20.04 LTS.

Any updates on this from maintainers? That's the most annoying issue that forces thinking of not using the service at all :/ I really love the app, but this issues makes it super difficult to work with mail..

I've been experiencing this issue for a long time.  Can confirm it exists on older versions as well. I'm having this issue on 5.5.0 too.


Too many arguments / Unexpected keyword argument errors with mypy --strict

Bug
Please complete:

OS: MacOS 10.14.6
Python version: 3.7.4 (default, Jul  9 2019, 18:13:23)
[Clang 10.0.1 (clang-1<IP_ADDRESS>)]
Pydantic version: 0.32.2

The issue is similar to #280, but that seems to have been fixed and a part of version 0.32.2 that I've used. I also believe the cause is different.
My MWE:
from pydantic.dataclasses import dataclass

@dataclass(frozen=True)
class Person:
    name: str

Person(name="Bob")

When I type-check it with mypy main.py, it runs without errors, as expected. However, when I run it with mypy --strict main.py (or, more specifically, mypy --no-implicit-reexport main.py), I get
error: Module 'pydantic.dataclasses' has no attribute 'dataclass'; maybe "dataclasses"?
error: Unexpected keyword argument "name" for "Person"

(or, similarly, for Person("Bob"), I get error: Too many arguments for "Person")

--no-implicit-reexport By default, imported values to a module are treated as exported and mypy allows other modules to import them. This flag changes the behavior to not re-export unless the item is imported using from-as or is included in __all__. Note this is always treated as enabled for stub files.
(https://buildmedia.readthedocs.org/media/pdf/mypy/latest/mypy.pdf, p.122)

This would lead me to believe that there's an issue with my or pydantic's imports, but it is just a theory.
For now, I hope to work around this by calling mypy without --no-implicit-reexport, but I suspect other people will get there when using mypy --strict. In general, I'd be happy to know if there's a solution to this. Thanks!

See https://github.com/python/mypy/issues/6239, and see here:
https://github.com/samuelcolvin/pydantic/blob/5015a7e48bc869adf99b78eb38075951549e9ea7/pydantic/dataclasses.py#L100-L101
To get all mypy's dataclass specific goodness we try to fool mypy into thinking pydantic.dataclasses.dataclass is just a re-export of the vanilla dataclass.
It might be possible to fool it with something like:
import dataclasses
dataclass = dataclasses.dataclasses

If this works, the solution is is simple and I'll accept a PR to fix that. If for some reason that doesn't work, you'd need to ask the mypy people how to proceed.
The other solution is to extend the nascent pydantic mypy plugin to work with pydantic dataclasses #722?

Thanks for the reply and explanation. I think that beyond perhaps adding this into the docs, I'm out of my depth here. Might create a PR for that in the coming weeks.

should be fixed in #783 which I'll finish tomorrow, if you need this urgently it could be based off v0.32.x and released as a patch?

The other option is to just use
from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from dataclasses import dataclass
else:
    from pydantic.dataclasses import dataclass

@dataclass(frozen=True)
class Person:
    name: str

Person(name='Bob')

Until pydantic v1 is released.

Samuel, thanks for following through on this. I can wait for that for a bit, especially since I have the liberty to just turn that one mypy check off.
If that's something you wanted, I could also verify that #783 fixes my issues once its done.

I see that this was closed but I am still seeing this issue as well. I am on pydantic 1.6.1


Subspecs cleanup

This covers some of the same stuff as https://github.com/neonichu/Rome/pull/11/ but I've also extracted some of the constants that were used multiple times. There's still 1 issue with this that it doesn't work correctly with dependencies (like Fabric/Crashlytics) that are precompiled binaries.
On the subspecs front I believe we also need the uniq I have in this script for specs that have a default subspec (my test has been APAddressBook)

@keith we can probably address framework-only pods by directly copying any vendored frameworks over direct

@segiddins awesome yea, I haven't gotten that far just yet but figured we should combine forces

maybe @neonichu would be kind enough to give us push access? might make sense to start writing specs for this.

@segiddins @keith sure, I'll add you

:heart:

@neonichu @segiddins anything I should update before merging this?

Seems fine to me

:+1:


Add split mode

using Enzyme

julia> f(x) = x^2
f (generic function with 1 method)

julia> ((tape, res), backward) = Enzyme.forward_back(f, Active, Active(2.0))
((Ptr{Nothing} @0x0000000003da4c80, 4.0), Enzyme.Compiler.AdjointThunk{typeof(f), Active{Float64}, Tuple{Active{Float64}}, Nothing}(f, Ptr{Nothing} @0x00007fc41b835060, nothing))

julia> backward(Active(2.0), 1.0, tape)
(4.0,)

~@wsmoses I don't understand why I have to pass Active(1.0) to the backwards pass. I expected it to be Active(2.0)~

You should be passing Active(2.0)
d/dx x^2 = 2x = 4 (evaluated at 2)

Superceeded by https://github.com/EnzymeAD/Enzyme.jl/pull/664


Update html2parser to ^3.10

This updates the html2parser dependency in mjml-parser-xml to the recently released minor version ^3.10. It mostly fixes bugs with SVG / CDATA parsing:
https://github.com/fb55/htmlparser2/pull/235
https://github.com/fb55/htmlparser2/pull/254
When running yarn upgrade html2parser@latest, a lot of unrelated dependency updates were pulled in, I separated those into another commit to avoid a misleading diff.
Let me know if I need to adjust anything else for this PR, never worked with Lerna before. Thanks!

We'll do a bit of cleaning for next beta and try to update as many package as we can to the package.json. I'm closing this one atm


Add way to not prepend "/" to public-url

Hey, not sure if this is supported, but I've tried a bunch of ways and failed. I'm trying to publish a game to itch.io, and am getting 403s/404s for my assets. I notice that Trunk prepends / to all asset URLs, regardless of what I pass to --public-url. I suspect I need it to generate relative URLs to the Itch loader can find my assets.
I'd expect --public-url . or --public-url "" to achieve this, but nothing gets rid of the initial /. Am I missing something?
Thanks.

It would seem that you are looking for this: https://trunkrs.dev/assets/#directives
Let me know if that works for you.

Possibly, I'm confused by the docs. I have:

<basedata-trunk-public-url/>`

in my <head/>, but I still can't get URLs of the form
href="index...". What am I missing?
Thanks.

Hmm. Maybe just a typo in your response (which appears to have been via email), but if your base element is formed as <basedata-trunk-public-url/> (notice the missing space), then that will indeed not work. It will need to be <base data-trunk-public-url/>. Please confirm.

Odd, definitely not that way in my Sent folder. :(
IN any case, you can see my full file in context here:
https://github.com/ndarilek/rampage/blob/main/index.html#L6
Here's the line that generates my dist/:
https://github.com/ndarilek/rampage/blob/main/Makefile.toml#L13
And the result is hosted here:
https://thewordnerd.itch.io/rampage
In particular, this snippet from the HTML that embeds the index.html
into the game page:
src="//v6p9d9t4.ssl.hwcdn.net/html/3609377-381197/index.html"
Running the script as is gives:

Tacking --public-url "." onto that gives:

So now "/./", but Itch is putting my stuff at a build-specific URL, so I
really need relative URLs. I.e.:

Am I misunderstanding the directive docs? It isn't clear to me if I need
to fill out the attribute in lieu of --public-url, if that tells Trunk
to use --public-url exactly, etc.
Thanks for your help.

It isn't clear to me if I need to fill out the attribute in lieu of --public-url, if that tells Trunk to use --public-url exactly, etc.

So, public-url always defaults to / if not specified. If you set it to "" (empty string), then Trunk will remove any prefix path for your resources in the HTML. Sounds to me like that is what you want.

I'm sorry, I can't confirm that.
--public-url '' produces URLs of them form /''/index...
--public-url "" produces URLs of the form //index...
No --public-url, of course, gives me /.
Which combination am I missing? I'm on Windows FWIW, haven't
investigated what CI under Linux may be doing.
Thanks.

@ndarilek hey there. Just wanted to see if this is still an issue for you, and find out what needs to be done to resolve the issue. If everything is g2g, mind closing?

Passing --public-url="" on the command line ends up prefixing all my assets in the final dist/index.html with two /, instead of clearing the one.


cargo test fails for partially derived Arbitrary struct with confusing error

Here's a toy example I'm testing with:
[package]
name = "toy_thing"
version = "0.1.0"
edition = "2018"

[dev-dependencies]
proptest = "1.0.0"
proptest-derive = "0.2.0"
uuid = "0.8.2"

extern crate proptest;
extern crate proptest_derive;
extern crate uuid;

use proptest::prelude::*;
use proptest_derive::Arbitrary;
use uuid::Uuid;

fn arb_uuid() -> impl Strategy<Value = Uuid> {
    [
        // 16 bytes
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
        any::<u8>(),
    ]
    .prop_map(|bytes| Uuid::from_bytes(bytes))
}

#[derive(Arbitrary, Debug)]
pub struct ToyThing {
    pub name: String,
    #[proptest(strategy = "arb_uuid()")]
    pub uuid: Uuid,
}

proptest! {
    #[test]
    fn thing_works(toy in any::<ToyThing>) {
        todo!()
    }
}

Calling cargo test gets me:
error[E0277]: the trait bound `fn() -> <ToyThing as Arbitrary>::Strategy {proptest::arbitrary::any::<ToyThing>}: proptest::strategy::Strategy` is not satisfied
  --> tests/test.rs:41:27
   |
41 |     fn thing_works(toy in any::<ToyThing>) {
   |                           ^^^^^^^^^^^^^^^ the trait `proptest::strategy::Strategy` is not implemented for `fn() -> <ToyThing as Arbitrary>::Strategy {proptest::arbitrary::any::<ToyThing>}`
   |
  ::: /home/ashley/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/strategy/traits.rs:74:20
   |
74 |     fn prop_map<O: fmt::Debug, F: Fn(Self::Value) -> O>(
   |                    ---------- required by this bound in `prop_map`

error[E0277]: the trait bound `fn() -> <ToyThing as Arbitrary>::Strategy {proptest::arbitrary::any::<ToyThing>}: proptest::strategy::Strategy` is not satisfied
  --> tests/test.rs:39:1
   |
39 | / proptest! {
40 | |     #[test]
41 | |     fn thing_works(toy in any::<ToyThing>) {
42 | |         todo!()
43 | |     }
44 | | }
   | |_^ the trait `proptest::strategy::Strategy` is not implemented for `fn() -> <ToyThing as Arbitrary>::Strategy {proptest::arbitrary::any::<ToyThing>}`
   |
   = note: required because of the requirements on the impl of `proptest::strategy::Strategy` for `proptest::strategy::Map<fn() -> <ToyThing as Arbitrary>::Strategy {proptest::arbitrary::any::<ToyThing>}, [closure@/home/ashley/.cargo/registry/src/github.com-1ecc6299db9ec823/proptest-1.0.0/src/sugar.rs:954:17: 954:70]>`
   = note: this error originates in the macro `$crate::proptest_helper` (in Nightly builds, run with -Z macro-backtrace for more info)

This doesn't seem right. Debug is definitely derived there. Why doesn't this work?

Why doesn't this work?

You didn't actually call any. Try this:
fn thing_works(toy in any::<ToyThing>()) {

Thanks!


Transition Visual effects ?

A feature suggestion, it would be great to have some options to have a small effect during scroll (like https://github.com/jonathantribouharet/JT3DScrollView)

Hey @arn00s! Thanks for the idea, it is really good! 🎉
I wonder if we would need anything more than just adding this as a dependency and changing the class of our current UIScrollView. Would you be up for trying this one in a PR? No pressure tho, I can do it for you 🙇

Hey @sunshinejr !
Quick update : I just tried, but it doesn't work as intended 👎
The scroll view doesn't scroll anymore, the items are moved, and the JT3DScrollView seems to have paging enabled, so it doesn't work at all.
But may be with more research it would work !

Damn. It probably needs some more work around properties in that scroll view, but still, it might just not work at all. If you want to work on it a little bit more, you are welcome! And no pressure at all, do it when you have some spare time 🐼 🎉


Monorepo/multi-project support

Thank you for adding graphene support @jimkyndemeyer. There would be one more step needed so we could use the plugin. And again, not sure if this repo is the right one to raise the issue, but it is the entry point.
Anyway, we are having a mono-repo structure (following babel's naming scheme: https://github.com/babel/babel/blob/master/doc/design/monorepo.md), i.e. we are having multiple projects in the same repo that all are independent and have their own graphql endpoints. It would be great if within an IntelliJ project we can have mutliple graphql.config.json files. So we could have e.g. project1/frontend/graphql.config.json, project2/frontend/graphql.config.json, etc. and all js files their respective frontend folder would pick up the right config (which in our case would point to a file-path).
I know the other way we could do that is by just having one config in the root directory and then setting up an introspection endpoint for each server, but that would be quite a bit more complicated given our infrastructure and security measures, so unfortunately probably not a realistic option.
Not sure of course how difficult this is, but I would really love us being able to use these plugins.

The short answer is that this is quite complicated. See my reply in #27
This extra level of config affects all features. Error highlighting, completion, find usages, file watches etc. and the coordination between the plugin and the language service.

At some point I might have some time to look into that myself. Is https://github.com/graphcool/graphql-config then the starting point or would it be https://github.com/jimkyndemeyer/js-graphql-language-service?

I referenced graphql-config because they're working on standardising configs, and multi-project support would be another facet that they would need to document -- if this plugin was to integrate with the spec. So no code changes are needed there initially for this issue.
Several tasks come to mind:
Configuration

Decide on a design for how to configure the location of multiple graphql.config.json files. Scanning the file system could be expensive. Maybe have a root graphql.config.json which can include others?

Langugage Service:

setProjectDir has to get the info about the config locations some how, or read the "included" configs
File watches on multiple configs
Other commands: Need the file path of the buffer being completed/error annotated etc. in order tu use the correct schema. Potentially a performance hit.

Plugin:

JSGraphQLConfigurationProvider: Potentially massive changes. Also relevant is the editor notifications that tell the dev to configure graphql for the first time
Find usages should be scoped to project
"GraphQL Schema" in the project tree view should also reflect multiple configs. Maybe move to the relevant module?
Query from .graphql files: Available endpoint URLs

Probably forgot something.
/Jim.

Another idea just came to mind.
I assume that you don't need to work with GraphQL in multiple modules at the same time.
In that case, this issue becomes: "How to easily switch the "file" property in graphql.config.json and save it.
Then we need the following in a single graphql.config.json;

A list of schema.json files, e.g. "files": ["module1/schema.json", "module2/schema.json"]
An editor tab listener which picks the relevant schema file base on the current file path and saves graphql.config.json
The language service picks up on this using the file watches that are already implemented

If this is a viable approach, I'd drastically reduce the scope of this issue. Only downside is that only a single schema.json is active at a time.

Please see https://github.com/graphcool/graphql-config/issues/16 for the continuation of this.


[web]: Platform.isAndroid and Platform.isIOS crash and can't be caught

Internal: b/207023188
Supporting web is difficult because I can't detect whether the web platform is in use.
I tried !Platform.isAndroid && !Platform.isIOS, but it crashes. I used a try-catch around it. It freezes. I have to fully stop the emulator to recover. It still crashes on re-attempt.

You can use the kIsWeb constant

Yes, but that doesn't seem consistent with how I detect other platforms.
I know things are made more complex because you can be running web on an Android, but...flutter for web as a platform implies that you should be able to travel it as a platform with various flavors.
But for now, I'll wrap that constant in my own platform detector. Glad I can at least detect.

Hi. Here is the link to the sample of how flutter detects platforms. This helped me in running my app on web.
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/switch.dart#L349

/cc @kevmoo this sounds like a standard library question. Can you please triage this? (as in either close, or assign to a milestone).

@kevmoo can you please attach a milestone as well?

HI @bean5 ,
According to flutter's web Faq,  Platform.is is not supported for web.
Currently using flutter for web for production and we have came up with a workaround to detect ios / android.
You can try the following:
final List<String> _iOS = [
    'iPad Simulator',
    'iPhone Simulator',
    'iPod Simulator',
    'iPad',
    'iPhone',
    'iPod'
  ];

bool isIos() {
_iOS.map((name) {
      if (html.window.navigator.platform.contains(name) ||
          html.window.navigator.userAgent.contains(name)) {
       return true;
      }
    });
return false;
}

  bool isAndroid() =>  html.window.navigator.platform == 'Android' ||
      html.window.navigator.userAgent.contains('Android');

You can wrap these methods into a service and then use it in your flutter web application to detect the platform instead.

@EugeneTeu if you're willing to open a pull request we could patch the defaultTargetPlatform logic to expose these values in flutter directly. See https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/foundation/_platform_web.dart#L8

@jonahwilliams Would be a while before i am able to do that but sure!

Simple fix with minimal changes to your existing iOS/Android code:
import 'dart:io';
import 'package:flutter/foundation.dart';

bool get isIOS => !kIsWeb && Platform.isIOS;
bool get isAndroid => !kIsWeb && Platform.isAndroid;
bool get isWeb => kIsWeb;

Hi @bean5
The code does not work for Flutter web but you can caught the exception (see the sample code).
Will leave this open to track the issue. @jonahwilliams is the option to send a PR still opened for this issue?
sample code
import 'dart:io';

import 'package:flutter/material.dart';

void main() {
  bool android;
  try {
    android = Platform.isAndroid || Platform.isIOS;
  } catch(e) {
    print("Error");
  }
  runApp(MyApp(android));
}

class MyApp extends StatelessWidget {
  MyApp(this.android);

  final bool android;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: Scaffold(
        appBar: AppBar(
          title: Text("Is Android or iOS: $android"),
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-10.0.pre.281, on Mac OS X 10.15.6 19G2021 x86_64, locale en)
    • Flutter version 1.22.0-10.0.pre.281 at /Users/pedromassango/dev/SDKs/flutter_master
    • Framework revision 511367aa5a (11 hours ago), 2020-09-21 15:33:32 -0700
    • Engine revision 4b8477d115
    • Dart version 2.10.0 (build 2.10.0-142.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2020.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 49.0.4
    • Dart plugin version 202.7319.5

[✓] VS Code (version 1.48.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.14.1

[✓] Connected device (4 available)
    • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • macOS (desktop)             • macos         • darwin-x64     • Mac OS X 10.15.6 19G2021 x86_64
    • Web Server (web)            • web-server    • web-javascript • Flutter Tools
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 85.0.4183.102

! Doctor found issues in 1 category.
Process finished with exit code 0

@pedromassangocode  I think the solution I presented above is cleaner (no exception handling needed). It works in all platforms.

You can also use universal_platform

I wrote a service class expanding on @EugeneTeu's answer.
You can grab it here.
Basically it detects:

iOS: iOS app or web app running on iOS mobile browser
Android: Android app or web app running on Android mobile browser
web: web app running on desktop browser

You also need to import the universal_html package so it doesn't complain when you try to import the regular html package and you're not on web.
Then you import the class in your code and use it like:
PlatformService.isIOS()
PlatformService.isAndroid()
PlatformService.isWeb()
or
PlatformService.platformType()
which return a PlatformType enum (iOS, android or web).
or PlatformService.platformType().toString() if you wanna print it out.

Since the link above is down, I did a simple class to detect some cases, specially isApple (because Apple is annoying with some rules (for instance: the font of Apple Sign In Button)). I also want to show cupertino alerts instead of material, even if I'm on a browser, but on a MacOS machine.
import 'dart:html' as HTML;
import 'dart:io';

import 'package:flutter/foundation.dart';

class PlatformInfo {
  static bool _isApple;
  static bool _isAndroid;
  static bool _isIOS;
  static bool _isMacOS;
  static bool _isWindows;
  static bool _isLinux;

  static bool get isApple => _isApple ?? _getIsApple();
  static bool get isAndroid => _isAndroid ?? _getIsAndroid();
  static bool get isIOS => _isIOS ?? _getIsIOS();
  static bool get isMacOS => _isMacOS ?? _getIsMacOS();
  static bool get isWindows => _isWindows ?? _getIsWindows();
  static bool get isLinux => _isLinux ?? _getIsLinux();
  static bool get isWeb => kIsWeb;

  static void _getPlatforms() {
    if (kIsWeb) {
      _getWebPlatforms();
    } else {
      _isApple = Platform.isIOS || Platform.isMacOS;
      _isAndroid = Platform.isAndroid;
      _isIOS = Platform.isIOS;
      _isMacOS = Platform.isMacOS;
      _isWindows = Platform.isWindows;
      _isLinux = Platform.isLinux;
    }
  }

  static void _getWebPlatforms() {
    final platforms = {
      "iPad Simulator": "I",
      "iPhone Simulator": "I",
      "iPod Simulator": "I",
      "iPad": "I",
      "iPhone": "I",
      "iPod": "I",
      "Linux": "L",
      "X11": "L",
      "like Mac": "I",
      "Mac": "M",
      "Win": "W",
      "Android": "A",
    };

    var platform = "A";

    for (final name in platforms.keys) {
      if (HTML.window.navigator.platform.contains(name) || HTML.window.navigator.userAgent.contains(name)) {
        platform = platforms[name];
        break;
      }
    }

    _isApple = platform == "I" || platform == "M";
    _isAndroid = platform == "A";
    _isIOS = platform == "I";
    _isMacOS = platform == "M";
    _isWindows = platform == "W";
    _isLinux = platform == "L";
  }

  static bool _getIsApple() {
    _getPlatforms();
    return _isApple;
  }

  static bool _getIsAndroid() {
    _getPlatforms();
    return _isAndroid;
  }

  static bool _getIsIOS() {
    _getPlatforms();
    return _isIOS;
  }

  static bool _getIsMacOS() {
    _getPlatforms();
    return _isMacOS;
  }

  static bool _getIsWindows() {
    _getPlatforms();
    return _isWindows;
  }

  static bool _getIsLinux() {
    _getPlatforms();
    return _isLinux;
  }
}

here

link fixed

I wrote a service class expanding on @EugeneTeu's answer.
You can grab it here.
Basically it detects:

iOS: iOS app or web app running on iOS mobile browser
Android: Android app or web app running on Android mobile browser
web: web app running on desktop browser

You also need to import the universal_html package so it doesn't complain when you try to import the regular html package and you're not on web.
Then you import the class in your code and use it like:
PlatformService.isIOS()
PlatformService.isAndroid()
PlatformService.isWeb()
or
PlatformService.platformType()
which return a PlatformType enum (iOS, android or web).
or PlatformService.platformType().toString() if you wanna print it out.

link fixed

The problem is how do we know which API is support or not. Flutter said, flutter is stable but even flutter official APIs are also crash

The Flutter team really needs to fix this so it's consistent.
For now you guys can use this (added on from kinex)

import 'dart:io';
import 'package:flutter/foundation.dart';

bool get isIOS => !kIsWeb && Platform.isIOS;
bool get isMacOS => !kIsWeb && Platform.isMacOS;
bool get isAndroid => !kIsWeb && Platform.isAndroid;
bool get isWindows => !kIsWeb && Platform.isWindows;
bool get isLinux => !kIsWeb && Platform.isLinux;
bool get isFuchsia => !kIsWeb && Platform.isFuchsia;
bool get isWeb => kIsWeb;

We need to know under which OS, web runs on. I am using web bluetooth and I am facing different behavior on web/Mac compared to web/Windows so that I need to differentiate between them.
I believe isWeb should not be mutually exclusive with isMacOS, isWindows etc. If one wants to verify that is running as a native app on Mac he should check if isMacOS == true and isWeb == false.

@fotiDim you mean
isWebISO, isWebAndroid, for example?

One way would be to go fine grained and have additional properties like you suggest isWebIOS, isWebAndroid etc. But I believe this is too verbose. I would prefer to treat the properties as flags and have isMacOS, isWindows, isLinux, isFuchsia return true even if  isWeb returns true;
Example:
Mac native
isMacOS: true
isWeb: false
Mac web
isMacOS: true
isWeb: true
Windows web
isWindows: true
isMacOS: false
isWeb: true

@fotiDim could be difficult to implement Windows only or Mac only features that way though.

I'm in absolute shock that such elementary feature of the framework is unresolved for 3+ years...


Sanborn charts are showing incorrect data

Sanborn Objects Online and Sanborn Objects Not Online are showing today's data for all dates.
E.g., 11/12/2020 there are 35,033 online sanborns. 10/21/2020 there were 34,977. However, both days (and all other days) are appearing as 35,033.

False alert. The numbers appear identical, but this is only a visual effect caused by the temporary presence of a zero-ed out day (Nov 2, see #41 )


BI-2252 - BrAPI-Java-TestServer /search/germplasm endpoint OutOfMemoryError

I profiled the BJTS while making a POST request to the /search/germplasm endpoint with the same data that initially produced the OutOfMemoryError on rel-test.
This is memory allocation for the unmodified code:

This is memory allocation for the modified code:

While memory allocation was roughly cut in half, these changes also result in slower responses (though this isn't apparent from profiling CPU time). In my testing, the modified code took roughly 5 times longer to respond to the POST /search/germplasm request.

Closing, this change is not worth the tradeoff.


Azure Shell can't connect to the internet

Environment
Microsoft Windows [Version 10.0.18363.657]
Windows Terminal version: 0.9.433.0

Any other software? No

Steps to reproduce
Install from store
Open the Azure Cloud Shell

Expected behavior
Can connect to Azure Cloud Shell

Actual behavior
Receive the message: Could not connect to Azure. You may not have internet or the server might be down.

@rido-mn This is, unfortunately, our catch-all error message for "something failed during token exchange". Since you're internal, I can furnish you with a more verbose version ;P


Allow custom PostCSS plugins in CSS plugin

It successfully works with these plugins:
import css from "./css.js";
// import css from "https://deno.land/x/lume/plugins/css.js";
import pfm from "https://esm.sh/postcss-font-magician";
import autoprefixer from "https://esm.sh/autoprefixer";
import presetEnv from "https://esm.sh/postcss-preset-env";
import csso from "https://esm.sh/postcss-csso";
site.use(css([pfm(), autoprefixer(), presetEnv(), csso()]));

It successfully works with these plugins:
import css from "./css.js";
// import css from "https://deno.land/x/lume/plugins/css.js";
import pfm from "https://esm.sh/postcss-font-magician";
import autoprefixer from "https://esm.sh/autoprefixer";
import presetEnv from "https://esm.sh/postcss-preset-env";
import csso from "https://esm.sh/postcss-csso";
site.use(css([pfm(), autoprefixer(), presetEnv(), csso()]));

@ewired Pretty nice, but I believe esm.sh will also put in an import to the esm.sh postcss because Autoprefixer and other libraries require postcss, so this may cause some longer build times, but I don't know for sure.

@ewired Pretty nice, but I believe esm.sh will also put in an import to the esm.sh postcss because Autoprefixer and other libraries require postcss, so this may cause some longer build times, but I don't know for sure.

Hi, thanks for this contribution.
In previous versions of Lume, the css plugin includes also presetEnv, but it was removed in 0.9.12 (https://github.com/lumeland/lume/compare/v0.9.11...v0.9.12) because the versions automatically converted by jspm.dev started to fail.
My initial idea for this plugin was to be library agnostic. I mean, internally it uses postcss, but in the future it could switch to other library (In fact, initially it was using stylecow), so the user only need to know that using it, the css will be loaded, fixed, optimized and that's all. This is why the plugin name is just css and not postcss, or sass, etc.
But, that being said, I see that the ability to configure this plugin is useful so I'm okay with this proposal. The only change I'd recommend is use an object, so we can add more options in the future. For example:
site.use(css({
    postcssPlugins: [autoprefixer(), csso()]
}));

And about the nesting plugin, I'm agree with @shadowtime2000 that it should be used in the default plugin config but it should be able to be removed (for example, presetEnv includes this plugin, and postcss has a different version (https://github.com/postcss/postcss-nested) more similar to sass.

Hi, thanks for this contribution.
In previous versions of Lume, the css plugin includes also presetEnv, but it was removed in 0.9.12 (https://github.com/lumeland/lume/compare/v0.9.11...v0.9.12) because the versions automatically converted by jspm.dev started to fail.
My initial idea for this plugin was to be library agnostic. I mean, internally it uses postcss, but in the future it could switch to other library (In fact, initially it was using stylecow), so the user only need to know that using it, the css will be loaded, fixed, optimized and that's all. This is why the plugin name is just css and not postcss, or sass, etc.
But, that being said, I see that the ability to configure this plugin is useful so I'm okay with this proposal. The only change I'd recommend is use an object, so we can add more options in the future. For example:
site.use(css({
    postcssPlugins: [autoprefixer(), csso()]
}));

And about the nesting plugin, I'm agree with @shadowtime2000 that it should be used in the default plugin config but it should be able to be removed (for example, presetEnv includes this plugin, and postcss has a different version (https://github.com/postcss/postcss-nested) more similar to sass.

Thanks! 👍

Thanks! 👍


Active State For Nav Links

What feature?
Currently the nav links only have hover state but when we click on it and it open the respective link, but we can no longer see it highlighted to make the user aware on which page he is.
Add screenshots

Record

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

duplicate of https://github.com/priyankarpal/ProjectsHut/issues/1887
please check existing issues first

Apologies Brother, I tried searching but I guess I missed that.