atlantis new test

Error: This repo is not allowlisted for Atlantis.

atlantis plan

Ran Plan for dir: deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra workspace: default
Plan Error
The default workspace at path deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra is currently locked by another command that is running for this pull request.
Wait until the previous command is complete and try again.

Ran Plan for dir: deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra workspace: default
Plan Error
running "terragrunt plan -no-color -out $PLANFILE" in "/home/ubuntu/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra": exit status 1: running "terragrunt plan -no-color -out $PLANFILE" in "/home/ubuntu/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra":
[terragrunt] [/home/ubuntu/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra] 2023/02/08 07:26:42 Running command: terraform --version
[terragrunt] 2023/02/08 07:26:43 Reading Terragrunt config file at /home/ubuntu/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra/terraform.tfvars
[terragrunt] 2023/02/08 07:26:43 Error reading file at path /home/ubuntu/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra/terraform.tfvars: open /home/ubuntu/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra/terraform.tfvars: no such file or directory
[terragrunt] 2023/02/08 07:26:43 Unable to determine underlying exit code, so Terragrunt will exit with error code 1

Locks and plans deleted for the projects and workspaces modified in this pull request:

dir: deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra workspace: default

Ran Plan for dir: deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra workspace: default
Plan Error
running "terragrunt plan -input=false -no-color -out=$PLANFILE" in "/home/atlantis/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra": signal: terminated: running "terragrunt plan -input=false -no-color -out=$PLANFILE" in "/home/atlantis/.atlantis/repos/Pin-Cheng/terragrunt-demo/15/default/deployments/sandbox-demo/us-east-1-test/sandbox-demo/infra":
Remote state S3 bucket leo-terragrunt-test-state-sandbox-test does not exist or you don't have permissions to access it. Would you like Terragrunt to create it? (y/n)


RFC: more Geometry speed-up experiments

I don't mind review comments, but I'm not sure if the two short-cut instances are worth it.

!bench

!bench

The changes in LeftInvariantDerivation do speed up the file, but very slightly (2-3%).


add Input Class json method

application/json request get parameter

If we do this, we also have to do it for every single format that exists - not happening.


Faqpagefix

Made Navbar sticky so that when in /workshop page ( not workshop detail ), people can go back to homepage without having to scorll back to top.
Page is now responsive to resizing.
Title of workshop is now above image picture.
Separated the contents of machine learning, blockchain and external workshop.
Moved css files to styles.js.
Refactored faqpage and also workshopdetail page.
Datas are stored in data.js.
https://user-images.githubusercontent.com/50238554/102859579-189a0780-4467-11eb-84e8-9081573d0c9e.mp4

@Nielsencu would be great if you can deconflict the files, thanks nielsen!

there are merge conflicts with main @Nielsencu

Deconflicted!

Deconflicted!

Hi @Nielsencu can't approve yet, there's some bugs on workshop pages. You can also proceed with the next iteration of jira tickets assigned before merging this PR

Oh its not a bug haha I havent put in the pictures yet. Will update when all of the tickets are completed!

Theres still a lot of white spaces in the paper component, any ideas on what to do? or do I leave it as it is


Make parameter descriptions consistent in faceting.adoc

Description
The parameters descriptions in the faceting docs begin inconsistently. Some re-state the parameter names, some start with "This parameter...", etc.
Solution
Make them begin consistently and concisely by starting directly with the description of what it does.
Tests
Did not run tests.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
NA: I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
NA I have run ./gradlew check.
NA I have added tests for my changes.
NA I have added documentation for the Reference Guide

hey @cdrini  do you want to take another spin though this PR and finalize some of the changes?   Then I'd love to merge this!

Ah apologies for the delay! Will update this week :+1:

Thanks for the review @cpoerschke ! Ok @epugh , this should be ready to go now!


Dark mode problems

Issue collecting all problems with dark mode, at least until we mark it as "not experimental". If you can (Ole, Julian!), please just edit this list instead of writing a new comment whenever you want to add something.

[ ] White text is sometimes too bright (e.g. h1). Maybe dim that?
[ ] Searchable Select
[ ] Darkmode logo (maybe offer a flag to simply filter the normal logo? invert and hue-rotate 180)
[ ] Add box-shadow to series block, nav box, dashboard items and confirmation modals?
[ ] Video thumbnail placeholder uses grey-variable but should use a fixed grey
[ ] Reconsider all grey brightnesses
[ ] Check for contrast issues.
[ ] Menus have a box shadow in light mode that's barely visible in dark mode, making the menus' boundaries less obvious.

Closed by #871


Release v1.9.0 (summary functions added)

New Features

summary

allUnique()
isSorted()
isReversed()

Stream

allUnique()
isSorted()
isReversed()

types

Comparable

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 25 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
494

Relevant Lines:
494

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

25 of 25 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
494

Relevant Lines:
494

💛  - Coveralls


Set owner of files needed for initial records

This pull request address the same problem than https://github.com/chef-cookbooks/mysql/pull/386. Both options are ok for me, in fact, The solution proposed by @gziskind is more clean than this one.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
Non-GitHub Verified Committers
There are 1 commit author(s) whose commits are authored by a non-GitHub verified email address. Chef will have to manually verify that they are authorized to contribute.
Please sign the CLA here.

@AgarFu Thanks for your contributions and comments about the other pull request. I'm pulling #386 via #414. I'm going to go ahead and close this PR.


issues/27428: Change for fixing the build of the operator without a build-tools container.

Fix for 27428, Change for fixing the build of the operator without a build-tools container.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[x] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

Hi @abhioncbr. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

@abhioncbr: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
4044b853931ff1d33452cccbe6395973cc196a5d
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@googlebot I signed it!

@ericvn, Can add the label release-notes-none for this PR? If yes, please apply it. I guess I don't have permissions.

/release-notes-none

/test release-notes_istio


added names of specific tests to be included in package

This probably shouldn't go into the dev branch since we dont have anything supporting Cython. If you need the code as reference, would it be ok just keeping it on your own branch?

Pull Request Test Coverage Report for Build 17

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 7:
0.0%

Covered Lines:
25

Relevant Lines:
25

💛  - Coveralls


Error: Failed to parse configuration file

Issue:
When running lychee 0.13 on Windows, it displays the error [ERROR] Error while loading config file "lychee.toml": Failed to parse configuration file
Steps to reproduce
Place lychee.exe and lychee.toml in the same folder. Run
lychee.exe -c lychee.toml
Error
PS C:\repos\lychee> .\lychee.exe  -c lychee.toml .
[ERROR] Error while loading config file "lychee.toml": Failed to parse configuration file

Other information
I've downloaded the raw example config file from https://github.com/lycheeverse/lychee/blob/master/lychee.example.toml and renamed it to lychee.toml. The issue can be reproduced with this file.
The config file encoding is UTF-8
I've also tried a config file with only the content below (e.g. a one line file) and it gives the same error
verbose = false
The system is definately finding the file, as when I run lychee with an invalid config file name, the error is
[ERROR] Error while loading config file "lychee-invalid-file.toml": The system cannot find the file specified. (os error 2)

I think the parse error is that the cupplied configuration file is not in TOML format. Compare it to Cargo.toml.
I can get rid of the error by adding a section heading ...
[display]
verbose = "debug"

but I still cannot get excludes or anything else to work. Lychee works perfectly from the command line but I ned to use it to run as a cron job from a config file.
Any chance of supplying a working example, with one or two simple switches to illustrate its use?
Happy New Year

I have the same issue. A single error message, but not telling me what the actual issue is. I ran my lychee.toml through a TOML validator and it's valid. Now I'm trying to bisect and commenting out individual config lines, to find what the actual root cause is. So far it seems exclude_path was renamed or removed at some point.

Sorry to hear that, folks.
I've added better error messages with https://github.com/lycheeverse/lychee/issues/1306.
We'll do a new release tomorrow, which will include this change.

@bubbletroubles, the example config in the repo only works for master. The reason is that the latest changes were not released yet, causing some churn. I just tested the example config with the latest unreleased version and it works. There is also an integration test, which makes sure it won't break. Please hold on until the new version is released.
@theapiarist, I can't see any issues with your config. It should work with the current and the next version. I tested on macOS and on Linux with the Docker container:
docker run -it -v $PWD:/config lycheeverse/lychee --config /config/lychee.toml --verbose --no-progress .

So it looks like it's an issue with the Raspberry Pi? 🤔 In any case, maybe you can try again tomorrow after the release.
@xrstf the verbose option was extended. Previously (probably in your current version) it was a boolean, but now it is a string. See https://github.com/lycheeverse/lychee/issues/970
This, too, should be resolved with the next release, but you can test right away by either changing it to a string or a bool, depending on your current config.

lychee version 0.14.0 finally got released. 🎉
Thanks to this release, the issue should be resolved now.
Please reopen if this is not the case, and apologies for the long delay.
On top of that, the error message for TOML parsing errors is more extensive now, which should help with troubleshooting.
@theapiarist, this might help you troubleshoot the issues you experienced.

Works well ... on Mac and RPi. No idea what the issue was before. With thanks.

Good news are always great to hear. 😆


No way to get contract address after deployed

Also the copy/paste doesn't work

cc @xiaxiangzhou


postgresqlPackages.postgis: build minimal gdal version

Description of changes
Build Postgis with minimal gdal version (gdalMinimal).
This change is reducing closure size from 1.5G to
544M.

Closure size with full gdal

nix path-info -rsSh /nix/store/0l4kxyvzclrb0nvaf5aqw6q1rcmfbg6h-postgis-3.4.1

...

/nix/store/9bji3x8w4j2j679k9z8mm359nv5ivv84-gdal-3.8.2                     	  42.3M	   1.3G
/nix/store/0l4kxyvzclrb0nvaf5aqw6q1rcmfbg6h-postgis-3.4.1                  	  42.4M	   1.5G

Closure size with gdalMinimal

nix path-info -rsSh /nix/store/dghk2lkjbqz0k2i54lfw0c5hspgj8j3m-postgis-3.4.1
...

/nix/store/j1ybly3xvcqac0yngq7r37rvqp3p1amk-gdal-3.8.2                     	  38.5M	 308.1M
/nix/store/dghk2lkjbqz0k2i54lfw0c5hspgj8j3m-postgis-3.4.1                  	  42.4M	 544.1M

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Will this limit the features of PostGIS or does PostGIS only ever use GDAL features also provided by gdalMinimal?

Will this limit the features of PostGIS or does PostGIS only ever use GDAL/OGR features also provided by gdalMinimal?

Sorry for late answer. I updated PR description with the list of disabled features in gdalMinimal.

@ofborg build postgresqlPackages.postgis

@marsam , are you OK with this change ?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/week-in-geospatial-team/37035/2

Result of nixpkgs-review pr 276348 run on x86_64-linux 1

20 packages built:

postgresql12JitPackages.postgis
postgresql12JitPackages.postgis.doc
postgresql12Packages.postgis
postgresql12Packages.postgis.doc
postgresql13JitPackages.postgis
postgresql13JitPackages.postgis.doc
postgresql13Packages.postgis
postgresql13Packages.postgis.doc
postgresql14JitPackages.postgis
postgresql14JitPackages.postgis.doc
postgresql14Packages.postgis
postgresql14Packages.postgis.doc
postgresqlJitPackages.postgis (postgresql15JitPackages.postgis)
postgresqlJitPackages.postgis.doc (postgresql15JitPackages.postgis.doc)
postgresql15Packages.postgis
postgresql15Packages.postgis.doc
postgresql16JitPackages.postgis
postgresql16JitPackages.postgis.doc
postgresql16Packages.postgis
postgresql16Packages.postgis.doc

Result of nixpkgs-review pr 276348 run on x86_64-linux 1

1 test built:

nixosTests.postgis

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/week-in-geospatial-team/37035/3

@GrahamcOfBorg eval

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/week-in-geospatial-team/37035/6


Is there any way to use SignalR?

I was wondering if there is a way of using SignalR instead of WebSockets.
Has anyone achieved this? Is there any example out there on how to do it?
Thanks!

We have designed the project structure to also support other protocols. But SignalR does not really solve any problem. SignalR is great because of the backplane, but the general problem is that we don't have an architecture for clustering yet.
Yjs documents are potentially big states and you might receive hundred of updates within a short time. Therefore you cannot load the state from the storage for each update. You need to keep it in memory or at least I think that this would be the best option. If you have multiple servers you also don't want to have a copy on each server because you need to synchronize them.
So I think you have a several solutions:

Sticky load balancer sessions using the document ID.
Use something like Microsoft Orleans to have an actor per document (then you can use SignalR) again.
Use a single server.

@SebastianStehle thanks for the response!
I ended up implementing a SignalR server to see how that would perform. It honestly performs well, but likely won't scale as good as WebSockets.
In my use case I don't see that much concurrent users, so it would work for quite some time before it really requires a refactor. But I definitely understand why it would be much better to use WebSockets in the future.
I will close this for now. Thanks!

I am not so concerned about the transport protocol. You can just embed the binary protocol in a message and go. if you want to contribute, you are more then welcome. But I don't see how SignalR helps with scaling.

SignalR doesn't help with scaling, but it does help if your infrastructure doesn't support websockets, etc. That was my initial problem.
We have a limitation on our infra since it runs on stateless pods and there is no way of keeping an open connection to the pods. Besides that, we also don't have a load balancer that is able to direct all websocket calls to the same pod.
I will definitely contribute once my solution is working decently hehe. Right now it is a mess of code spread everywhere.

Even if you use SignalR, you get problems, if you have more than one server. It depends on your use case, but if you use ydotnet for a text editor (like prosemirror), you handle every single key stroke. So you get a lot of messages and you cannot load the document for every single key stroke. Perhaps you can use signalr for that together with a stateful set. So you use a stable number of servers and assign the documents based on the hashset of the pod name. Then use SignalR groups and messaging to redirect the message to the correct pod. But it is also not ideal.
Btw: Even with stateless pods your web socket connection should stay open as long as no one closes it. But afaik SignalR also requires sticky sessions: https://learn.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-8.0


[T4A5][F10-B4]Li Xiaowei

Ready to view

@DongZaiEr Some comments added. Please close the PR after reading comments. Good job! :)


fix warning about tautological-pointer-compare

warning: comparison of array 'pattern' equal to a null pointer is always false

Thank you for the contribution!


[iOS] v7.0.0 doesn't work with the New Architecture

Environment
Xcode 16.0
  "dependencies": {
    "react": "18.3.1",
    "react-native": "0.75.4",
    "react-native-pager-view": "7.0.0-rc.2"
  },

Description
When I try to upgrade to v7.0.0 the app won't compile with the new architecture enabled.

Reproducible Demo
To reprocude you can create a new react native project and add the lib to it.
npx @react-native-community/cli@latest init PagerViewTest
cd PagerViewTest
yarn add<EMAIL_ADDRESS>cd ios
RCT_NEW_ARCH_ENABLED=1 pod install

Now open Xcode and try to build.

@darecki I think v7 (released on March https://github.com/callstack/react-native-pager-view/pull/817) is way behind v6 and v6 has many Fabric fixes

@darecki it is dropped because I cannot find time to finish that. This library has been merged into the main branch and can be used by changing this prop https://github.com/callstack/react-native-pager-view/blob/master/src/PagerView.tsx#L174


Themes

Nice default design is great but ability to customize it for particular project is even better.
Possible solutions:

Replace CSS Modules with regular BEM: users will be able to add custom CSS via Webpack config.
Fix CSS Modules class names (remove hash): same as 1 but easier for Styleguidist development.
Other solution I don’t know about?

Or maybe add some classes to the existing elements?
I guess that the users will want to style not only the styleguide headers or prop tables, but also the markdown output (which is not styled by our css modules anyway).

I don’t want to have two sets of classes. But we can add add many classes as needed, we don’t have to use all of them internally ;-)

I’ve implemented the second approach and also did some significant refactoring of styles. I hope it’s better now.
Now you should be able to customize Styleguide like this:
.ReactStyleGuidist-colors__base {
  color: #f0f;
}
.ReactStyleGuidist-common__font {
  font-family: "Comic Sans";
}

And the add this CSS file as an entry point in Webpack config.
Unfortunately it doesn’t work for Markdown styles because composition in CSS modules works only with local classes.

I like the change a lot! I already started writing some custom styles for my style guide :)
I'll be picky: why ReactStyleGuidist if the name of the project is react-styleguidist? Directly "translated" to camelCase it would be ReactStyleguidist...

No reason, we can change it ;-)

The next thing is better Markdown rendering. Would be nice to have CSS classes for everything in Markdown instead of using cascade and global classes.

Yes! :+1:  And I'd like the component and prop descriptions to be rendered as markdown too!

It wasn’t easy. I hope I didn’t make it worse ;-|

I can do some code review on Monday.

Good, I’ll try it on my project on Monday.


Add support for returning the results of a query

I'm looking at porting old, raw MySQL queries into a Cake build task, but I want to fail if the database I'm about to import already exists (unless the user passes an overwrite argument).
This is relatively trivial to implement if I can get the result of a query against the INFORMATION_SCHEMA.SCHEMATA table, but right now ExecuteSqlQuery always calls ExecuteNonQuery() as opposed to ExecuteReader().
It would be handy if there was an alternative alias (or an option I could pass in to the SqlQuerySettings) to allow me to get the results (or given the need to abstract away the database itself, even just return the number of rows in the result set).

After some mucking around I've realised that I can get the behaviour I need without any changes by changing my task to execute the query USE {databaseName} and handle success and failure conditions.


kwarg mismatch with Scenario object in ixmp

It seems like in message_ix, scen is used as the kwarg while in ixmp, it is scenario. We should harmonize those two.

possibly this explains the behavior in issue #130


Clerks newer version is not working with react but working with older version v4.18.0

[ ] Review the documentation: https://clerk.com/docs
[ ] Search for existing issues: https://github.com/clerkinc/javascript/issues
[ ] Go through package changelog files.
[ ] Provide the Frontend API key from your application dashboard.

Package + Version

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore
[ ] other:

Dependencies + versions
Provide a json with the dependencies used in your project (copy paste from yarn.lock / package-lock.json) or a github project / template that reproduces the issue.
Include the @clerk/ packages and their versions!*
Example:
{
  "dependencies": {
    "react": "18.2.0"
  },
  "devDependencies": {
    "@clerk/types": "3.31.0",
    "@clerk/clerk-react": "4.13.0"
  },
  "peerDependencies": {
    "react": "18.2.0"
  }
}

Browser/OS
If applicable e.g. Chrome {version}, Node {version} , Bun {version} , Cloudflare worker {version}
Description
Describe your issue in detail, a demo repository or a sandbox would be great.

Hello @Rohankajale , thanks for the report.
This should be fixed in 4.20.0, so please try installing<EMAIL_ADDRESS>If you still face issues, feel free to reopen this one.

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Source changes not on Github

I noticed that none of the release updates got the source code of the changes pushed to Git.
On the release tag it's always the "old" source code without the recent changes.
Would be great to see what was changed recently in the code, since the repo code wouldn't work right away.

ive been keeping it closed due to some sensitivity reasons, but im just going to release the current code

to tack on to this, i removed portions related to actual parsing out the data but kept the structure


Incomplete Permissions Specification

Hi,
I didn't realize this when configuring existing datasets and workspaces because users all had access to the workspace.  However, when following the instructions here on a "BRAND NEW" workspace and dataset, I noticed that users who are not granted "VIEWER" permission on the workspace cannot see the artifacts (in Power BI Desktop or Excel) even if you grant them BUILD permissions on the dataset in the workspace.
Am I mistaken (is there something else I'm not doing)?
It seems that you have to update the document to highlight that access to the artifacts of the workspace is a prerequisite to distributing BUILD / reshare / write specific permissions on a dataset.
Cheers,
Fahim.

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

ID: 16dbd9ca-dcd3-a4f3-43a8-01ead54fc9f9
Version Independent ID: 66217fc3-a852-201c-a563-54ecbd9e5726
Content: Build permission for shared datasets - Power BI
Content Source: powerbi-docs/connect-data/service-datasets-build-permissions.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @paulinbar
Microsoft Alias: painbar

Thanks for your comment, @Teckfahimkanji. This issue has been assigned to the doc author for review.

Hi @Teckfahimkanji, it turns out that being able to access the workspace is not strictly a prerequisite for granting permissions - you can grant the permissions via sharing, and the person then can perform the permitted actions. But you are right that this point could be made more clear. I will review the documentation and take this into consideration. Thanks!


Comment nits

Mostly one comment (from #218), which looks like it a linter moved it to the wrong place

See also https://github.com/single-cell-data/TileDB-SOMA/issues/2141


Does the plugin take into account previous text blocks?

I love how the GPT-3 plugin works as it is, and I would gladly use it even further. For instance, for Q&A style investigations into a certain topic. Those require that I send the entire conversion to the API, as it builds up. From my understanding, currently only the immediate text block is being processed. Is this the case, and do you have plans to extend it to take into account parent and sibling nodes as well?
P.S. I have not checked the code, so please, forgive me if it is already working. I could not find a suitable example in your list, which is why I am raising the issue.

Hey @preslavrachev
This is one of the top features I'm working on, sending child blocks to gpt3 to save context
https://github.com/briansunter/logseq-plugin-gpt3-openai/issues/8

It should take into account full pages with gpt-page now. Feel free to re open if you have other ideas on how this should work! I'm working on additional options like "multi select" and sending a tree of nested blocks as well.


HelpVersion parameter support

Summary of the new feature / enhancement
HelpVersion is module metadata used to create HelpInfo.xml files for updateable help. Cmdlets that export module markdown files should support a HelpVersion parameter that allows the user to specify the version of help.
Proposed technical implementation details (optional)
Cmdlets that need to support this:

New-MarkdownCommandHelp (when using -WithModulePage)
Export-MarkdownModuleFile
Update-MarkdownCommandHelp (when using -WithModulePage)

Behaviors

The type for the HelpVersion parameter should be System.Version and should accept strings that can be converted to that type.
The default value of the HelpVersion parameter should be [System.Version]'<IP_ADDRESS>'. This is the value that should be used when no value is provided or if it is missing from an imported module markdown file.
This value should be written to the module markdown file frontmatter metadata in the Help Version: key. For example Help Version: <IP_ADDRESS>.

It is up to the author to change the value in the frontmatter as appropriate.

The value of the HelpVersion parameter should take precendence over an existing value imported from markdown or a duplicate value that was passed in using the Metadata parameter hashtable.

Fixed in https://github.com/PowerShell/platyPS/commit/27d5ffe4090f146b64c7d91453d6683c68c8ee53


Consider ways to enforce sane measures

It is possible to make measures which will break our current price-saving calculations, because we currently assume that a numerator is always a subset of the denominator.
When we assume this, it makes it easier to understand measures as they all work as percentages, so it may be that this is a restriction we want to embed everywhere; or it may be that sometimes we don't.
If the former, we should have some way of asserting a measure meets these constraints before creating it; if the latter, we need to ensure the cost-saving-calculations won't break for non-proportion ratios.
As part of considering this, also think about if/how we might build a formal system for creating metrics. Ultimately this could form the foundation of something we could expose to end users for designing their own metrics.
The resolution of this task should be a proposal or detailed issue, covering:

A classification and discussion of different kinds of measures and their pros and cons (ratios, proportions, etc)
A formalisation of the design-a-measure process (e.g. how to decide if it's cost-saving or not, how to choose good numerators and denominators, etc)
Possibly a more technical domain-specific analysis (data model, definitions, etc)
Suggestions of next step (e.g. something that formalises the process as a DSL or a model with validations and/or workflow; or a lighter-touch validation of the existing workflow)

See discussion in #145 for background (and details of the cost-saving metrics)

@richiecroker @brianmackenna this relates to discussion of new measures and quality control procedures. Does it need to be an issue still?

I think this issue has been superseded by more recent QA discussions and will naturally come up again as and when it becomes a priority, so I'm happy to close


Revert "Remove Date from M-Lab's standard columns (#25)"

This reverts commit 9f23fc29d094069cc26fd235c6d6f09df84b4f73.

This change is

@stephen-soltesz @cristinaleonr Per our offline conversation, I have reverted the commit that removed Date from standard columns.  Tested the change locally and verified Date is in the standard columns:
{
  "Date": "2023/01/26",
  "Archiver": {
    "Version": "",
    "GitCommit": "",
    "ArchiveURL": "gs://newclient,download,upload/e2e/gcs/autoload/v1/experiment/datatype1/date=2023-01-26/20230126T140740.065182Z-datatype1-mlab1-lga01-experiment-data.jsonl",
    "Filename": "/usr/local/google/home/saied/work/jostler.github/e2e/local/var/spool/experiment/datatype1/2023/01/26/T140740.064428Z.json"
  },
  "Raw": {
    "UUID": "1234",
    "ToolVersion": "0.1.2",
    "Result": 100
  }
}

Coverage: 86.006% (+0.1%) from 85.884% when pulling 7060f19caa9232815a80c7dad6d1028923be5c7e on sandbox-saied-stdcols into 3219fc0772f0f2196f617e2dac42f6c1cba1c526 on main.

internal/jsonlbundle/jsonlbundle.go line 111 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
IIRC, we identified documentation that required this field to use the YYYY-MM-DD format. Can you confirm? This is present in the comment above, but not in the example output on this PR description.

Good catch!

The format of Date change to yyyy-mm-dd as shown in the following example:
jq . e2e/gcs/autoload/v1/experiment/datatype1/date\=2023-01-26/20230126T162857.157071Z-datatype1-mlab1-lga01-experiment-data.jsonl
{
  "Date": "2023-01-26",
  "Archiver": {
    "Version": "",
    "GitCommit": "",
    "ArchiveURL": "gs://newclient,download,upload/e2e/gcs/autoload/v1/experiment/datatype1/date=2023-01-26/20230126T162857.157071Z-datatype1-mlab1-lga01-experiment-data.jsonl",
    "Filename": "/usr/local/google/home/saied/work/jostler.revert/e2e/local/var/spool/experiment/datatype1/2023/01/26/T162857.156239Z.json"
  },
  "Raw": {
    "UUID": "1234",
    "ToolVersion": "0.1.2",
    "Result": 100
  }
}
...


style(gatsby-theme-docz): remove deprecation warning for grid

Description

Due to the grid-template-rows: 100% declaration, we have a warning emited by Chrome in the console. I fixed it.

Thanks !


[bug]: Astro Getting Started instructions fail to create src/styles/global.css

Describe the bug
Following the Astro getting started guide fails to create the src/styles/global.css file. I can create it manually, but what consequences flow from that? It will probably contain:
@tailwind base;
@tailwind components;
@tailwind utilities;
but who am I to say that when the instructions say it will be created already?
Affected component/components
Astro project setup
How to reproduce
Follow the instructions at https://ui.shadcn.com/docs/installation/astro. I'm using Mac terminal and npm.
Codesandbox/StackBlitz link
No response
Logs
Error
An error occurred.
Cannot find module<EMAIL_ADDRESS>imported from '/Users/.../Documents/Web Dev/Tutorials/astro-shadcn/src/pages/index.astro'

System Info
Sonoma 14.5

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues


Make more explicit where the statements are for proofs

Right now statements are essentially included in proofs (in the transaction snarks). We could (and should) save on bandwidth by separating them

@imeckler 	We have separate Statement modules now-  is this done?

This is not done. The statements are quite large (they contain at least 4 field elements) so I propose we do the following.
Instead of including the statement in the transaction SNARK when serializing it, just have the hash of the statement. The SNARK pool should maintain the list of relevant statements keyed by their hashes. So it's still easy to verify a proof when it is relevant, which is what we want anyway.


pageWrapper should be initialized in halfmoonOnDOMContentLoaded

I've installed the npm package and am using it with React as shown in the documentation. There is an issue though. I've called  halfmoonOnDOMContentLoaded, however that function doesn't initialize pageWrapper or stickyAlerts like it does for darkModeOn.
I can put in a PR fix this, however how is the npm package built given there is no package.json in the project? Should I just alter the halfmoon.js file and will you create a new minified version and the npm package?

The halfmoonOnDOMContentLoaded() function is not really meant to initialize the page wrapper or the sticky alerts. It instead initializes dropdowns, keydown event handler, click event handler, shortcuts, file inputs, and the dark-mode cookies. The page wrapper and the sticky alerts container therefore need to be defined inside your template.
However, after reading your comment, I think there could be a use case for the function to actually create these components inside the page automatically. For that, I would probably go with an extra parameter that can be passed onto the function. However, that could lead to some other issues. I will think about this a bit more.
Regarding the package.json, I explained it here: https://github.com/halfmoonui/halfmoon/issues/16#issuecomment-673852837

Basically my issue is that pageWrapper is undefined when it goes to toggle the sidebar. This is definitely a problem with virtual DOM as the elements aren't available when the framework is initialized. I corrected it locally by the following code inside halfmoonOnDOMContentLoaded(), but I see your point about that function:
    if (!halfmoon.pageWrapper) {
      halfmoon.pageWrapper = document.getElementsByClassName("page-wrapper")[0];
    }
    if (!halfmoon.stickyAlerts) {
      halfmoon.stickyAlerts: document.getElementsByClassName("sticky-alerts")[0];
    }

I'm not sure of a best approach for this. I'll be interested to hear your ideas,

@visoft I am sorry, I misunderstood what you meant before. I think you have found a bug, because the functions would fail in cases where a virtual DOM is being used, and the pageWrapper is not properly initialized. Your solution is properly the best one too. Its not elegant, but it works. I will patch this out ASAP. Thank you so much, really appreciate you bringing this up!

Hey I implemented your fix and patched the issue with a new release: https://github.com/halfmoonui/halfmoon/releases/tag/v1.0.4. Please let me know if everything works for you as well, I have tested myself and everything seems to be running properly.

Works great! Thanks for the quick fix!


ensuring connection timeouts get wrapped by MavenDownloadingException

Closes #4080.
Might take a couple iterations in Actions; I wrote/tested this in a weird network environment. Fingers crossed.
Checklist

[X] I've added unit tests to cover both positive and negative cases
[X] I've read and applied the recipe conventions and best practices
[X] I've used the IntelliJ IDEA auto-formatter on affected files

Two new test failures with the new approach: https://ge.openrewrite.org/s/p33d2lkyakx4u/tests/overview?outcome=FAILED
listenerRecordsFailedRepositoryAccess()
java.lang.AssertionError:
Expecting throwable message:
  "65b2442b-44ab-4f5c-a7c4-ec45d42f42a3.com"
to contain:
  "java.net.UnknownHostException"
but did not.
Throwable that failed the check:
java.net.UnknownHostException: 65b2442b-44ab-4f5c-a7c4-ec45d42f42a3.com
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:572)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)

connectTimeout()
Expecting actual throwable to be an instance of:
  org.openrewrite.maven.MavenDownloadingException
but was:
  java.lang.RuntimeException: java.net.SocketTimeoutException: Connect timed out
	at org.openrewrite.maven.internal.MavenPomDownloader.requestAsAuthenticatedOrAnonymous(MavenPomDownloader.java:810)
	at org.openrewrite.maven.internal.MavenPomDownloader.download(MavenPomDownloader.java:574)
	at org.openrewrite.maven.internal.MavenPomDownloaderTest.lambda$connectTimeout$14(MavenPomDownloaderTest.java:752)
	...(106 remaining lines not displayed - this can be changed with Assertions.setMaxStackTraceElementsDisplayed)

pushed further changes, focused on 1) fixing those test failures and 2) using specific checked exception types instead of Throwable in method signatures


Implement service: sequelize

Must support:

proper connection/disconnection lifecycle
loading models from a specified directory
support all configuration options the client provides

Implemented in 6b1a7199c0f4684ebf60f6ff7d6e942a2372399f. 🎉


Update ShEx for Disease History and Diagnosis

Main changes including:

remove prov:informedBy triple
add "so:has-input" triple
make choices within the "process"

Apart from Rajaram's comment, no more changes from my side, thank you Shuxin


Refactor quarto.nbdev_readme; add docs

For context: https://forums.fast.ai/t/nbdev-v2-codebase-falls-short-of-literate-programming/103671/7

Many thanks! I've added some very minor suggestions.

Ready to look at it @hugetim ?

I think so. My only hesitation is that I haven't looked at your comments with ReviewNB yet, only within the GitHub gui. But I think your meaning was clear.

Ok, I was able to look at ReviewNB to be sure. I think it's ready, but I did add one question re the docstring suggestion.

And then I made a minor wording change to try to make the chk_time line more quickly legible. All ready, now, @jph00.

Many thanks @hugetim ! :) Feel free to add the missing docstring in a separate PR if you're OK with with.


General Menu Features: Format Sub Menu

Font Menu Item -> pick a font to use starting at the carrots position.
Flatten Font Menu Item -> pick a font for the flatten effect from the Edit Menu.

Currently this works as described.


failing on android with latest version of react-native

How to reproduce
1)react-native init project
2)cd project followed by react-native run-android . will works like a charm
3)Just do npm install react-native-vector-icons --save
4)react-native run-android and will fail saying 'run-android' is unrecognised and you will die...
please look into this

I tried the following steps to reproduce and it worked like a charm:
react-native init iconbug && cd iconbug
yarn add react-native-vector-icons
react-native run-android

I'm pretty sure something is up on your end :-)

@oblador yeah I got it working by yarn add react-native-vector-icons, please update the doc otherwise someone will definitely break their project using npm install react-native-vector-icons --save


Support for (single letter) military time zone ids other than Z

I'm using the JSR 310 DateTime API (Java 7 and threetenbp) in my application, and I need to parse and format military date times (known as DTG or "date time group").
The format I'm parsing looks like this (using DateTimeFormatter):
"ddHHmm'Z' MMM yy" // (ie. "312359Z DEC 14", for new years eve 2014)

This format is fairly easy to parse as described above. The problem arises when the dates contains a different time zone than 'Z' (Zulu time zone, same as UTC/GMT), for example 'A' (Alpha, UTC+1:00) or 'B' (Bravo, UTC+2:00). See Military time zones for the full list.
How can I parse these time zones?
From what I understand, the generic format should be:
"ddHHmmz MMM yy"

I have created a ZoneRulesProvider with the all the named zones and correct offsets. But it still won't parse, as it seems that single character time zone ids (or "regions") other than 'Z' are not even allowed by the API.
For example:
ZoneId alpha = ZoneId.of("A"); // boom

Will throw DateTimeException: Invalid zone: A (without even accessing my rules provider to see if it exists). I get the same exception (wrapped in a DateTimeParseException) when trying to parse "312359A DEC 14" using the format above.
The behaviour is a little confusing, as the ZoneRulesProvider SPI registration does not complain about the "A" zone id. Meaning the zone will be registered, but unusable...
Is this an oversight in the API or a deliberate design decision? Or am I doing something wrong?
PS: See my StackOverflow question for background and discussion.
PPS: I realize this issue should maybe be filed against threeten, rather than threetenbp, but I'm sure you'll do the right thing. :-)
Regards,
--
Harald K

See Stack Overflow answer


Add pdf as assets to loaders

I needed to use a pdf as an asset. The documentation said Any files inside the app folder can be imported into your modules
But that not totally true. The loaders are set for most cases but pdf wasn't included in the list.
This add the pdf as a file loader to make them able to be copied and used as an asset.
Here was the error for handling the pdf:

Here is the project and the PR that rise the problem:
MajorTom327/landing#200

Can this be merged for next minor version ?

As mentioned in the "Remix Vite is Now Stable" blogpost, we won't add any new compiler features/improvements that aren't targeting Vite

[...] from now on all new features and improvements that require compiler integrations will only be targeting Vite


VocPrez filtering and searching not working

Filtering
Standalone VocPrez had filtering of the vocabs list, e.g. https://vocabs.gsq.digital/vocabulary/?filter=borehole but Prez VP doesn't, e.g. https://linked.fsdf.org.au/vocab or http://gswa.kurrawong.net/
Standalone VP had working search, e.g. https://vocabs.gsq.digital/search?search=coal&from=all. Prez VP, stand-alone, search doesn't work e.g. http://gswa.kurrawong.net/search?search=geologic&endpoints=self nor does integrated Prez search, e.g. https://linked.fsdf.org.au/search?search=elevation&endpoints=self

search needs to be made generic to accept arbitrary terms that have been added to template SPARQL search functions. See prez/routers/search.py

see https://data.idnau.org/
https://github.com/RDFLib/prez/issues/90


Fix link to the flows guide

The path to the prisma-migrate-flows page was incorrect, resulting in a 404 page

Thanks for taking the time! 💚

Thanks for taking the time! 💚


Refactor org.jfrog

while running the app error is pop up like (Could not find org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.4-1.)

I am sorry i m unable to get what are you trying to ask.
1] I am unable to fine the app/app.iml
2]  what i have to do with (app/src/main/java/com/example/lun/pocket_health_advisor/NearbyHospitalActivity.kt) ?


How to download sources without intelliJ or eclipse plugin

Hi,
I have a custom building process and I need gradle to download both the jars and the sources that my project depends on.
The dependencies declared are only the jar classifiers.
The following snipet allows me to print only the absolut path of the .jar files. But I also need to download and to print the path of the corresponding -sources.jar files.
task printGradleLibrariesForLibre {
    doLast {
        println rootProject.subprojects
                .collectMany { proj -> proj.configurations.all }
                .findAll { conf -> conf.isCanBeResolved() }
                .collectMany { conf -> conf.resolve() }
                .collect { dependency -> dependency.absolutePath }
                .toSet()
    }
}

Can you point me in the right direction to download sources files?
Environment:
Gradle wrapper 3.3

This is more of a question than an issue. Can you please open this as a question on the Gradle forum?


error ssg build when add vuetify

error
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".css" for /home/fernando/workspace/vitevue/node_modules/.pnpm/vuetify@3.0.0-beta.0_vue-i18n<EMAIL_ADDRESS>repeat:
get a fresh vitesse project
add on vite.config.ts
import {  Vuetify3Resolver} from 'unplugin-vue-components/resolvers'

 components.resolvers: [
        Vuetify3Resolver(),
      ],

pnpm i<EMAIL_ADDRESS>pnpm i<EMAIL_ADDRESS>
create file vuetify.ts on /src/modules with this content
import<EMAIL_ADDRESS>import 'vuetify/styles'
import { createVuetify } from 'vuetify'
import { type UserModule } from '~/types'
export const install: UserModule = ({ app }) => {
  const vuetify = createVuetify()
  app.use(vuetify)
}

pnpm build
i tried to use custom route to render ssg to avoid the files on  vuetify
following the idea of this comment #156 to just ignore those
with this code on vite.config.ts
ssgOptions: {
    includedRoutes(paths, routes) {
      return paths.filter(i => !i.includes('vuetify'))
    },
  },

seems includedRoutes does nothing.

For me, following the suggestion in the issue in Vite itself worked.
// vite.config.js
import vuetify from 'vite-plugin-vuetify';

/** @type {import('vite').UserConfig} */
const config = {
	plugins: [vuetify()],
	ssr: {
		noExternal: ['vuetify']
	},
};
export default config;


[modernize] Use standard charsets

unfortunately if > jdk 16 uses with current project needs, the detection can be a bit off.  So this is not entirely ideal until we are on higher jdks and stop using static for searching when we already have it.  For now this is better.

Coverage remained the same at 87.322% when pulling 588e41ca346e56eef84c91b42476609f00fda384 on hazendaz:master into c29c0416c0a33d13f0486598a8d3733ea39b5cb4 on mybatis:master.


Add module AST cache.

Description
This adds a module AST cache which speeds up the parsing and type checking stages for modules that have not changed.
To make this work, when first parsing, we save the tree of dependencies and hashes for each module.
Then when compiling again, we check the cache and re-use if possible.
To make this work for LSP, I've had to revert the change that was done earlier to re-create the engines for each compilation step.
This may lead to memory bloating, which was the reason that change was done in the first place IIRC, so I'll be investigating a garbage collection step that LSP can run after each compilation.
On the LSP did_change test, that compiles a single file, makes a change, and re-parses again, this drops the time from 6s (3s + 3s for the second parse) to 3s, as expected, since the core and standard library are re-used instead of being parsed and analyzed again.
Checklist

[x] I have linked to any relevant issues.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[x] I have added tests that prove my fix is effective or that my feature works.
[x] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[x] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[x] I have requested a review from the relevant team or maintainers.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @tritao just pulled down this branch and gave it a quick play with gc turned on. You can see in the video below that we start off with typed information in the language server. But if we introduce some malformed code we lose access to these (see issue #4866). However, if we then remove the line causing the error, we never get the typed tokens back and the language server is unable to work. See below.
https://github.com/FuelLabs/sway/assets/1289413/0ad640a8-c829-4a9f-a80a-cb4e28b9440c

It seems to work as expected when garbage collection is turned off.

Would be interesting to see numbers on cargo r -p test --release for both CPU and mem.

For test, I think we may be able to re-use the engines across tests, but not really sure if we want to do that, given it means each individual test will not have a fresh engines state. Long-term we will need to serialize/deserialize the state for the type and decl engine to be able to speed up compilations, basically have the cache all primed on the first run.

I also think our tests should run on a clean engine set.
Though what this is missing is a validation test that checks if doing subsequent compilations of some sway that uses a bunch of language features still works.

Makes sense to move all the GC changes to https://github.com/FuelLabs/sway/issues/4994? I am still confused on how we are going to implement sweep, or if we are going to go with one-slab-per-module and drop it entirely; or even something else.

This PR has gone for a long time already. I'd say we merge these changes to a stable state and move to the one slab per module approach in a later change.

I just took out the GC changes. We can figure out the best approach in the meanwhile, but am thinking just going to the slab-per-module approach may be the way to go.

Sounds straight forward enough to manage from the LSP side with this approach.


Report 8621 "Config. Package - Process" needs event

From RapidStart there is a button called Process Data which calls Report 8621"Config. Package - Process".  This report does nothing but does have examples of how to transform your rapidstart data before applying it.  Currently the report requires a developer to uncomment a line of code to make the report usable as seen here:
// Code sample of the text transformation on package data
// ProcessCustomRulesExample("Config. Package Table");  //Need to uncomment this line for the report to do anything
This won't work in AL for numerous reason since we cannot touch the base code in this report.  So I think 2 things need to be done to this report:

Add an event to the OnAfterGetRecord where we can add our Custom Rules (maybe call it OnAfterGetConfigPackageTableCustomRule).  Make sure IncludeSender is Yes so we have access to the ApplyTextTransformation function in the report itself.
Make the ApplyTextTransformation Function Global so it can be seen and used in the Sender variable in the subscription

Report 8621 will publish the event OnBeforeTextTransformation() that returns two temp tables:

TempField - table and field numbers that requires transformation,
TempTransformationRule - the transformation rule to apply, where "Code" is equal to the respective TempField."No.".

Added the external method AddRuleForField() that results in an inserted field and a related transformation rule. This method is to be used in the subscriber code. The inserted rule can be adjusted if it requires additional parameters, e.g. we want to replace 'Mister' with 'Mr.' in the customer names:
ConfigPackageProcess.AddRuleForField(
DATABASE::Customer,Customer.FIELDNO(Name),
TempTransformationRule."Transformation Type"::Replace,TempField,TempTransformationRule);
TempTransformationRule."Find Value" := 'Mister';
TempTransformationRule."Replace Value" := 'Mr.';
TempTransformationRule.MODIFY;
In case the subscriber is not active, there will be the message: 'Implement processing logic for Table 18 in Report 8621'


Add a way to stop readers separately

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Describe how to test your changes
Write here in detail how you have tested your changes and instructions on how this should be tested.

LGTM,consider deleting the Manager's wg (WaitGroup) as nobody is using it after this change


Spyder crashed during last session

Problem Description
Spyder IDE won't launch. I tried running the following command "python3 -c "from spyderlib.spyder import main; main()" --reset", it shows that it has succesfully deleted the files but when i try launching spyder it shows an error message.
I've even purged spyder from my pc and installed it back, but it wouldn't work
What steps reproduce the problem?

launching spyder
trying reset spyder default settings as shown in error message

What is the expected output? What do you see instead?
instead of launching spyder IDE I get this message:
Spyder crashed during last session.
If Spyder does not start at all and before submitting a bug report, please try to reset settings to defaults by running Spyder with the command line option '--reset':
python spyder --reset
Warning: this command will remove all your Spyder configuration files located in '/home/kukku/.spyder2-py3').
If restoring the default settings does not help, please take the time to search for known bugs or discussions matching your situation before eventually creating a new issue here. Your feedback will always be greatly appreciated.
Paste Traceback/Error Below (if applicable)

spyder3
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/spyderlib/spyder.py", line 2331, in main
mainwindow = run_spyder(app, options, args)
File "/usr/lib/python3/dist-packages/spyderlib/spyder.py", line 2215, in run_spyder
main.setup()
File "/usr/lib/python3/dist-packages/spyderlib/spyder.py", line 752, in setup
from spyderlib.plugins.inspector import ObjectInspector
File "/usr/lib/python3/dist-packages/spyderlib/plugins/inspector.py", line 41, in
from spyderlib.widgets.ipython import IPythonControlWidget
File "/usr/lib/python3/dist-packages/spyderlib/widgets/ipython.py", line 28, in
pygments_patch.apply()
File "/usr/lib/python3/dist-packages/spyderlib/pygments_patch.py", line 22, in apply
from pygments.lexer import _TokenType, Text, Error
File "/usr/lib/python3/dist-packages/pygments/lexer.py", line 19, in
from pygments.filters import get_filter_by_name
File "/usr/lib/python3/dist-packages/pygments/filters/init.py", line 20, in
from pygments.plugin import find_plugin_filters
File "/usr/lib/python3/dist-packages/pygments/plugin.py", line 39, in
import pkg_resources
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2927, in
@_call_aside
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2913, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2952, in _initialize_master_working_set
add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 956, in subscribe
callback(dist)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2952, in
add_activation_listener(lambda dist: dist.activate())
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2515, in activate
declare_namespace(pkg)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2097, in declare_namespace
_handle_ns(packageName, path_item)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2047, in _handle_ns
_rebuild_mod_path(path, packageName, module)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2066, in _rebuild_mod_path
orig_path.sort(key=position_in_sys_path)
AttributeError: '_NamespacePath' object has no attribute 'sort'

Versions

Spyder version: spyder3
Python version: python3
Operating System name/version:  Ubuntu 16.04

it seemed that my pip install wasn't upgraded
i have solved the problem by running
pip install --upgrade setuptools
after i run
sudo pip install -U Spyder
spyder has sucesfully launched, but i can't used the ipython console anymore
here is the traceback:
"An error ocurred while starting the kernel
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
RuntimeError Traceback (most recent call last)
/usr/lib/python3/dist‑packages/spyderlib/widgets/externalshell/start_ipython_kernel.py in ()
184 ipk_temp = IPKernelApp.instance()
185 ipk_temp.config = kernel_config()
‑‑> 186 ipk_temp.initialize()
global ipk_temp.initialize = >
187
188 # Grabbing the kernel's shell to share its namespace with our
in initialize(self=, argv=None)
/usr/lib/python3/dist‑packages/IPython/config/application.py in catch_config_error(method=, app=, *args=(None,), **kwargs={})
90 """
91 try:
‑‑‑> 92 return method(app, *args, **kwargs)
method =
app =
args = (None,)
kwargs = {}
93 except (TraitError, ArgumentError) as e:
94 app.print_help()
/usr/lib/python3/dist‑packages/IPython/kernel/zmq/kernelapp.py in initialize(self=, argv=None)
440 self.init_io()
441 self.init_signal()
‑‑> 442 self.init_kernel()
self.init_kernel = >
443 # shell init steps
444 self.init_path()
/usr/lib/python3/dist‑packages/IPython/kernel/zmq/kernelapp.py in init_kernel(self=)
384 def init_kernel(self):
385 """Create the Kernel object itself"""
‑‑> 386 shell_stream = ZMQStream(self.shell_socket)
shell_stream = undefined
global ZMQStream =
self.shell_socket =
387 control_stream = ZMQStream(self.control_socket)
388
/usr/lib/python3/dist‑packages/zmq/eventloop/zmqstream.py in init(self=, socket=, io_loop=None)
101 def init(self, socket, io_loop=None):
102 self.socket = socket
‑‑> 103 self.io_loop = io_loop or IOLoop.instance()
self.io_loop = None
io_loop = None
global IOLoop.instance =
104 self.poller = zmq.Poller()
105
/usr/lib/python3/dist‑packages/zmq/eventloop/ioloop.py in instance(*args=(), **kwargs={})
144 # when using tornado 3
145 if tornado_version >= (3,):
‑‑> 146 PollIOLoop.configure(ZMQIOLoop)
global PollIOLoop.configure = >
global ZMQIOLoop =
147 return PollIOLoop.instance(*args, **kwargs)
148
/usr/local/lib/python3.5/dist‑packages/tornado/ioloop.py in configure(cls=, impl=, **kwargs={})
196 if not issubclass(impl, BaseAsyncIOLoop):
197 raise RuntimeError(
‑‑> 198 "only AsyncIOLoop is allowed when asyncio is available")
199 super(IOLoop, cls).configure(impl, **kwargs)
200
RuntimeError: only AsyncIOLoop is allowed when asyncio is available"
Please how can i solve it??

Had the same error with spyder3 on mac (without conda). Thanks for your suggestion
pip install --upgrade setuptools

Now spyder3 works and no problem with IPython.


Add support for brotli encoding

As requested in #445, this adds support for serving brotli-encoded files by passing --brotli or -b to http-server. This necessitates bumping up the minimum ecstatic dependency version to 3.3.0, but this shouldn't have any breaking changes.

@indexzero @BigBlueHat anything I can help out with to get this merged?
I tested it locally by following these steps:

clone this repo
copy package-lock.json to public/package-lock.json
encode public/package-lock.json (78kb) to public/package-lock.json.br (17kb) via https://dominikhlbg.github.io/brotlijs/
run ./bin/http-server
open chrome at http://localhost:8080/package-lock.json, open devtools-network, ctrl+f5, see original package-lock size
terminate previous process, run ./bin/http-server -b
open chrome at http://localhost:8080/package-lock.json, open devtools-network, refresh, see reduced package-lock size

I think this PR is working as intended 👍

Heya, don't mean to be a bother but just wanted to ping about this again since there's a project I'm working on that's waiting for this support. Keep up the good work!

@BigBlueHat do you have the ability to merge? And if so, what do you think?

@thornjad sorry I hadn't responded earlier other than the labeling.
Since this bumps the underlying node-ecstatic to v3.3.0, I want to be sure that doesn't have any unexpected consequences. IIRC there was some significant shift in the MIME libraries in use which may effect custom type loading for some folks.
We've also got a bit of a tangle with #464, but since you're the author of both, maybe you can help queue those in your preferred order? 😃
Regardless, I do want to get this merged--and ideally soon.
We should also get some tests written for the .br and the priority order thing around .br priority vs. .gzip.

Hey, that's alright.
Tests are a good idea. I did put some in ecstatic, so we are partially covered that way, but http-server should be properly testing itself. I actually keep a sticky note on my desk that just reads "You need more tests".
For the MIME libraries, tests would probably be good here as well, but I've never used custom types in real life, so I'm not sure what to look for.
As for #464, either PR can go first and the other can be updated to match. This PR is a more meaningful change, so maybe this one should go first.

@thornjad wrt to mime stuff, I may be remembering this all wrong.  It looks like #35 is a pending request which has an old PR #152 which may be obviated by node-ecstatic's direct mime type customization.
PR #472 exposes the raw JSON mime config to the command line, but doesn't handle the .types loading which node-ecstatic makes available as a path set on --mime-types.
In short, this is probably not a blocker. 😄 But it is something there's long standing desire for, so maybe we tackle that once much of this is in place.
With some basic tests for this code, I'd be say it's ready to go (it reads well anyway).
Thanks for the help @thornjad!

Hi! I have been following this issue for a while. May I know when will this be merged/released?

@wentjun sorry for the delay! I am working on a giant merge train so this should be merged soon!

Awesome, happy to see this go in!


Fix bug in needDefaultGW()

Related to https://github.com/docker/docker/issues/28630
Signed-off-by: Alessandro Boch<EMAIL_ADDRESS>

LGTM


v3 slide and empty page problem

Functions that v2 normally do work incorrectly in v3
You can watch the smooth running version in v2 in the video below.
https://user-images.githubusercontent.com/973302/205830726-4577079f-588c-4508-8c3a-ed8be51fd5f4.mov

You can watch the errors that occurred when I upgraded to v3 without making any changes, in the video below.
https://user-images.githubusercontent.com/973302/205829969-2e9b4220-a05f-4e47-86ec-1451386e44ce.mp4
export default function Router(): FunctionComponent {
    return (
        <SlideRoutes duration={TimeSpan.milliSecond.threeHundredFifty} destroy={true} timing="ease-in-out" animation="slide">
            <Route index={true} path={NavigationPath.dashboard} element={<Dashboard/>}/>
            <Route path={NavigationPath.conceptSplashPage} element={<ConceptSplash/>}/>
            <Route path={NavigationPath.conceptMainPage} element={<ConceptMainPage/>}/>
        </SlideRoutes>
    );
}

Can you provide a minimal reproducible demo of your project?

@nanxiaobei sample demo project here
https://github.com/webyonet/problem-demo
the problem is exactly if you do a redux related action on page changes, v3 works with problems
I change theme with redux on page transitions and v3 starts working problematic, but there is no such problem in v2 and it works very well

Fixed in 3.0.3, please try again.

@nanxiaobei thanks problem fixed


Try to use ES6 imports instead of CJS

Details
We're experimenting here to see if we can use ES6 imports in a Github Action.
Fixed Issues
Fixes https://github.com/Expensify/Expensify/issues/153378
Tests
This PR is the test 🤯
I tested this by taking away most of the functionality of the bumpVersion action (just fetch tags using the github client sdk and then console.log the results) and adding it to the test workflow so it triggered whenever I pushed code to this PR. Since that worked with ES6 module imports, it's safe to assume that this will work just the same. But the only way to know for sure is to merge this PR.
Tested On

Github

I'm not sure I see the clear value in this change and don't necessarily agree with the premise in the linked issue.
That said, I also don't see the harm in experimenting with ESM in the github actions and also barely understand how github actions work tbh.
@AndrewGable thoughts?

I am a bit confused, why can't we test this before merging by just changing the trigger to push?

@AndrewGable I did do some testing. Checkout this workflow run, where I checkout [this commit](https://github.com/Expensify/Expensify.cash/pull/1396/files/77f88b4a059392a972d6a7156f54909eca4d2f60 from this branch and successfully run ES6 code in a JS Github Action. I should have included that in the description, but technically speaking it isn't a perfect test but should give us some confidence that this will work.


locate gps point in which lanelet

Hi,I use the function findnearest to locate GPS point in which lanelet,but it didn't find correct lanelet id.
And my osm map is in China,I modify the origin in code.
I selected GPS point in my osm map with JOSM,in JOSM I use utm 50N projection,but I think the projection doesn't matter because I make comparing with different projection in JOSM with same location and their GPS similarily.
Is there something I need modify?How can I get the right lanelet id?thank you!

Without a code snippet, I can only speculate what you did wrong. Did you try computing the distance between the point and the outline of the lanelet that you were expecting? If it is lage (several thousand kilometers) it might be that you used inconsistent transformations for loading the map and transforming the point. If it is smaller, then it might be that there is something wrong with the map or that ther actually is a lanelet which bounding box is closer.

So, how can I locate the GPS point in which lanelet? Looking forward to your reply, thank you.

Should I create a R-tree  to solve this problem?

Sorry, I don't understand what you mean. If you want to locate the Lanelet that is closest to some gps point you could do (in python):
gpsPoint = lanelet2.core.GPSPoint(45,8)
plocal = myProjector.forward(gpsPoint)
lanelets = lanelet2.geometry.findNearest(myMap.laneletLayer, plocal, 1)

where myProjector is a projector object that was used to load the map (myMap) and gpsPoint is the coordinate you are searching with.


CB-9739 Prevent coho from creating broken packages including CRLF on …

Windows
We may also need to add .gitattributes with
* text eol=lf

to force LF line endings in the repos.
Jira issue

+1 to * text eol=lf in .gitattributes - most commonly used tools on Windows (other than notepad :smile:) should handle Unix line endings fine.


Log in to Github redirects to website instead of app

After granting GitLight github app to necessary organizations, I pressed allow and it redirected me to Vercel hosted website instead of opening on application. Retrying also redirects to website not app.

Oopsie, seems like it redirects to application after pressing "Open on app" when it actually opens on Vercel hosted website. It would be better if it opened on app automatically after logging in via GitHub

I actually fixed this a few prs back but I have not released a new version yet. Will publish one soon with the fix in it.
Thanks for pointing this out!


Web Designer Functions availability

Hello,
I have recently also posted a post on your forums, but still haven't got an answer.
I was told to make a new issue with a reverence to the old one (https://github.com/FastReports/FastReport/issues/126)
My question is: when do you expect to implement the functions for the online designer? We are using the desktop version, and recently tried to migrate the desktop solution to the web, but this is blocking our release.
Here is a screenshot of the desktop version, what I am missing in the web version:

Hello!
There were implemented fixes for  functions in Core and Open Source versions. Check it out and write us if you still having issues.


Thiago de Carvalho - MongoDB - Exercício 05 resolvido

quinto na fila!

Importar as collections restaurantes e pokemons.
Soh mostrou a de pokemons!


any protection against slowloris attack?

any protection against slowloris attack?

There's an idle timeout. Anything beyond you'll have to implement on the HTTP layer.


Experimental support for Gateway API

Description
Extend Istio CRD with configuration to enable Gateway API. This configuration should only be available in experimental offering. In managed offering (fast, regular) it should not be possible to enable Gateway API. CR should be validated, set to Warning and configuration should not be applied. Consider introducing specific condition for it.
This configuration should be implemented as additional in Istio CRD spec, called experimental.
At this moment Istio supports 6 environment variables for Gateway API configuration. 4 of them are enabled by default. These ones do not need to be exposed in experimental configuration. PILOT_ENABLE_ALPHA_GATEWAY_API should be configurable, disabled by default. Research PILOT_MULTI_NETWORK_DISCOVER_GATEWAY_API and consider also exposing it under experimental spec.
ACs:

[ ] it is possible to enable Gateway API for experimental offering
[ ] Gateway API related documentation is marked as experimental
[ ] Experimental implementation is not leaked to managed solution (Kamil's POC)
- [ ] Gateway API UI is marked as experimental

Reasons
Enable alpha / beta feature in experimental offering
DoD:

[ ] Provide unit and integration tests.
[ ] Provide documentation.
[ ] Provide ADR --> @barchw
[ ] Verify if the solution works for both open-source Kyma and SAP BTP, Kyma runtime.
[ ] If you changed the resource limits, explain why it was needed.
[ ] If the default configuration of Istio Operator has been changed, you performed a manual upgrade test to verify that the change can be rolled out correctly.
[ ] Verify that your contributions don't decrease code coverage. If they do, explain why this is the case.
[ ] Add release notes.

Attachments
part of: #669
https://istio.io/latest/docs/reference/commands/pilot-agent/

atm Istio supports 6 env variables that are related to Gateway API. Consider wrapping them and expose all of them.
https://istio.io/latest/docs/reference/commands/pilot-agent/

/assign
I suggest that instead of "experimental" the field is called alphaFeatures.
spec:
  alphaFeatures:
    pilot:
      gatewayAPI: true
(...)

With this approach it is easily expandable and contained in grouped list of features per Istio component.
Of course a good practice would also be that we somehow mention that specific version contains alpha features and that no SLAs are supported for this config.
I'd also be very cautious with building multiple docker images and how we generate them now. Ideally this should be handled in separate stage with Job Matrix and possibly use https://github.com/marketplace/actions/build-and-push-docker-images instead of the current flow.

I suggest that instead of "experimental" the field is called alphaFeatures.

@Ressetkk i'm more in favour of keeping experimental. it has connection to image name and distribution channel. other than that experimental API should be easily transferrable to regular API.


high res screen problems

Original report by Jonathan Le Vallois (Bitbucket: JLeVallois, GitHub: JLeVallois).
Attachments: SoQtGLWidget.cpp | SoQtGLWidgetP.h

When using a QApplication with AA_EnableHighDpiScaling scaling of icons etc works fine for different screen resolutions, but the viewer area created via SoQtExaminerViewer does not scale correctly.  In fact it is blank on high res screens.
This can largely be fixed by changing part of the definition of SoQtGLWidget::setGLSize() as follows:
if (PRIVATE(this)->currentglwidget) {
int frame = this->isBorder() ? PRIVATE(this)->borderthickness : 0;
PRIVATE(this)->currentglwidget->setGeometry(QRect(frame, frame, PRIVATE(this)->glSize[0], PRIVATE(this)->glSize[1]));
#if QT_VERSION >= 0x050000
PRIVATE(this)->glSize = PRIVATE(this)->glSizeUnscaled * PRIVATE(this)->currentglwidget->devicePixelRatio();
#endif
}
i.e. moving the line of code that does the scaling of glSize to after the call of setGeometry.
I also found it necessary to add
#define QT_CLEAN_NAMESPACE 1
before the includes in SoQtGLWidgetP.h
These changes work for simple test cases and our much more complex code.
There still remains an issue with dragging the viewer from one screen to another with a different resolution.  In this case the viewing area is not resized correctly in that what it contains disappears from view.  As a workaround this can be corrected by maximizing and un-maximizing the program panel.

Here is a minimal example (C++ and CMake) to visualize this issue. In order to test this in a non-HiDPI screen, the environment variable QT_SCALE_FACTOR can be used, e.g., on Windows with set QT_SCALE_FACTOR=2 before running the example.
#include <QApplication>
#include <QWidget>
#include <Inventor/nodes/SoCone.h>
#include <Inventor/nodes/SoSeparator.h>
#include <Inventor/Qt/SoQt.h>
#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>

int
main(int argc, char** argv)
{
	QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
	QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);

	QWidget* widget = SoQt::init(argc, argv, argv[0]);
	widget->resize(640, 480);

	SoSeparator* root = new SoSeparator();
	root->ref();

	SoCone* cone = new SoCone();
	root->addChild(cone);

	SoQtExaminerViewer* viewer = new SoQtExaminerViewer(widget);
	viewer->setSceneGraph(root);

	SoQt::show(widget);
	SoQt::mainLoop();

	root->unref();

	return 0;
}

cmake_minimum_required(VERSION 2.8.11)

project(testSoQtHiDpi)

find_package(OpenGL REQUIRED)
find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets QUIET)
find_package(SoQt REQUIRED)

set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

add_executable(testSoQtHiDpi testSoQtHiDpi.cpp)

target_link_libraries(testSoQtHiDpi ${OPENGL_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5OpenGL_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${SoQt_LIBRARIES})

With set QT_SCALE_FACTOR=1, the result is as expected:

With set QT_SCALE_FACTOR=1.5, the window size does not match:

With set QT_SCALE_FACTOR=2, the screen appears completely black:

The patch in roboticslibrary/soqt@72c62073656780df44e63395596cf1f6966eb6ed solves these issues, but there are additional issues with multiple screens of different DPI factors that can be tested via QT_SCREEN_SCALE_FACTORS, e.g., set QT_SCREEN_SCALE_FACTORS=1;1.5.


attempt to implement the name table checker specified at issue #545

#545

Let's keep this PR open until we can confirm its working correctly :)

@davelab6  Except for the open question at https://github.com/googlefonts/fontbakery/issues/545#issuecomment-232220090 I think that this pull request is ready for merge.
I tested it with all TTF files from here: https://github.com/davelab6/glyphs-export/blob/fdd7eb657455a97f9f2827a2804d0030299e467b/Separate/TTF/
And all of them fully comply with the checks I implemented here.

OK I'll give it a read thru now and comment here shortly


Fix uploading multiple images from Photo Library on iOS 9.

When selecting images from the Photo Library in iOS 9 (say, using Safari), all images are incorrectly given the name image.jpeg. This bug was corrected in iOS 10. Unfortunately, this bug makes it impossible to upload multiple photos from the Photo Library using iOS 9.
This PR addresses that bug and postfixes a simple index counter to disambiguate the filenames. It borrows inspiration from a similar bugfix for a different library.
Bug repro steps

Open Simulator running iOS 9 on any device (e.g. iPad 2).
Attempt to upload multiple photos from the Photo Library.

All photos are named image.jpeg and only one will be uploaded. 🐞

Other notes
I tried writing a test for it, but I'm unfamiliar with the testing suite and didn't see an obvious way to test it, based on the tests that are currently there. I am very receptive to guidance on how to write a test that would capture this case. (I tried putting it next to some of the tests that invoke _onChange but couldn't get the input to contain multiple files for the test.)
Also, I recognize the check is rather primitive and not exhaustive, but I also anticipated edge cases (e.g. uploading image.jpeg, image.jpeg, and foo.jpg would result in strange behavior) was highly unlikely. Happy to revamp the check if you think it's necessary. I also wasn't sure what basic JS functionality would be available to me for maximum browser compatibility -- I'm so used to working in ES2015 and above these days. This solution was good enough for us, so I thought I'd share it, but if it needs to be more generalized LMK and I can poke at it some more.

Thanks for your contribution, @AndrewSouthpaw !
I'm not sure if the client-side is the right location to fix this issue.
As far as I'm aware, it is technically correct to create a multipart message with duplicate parts, including duplicate filenames sent via content-disposition header.
Although the issue might be fixed in iOS 10 and on Safari, other clients might still send you duplicate filenames.
So my advice would be to handle this on the server-side and rename files accordingly if there are duplicate filenames.
e.g. the example PHP code does it in the get_unique_filename  function.
Is there any reason why you wouldn't be able to fix this on the server-side?

Interesting, I didn't know about being able to upload multipart message with duplicate parts.
I have a couple thoughts still in favor of a client-side solution.
One is that the UI end state looks confusing and different from a normal case. It's not exactly wrong, but it's kinda not right either.

And the animations along the way are pretty perplexing as well.

The other thought is that you're totally right, you could send a multipart message and have it parsed by the server, and that's definitely not obvious to the casual user of this library. People want it to Just Work, and we never would've thought to check iOS 9 compatibility.
We didn't even know the multipart message with duplicate parts was a possibility, and wouldn't have thought to parse it into separate files on the server, and it seems like more work and more error-prone than disambiguating on the client-side.
(I would also be happy to rework the PR to be a more general solution to handle duplicate filenames on the client side should they arise, if that helps the PR along.)

Can you reproduce the animation issue on the demo?
I could not reproduce any such issue when testing on Chrome with same-named files (you can test this easily by adding the same file from different folders).
It is also likely unrelated to file naming.
There is documentation on how to provide alternative filenames in the Wiki:
https://github.com/blueimp/jQuery-File-Upload/wiki/API#how-to-provide-alternative-file-names
The core library does already provide support for the uploadName property as alternative name - please note that the name property itself is read-only, see https://developer.mozilla.org/en-US/docs/Web/API/File#Properties
I agree that the UI listing for files with the same name is not ideal.
But I also don't think listing the same file name with increasing suffix numbers is much of an improvement.
I'm thinking that for mobile devices, it's probably best to not display any filename at all, since filenames on mobile devices are usually not set by the user.
So yeah, I think the solution for this issue is a UI change, not a change in the core library.
I've released a new version that adjusts the sample template to hide filenames on mobile devices:
https://github.com/blueimp/jQuery-File-Upload/commit/b29ff8ea8e7f094992af5c2567f9ac38349efc70

Interesting! The demo worked fine on iOS 9 + Safari. I'll have to dig around in our code to see how it's being used and what is the difference from the example.
If you specify an uploadName would that mean not having to parse duplicate names on the server as you mentioned previously? We don't have the liberty of parsing it on the server because we're using pre-signed keys for direct uploads to S3.

Yes, the uploadName is specifically meant to transmit an alternative file name to the server (the UI will still show the original name).
I did not know that window.orientation is deprecated.
Can you point me to some info on this?
Did not find a deprecation mention on https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation

That's window.screen.orientation, you were using window.orientation. Link :-)
I guess the question for me remains... this still seems like a gotcha for iOS 9 users. We never would've thought of checking for this, until we received some complaints from users. The library says it's compatible for Apple Safari on iOS 6+, but it effectively breaks for iOS 9 without special code either on the client or server.
Are you viewing it differently?

Thanks for the heads up regarding the window.orientation deprecation.
I've added a new commit (https://github.com/blueimp/jQuery-File-Upload/commit/d1f2707591a9be581948be32f3c2639879e1f498) that uses window.innerWidth instead.
Since the cutoff size is 480, that means tablet devices (e.g. iPad) will still show the file names.
Regarding non-unique filenames, my opinion is still the same:
Proper handling should be done on the server-side.
If non-unique filenames pose an issue for you, you might have the same problem no matter which client-side solution you choose if
a) The same user uploads files with the same name at different times
b) The same user uploads files with the same name from different browsers
c) Multiple users upload files with the same name to the same storage directory
In addition, should you support Internet Explorer (e.g. the only still supported version: IE11), you will receive filenames that contain the original directory path as part of the filename.
If you can mitigate these problems and you still have a need to upload files in one session with unique filenames from client-side, you can always make use of the library's callbacks to set the uploadName property as explained in https://github.com/blueimp/jQuery-File-Upload/wiki/API#how-to-provide-alternative-file-names.
Since you're doing direct uploads to S3, overriding uploadName does make sense - I would recommend you to generate random, unique filenames and store the original filenames in a database.
In general, I would treat the original, sanitized filenames as labels that are helpful to users when downloading files, but not ideal as storage identifiers if it can be avoided.

All of that makes complete sense. From what I understand of your position, there are many cases in which non-unique filenames may need to be handled, as discussed in reasons a), b), and c), all of which may not be addressed by a client-side solution, but could be fully addressed by either a server-side solution or using the uploadName trick.
 I understand if you want to just be done with the conversation and I'll drop it. 😅
The position you're talking about presumes that the user of this library knows they need to handle duplicate filenames being uploaded in the same batch. For our case, situations a), b), and c) were not a big deal -- they would simply result in duplicate files created in our storage (S3).
However, we did not know we'd need to handle the case where duplicate filenames were uploaded in the same batch. We thought this would be impossible, because a directory cannot contain duplicate filenames and we could only choose from one directory at a time. The iOS 9 bug tripped us up: instead of uploading all of them, it would effectively only upload one (because S3 wouldn't be able to handle the multipart upload and split them into separate files). We couldn't have known about handling the case until a bunch of users complained about it.
So... I agree with you that it seems like generally a client-side solution is not the "correct" fix, and also it leaves unsuspecting folks supporting iOS 9 in the position of potentially stumbling upon this bug.
If an actual change to the code isn't warranted, what would you think about adding a caveat in the README somewhere, perhaps a disclaimer about supporting iOS Safari browsers and point to this discussion?

All of that makes complete sense. From what I understand of your position, there are many cases in which non-unique filenames may need to be handled, as discussed in reasons a), b), and c), all of which may not be addressed by a client-side solution, but could be fully addressed by either a server-side solution or using the uploadName trick.
 I understand if you want to just be done with the conversation and I'll drop it. 😅
Dealing with situations a), b), and c) are different from our situation, as I see it. For us in each of those cases, it's okay for the file to be overwritten, which is what would and should happen in our case. (e.g. User uploads img_001.jpg and then later uploads img_001.jpg again, we'd want it to overwrite.) In my eyes, we're dealing with a case D, where they're uploading multiple files that shouldn't be the same filename but are because of this iOS 9 bug. We did not know we'd need to handle this case. We thought it would be impossible, because a directory cannot contain duplicate filenames and we could only choose from one directory at a time, and that's where the bug tripped us up.
So... I agree with you that a client-side solution is not the correct way to solve for situations A, B, and C, and also it leaves unsuspecting folks supporting iOS 9 in case D at risk for running into this problem.
If an actual change to the code isn't warranted (which I concede is fair -- uploadName is sufficient to solve for the problem), what would you think about adding a caveat in the README somewhere, perhaps a disclaimer about supporting iOS Safari browsers and point to this discussion?

Don't worry @AndrewSouthpaw, I think your comments and this discussion are definitely constructive.
I am somewhat reluctant to make changes to this project, since I consider its API stable and the project itself in maintenance mode.
That being said, I agree with you that good software should not surprise developers in unexpected ways.
I am open to fixes for specific Operating System or Browser versions, if they affect a larger number of users.
According to Apple, versions below iOS11 account for less than 5% of the user base - however, iOS9 is the latest supported version on iPhone 4S and similar older Apple mobile devices.
So I think there is definitely a need for at least a workaround for use cases like yours:
Fixing non-unique filenames for direct uploads to S3 (and direct uploads to S3 make a lot of sense) for users on older iOS devices.
I think to to do this properly would be to add all selected files to a map and for each file, check if its file name already exists and if it does, adjust the uploadName property for that file, adding a counter suffix similar to the PHP upcount_name method.
I'm still not sure if this code should be included in the core library, but am definitely up for a note in the README and an updated example in the Wiki.
If this should be added to the core library, I'm thinking it should be something that has to be enabled with an option setting.

Ok! Sorry to let that go stale.
I added some more code, de-duping in the way you requested, which makes sense.
I also added a snippet to simply check if they're all duplicate names, and dedupe them if that's the case (because it's indicating a bug). Happy to drop if you think that's not worth it.
Wasn't sure if this.options.dedupeFilenames is how you access it or the name you'd want, happy for suggestions.
Once we square away the implementation details, then I can make an edit to the README (e.g. if turning on a flag is required, then I'd mention that in a caveat about browser compatibility perhaps)

Hey @AndrewSouthpaw,
I've added a new commit that hopefully solves this problem, but also helps to address some of the issues I mentioned in previous comments here.
I've introduced a new option called uniqueFilenames that can be seeded with a map of existing filenames, e.g.:
{ "image.jpg": true, "image (1).jpg": true }

It will override non-unique filenames on upload (via content-disposition header) by adding increasing number suffixes, e.g. "image (2).jpg".
The map of existing filenames can also simply be the empty object ({}), which will also enable the unique filenames feature.
Since this option specifically addresses direct file uploads to a storage that doesn't support duplicate filename handling (like Amazon S3), maybe it makes sense to create a new Wiki page, explaining the circumstances and how to enable and use this option.

Hm, interesting. Solves the problem in a different way, but gets the job done either way. 😄 Mind if I submit a PR to update the README and add the caveat for iOS 9?

Actually... scratch that. The solution fixes the issue about uploading to S3 (thank you!), but it doesn't address the wiggly uploading animation as shown in the GIFs of the OP.

Regarding the animation issues you encounter, we did establish that this was not reproducible on the demo, as posted in your comment above.
And yes, feel free to provide a PR with an updated README - please make sure to point out that this affects mainly iOS9 and should usually be addressed on server-side, but the option is there for cases where no server-side support is given, like direct uploads to S3.


Add required ariaControls to Tab and TabButton

Adds a required property called ariaControls which is set as aria-controls for the element.
This pull request also introduces examples of how to use the tab and tab button with content related to the tabs.
Tab example:

TabButton example:

Fixes #626

Coverage remained the same at 82.035% when pulling 52107d2d5de86250fb6595269fc0f6d76fd8a846 on exoen:develop into 9a39ec622a6078dd6d26978442eb6225f56ac682 on SpareBank1:develop.

Actually, we have a policy of not renaming props, so really all you need to do here really is
Tab.propTypes = {
+ 'aria-controls': string.isRequired,
}

See https://github.com/SpareBank1/designsystem/blob/develop/CONTRIBUTING.md#ikke-rename-dom-props for details.
Sorry, I was a bit quick with the review earlier.

I've addressed the comments and rebased.
It says that merging can be automatically performed once the review has been addressed. It seems that GitHub does not pick up on update because of the rebase. It rebasing not ideal when addressing PR reviews?
Anyhow, this can be merged now =)

Honestly I've no idea how that automatic merging stuff on GitHub works but I personally prefer rebasing in almost all cases either way, since it keeps the history a lot cleaner.
Anyway, merging now. Thanks 👍