Axios limits max file size

Behaviour
Unable to upload a large file to virustotal with action.
Steps to reproduce this issue

Create a file with size 140MB (React + Electron app)
Attempt to upload via action
Get error

Expected behaviour
File is uploaded to virustotal via upload url, well within larger file size limits.
Actual behaviour
The following error is output: AxiosError: Request failed with status code 413
Configuration
    - name: VirusTotal Monitor Scan
      uses: crazy-max/ghaction-virustotal@v3
      with:
        vt_api_key: ${{ secrets.VT_API_KEY }}
        vt_monitor: true
        request_rate: 2
        monitor_path: /home/runner/
        files: |
          /home/runner/nft_viewer.exe
          /home/runner/nft_viewer.deb

Logs
Cannot send nft_viewer.exe to VirusTotal Monitor at /home/runner/nft_viewer.exe: AxiosError: Request failed with status code 413

The API reference for nodejs is just the following:
const sdk = require('api')('@virustotal/v3.0#1mk70h3zl6yyhea6');

sdk.filesUploadUrl()
  .then(res => console.log(res))
  .catch(err => console.error(err));

No mention of special config, so must be an axios header issue?

Hum that's odd, https://github.com/crazy-max/ghaction-virustotal/pull/127 should have fixed this. Did you check your VirusTotal Monitor bucket is not full?

Nevermind, this is not implemented for VirusTotal Monitor: https://github.com/crazy-max/ghaction-virustotal/blob/c61a849af78fb8f96d9813dd35ca6ee78c3dde79/src/virustotal.ts#L66-L92

Any updates on this? Or is this a dead project? I instantly ran into 2 open issues. #160 I can work around by listing all the files individually, but this issue makes the project unusable.


Cleanup filter UI

Sample of filled in versus not:

Talked offline (online?), will fix others in another PR since they're bigger problems and not limited to this specific PR


Suggestion to replace erlang:now with os:timestamp

We use erlang:now in several places on the critical path of the client operations.  Apparently it uses a global lock to ensure that every call to this gets an increasing timestamp.  This could be a bottleneck.
Suggestion to replace this with os:timestamp.  With this different calls should be able to get the same timestamp, or concurrent processes might be able to read out of order.  For this I think we have to be careful when creating new transactions and when calculating the stable time per partition, but it should be solvable.

erlang:now/0 is deprecated in erlang documentation, so we should change it anyway.
http://www.erlang.org/doc/man/erlang.html#now-0

Ah nice.  Maybe we can use this then?
http://www.erlang.org/doc/man/erlang.html#monotonic_time-0
Since its not strictly increasing, we might calculate the stable snapshot using < instead of =< for example.  I think we already do this?
Also maybe we should ensure transaction ids are unique.  Right now they are {time, pid}, but the same process could make two transactions with the same time if it is faster than time increases!

Oh no, maybe this instead:
http://www.erlang.org/doc/man/erlang.html#system_time-0
The previous one only gives an offset from some random point in time.
And we have to choose the correct time warp option I guess:
http://www.erlang.org/doc/apps/erts/time_correction.html#Time_Warp_Modes

I ran a benchmark just to check with 3 nodes, and it showed about a 6-7% performance increase by using os:timestamp over erlang:now.  I guess this would be more significant with more machines.
The problem is that os:timestamp isn't safe for the clocksi protocol.  Unfortunately the functions that would be safe as described my previous post are not available in the version of erlang we are currently using.  They are available in OTP 18 as described here:
http://www.erlang.org/doc/apps/erts/time_correction.html
Actually here it also says
"However, you are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is and forever will be a scalability bottleneck."
So maybe we should upgrade.

The issue with upgrading is in the dependency with riak-core.
So, upgrading would be non-trivial (unless we get away from riak core).

On 29.09.2015, at 18:47, tcrain<EMAIL_ADDRESS>wrote:
I ran a benchmark just to check with 3 nodes, and it showed about a 6-7% performance increase by using os:timestamp over erlang:now. I guess this would be more significant with more machines.
The problem is that os:timestamp isn't safe for the clocksi protocol. Unfortunately the functions that would be safe as described my previous post are not available in the version of erlang we are currently using. They are available in OTP 18 as described here:
http://www.erlang.org/doc/apps/erts/time_correction.html http://www.erlang.org/doc/apps/erts/time_correction.html
Actually here it also says
"However, you are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is and forever will be a scalability bottleneck."
So maybe we should upgrade.
—
Reply to this email directly or view it on GitHub https://github.com/SyncFree/antidote/issues/151#issuecomment-144117425.

Maybe upgrading riak core to comply with erlang v.18 would not be that hard.
Other idea could be to use logical physical clocks? I think the design removes the issue Tyler mentions, but I am not totally sure about it.
Can take another look at the paper.
Alejandro Tomsic

El 29 sept 2015, a las 13:00, Annette Bieniusa<EMAIL_ADDRESS>escribió:
The issue with upgrading is in the dependency with riak-core.
So, upgrading would be non-trivial (unless we get away from riak core).

On 29.09.2015, at 18:47, tcrain<EMAIL_ADDRESS>wrote:
I ran a benchmark just to check with 3 nodes, and it showed about a 6-7% performance increase by using os:timestamp over erlang:now. I guess this would be more significant with more machines.
The problem is that os:timestamp isn't safe for the clocksi protocol. Unfortunately the functions that would be safe as described my previous post are not available in the version of erlang we are currently using. They are available in OTP 18 as described here:
http://www.erlang.org/doc/apps/erts/time_correction.html http://www.erlang.org/doc/apps/erts/time_correction.html
Actually here it also says
"However, you are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is and forever will be a scalability bottleneck."
So maybe we should upgrade.
—
Reply to this email directly or view it on GitHub https://github.com/SyncFree/antidote/issues/151#issuecomment-144117425.

—
Reply to this email directly or view it on GitHub.


Persistent Filter not getting named correctly

Hi,
In the readme it says

The name of the json file is inferred from the name you give to your FilterDataGrid control.
If it is not provided, the type name of the source collection is used, for example for a generic list of type Employees, Employees will be used.

However, the persistent filter json is saved with the name persistentFilter.json regardless.
I would like to suggest that the SavePreset() and LoadPreset() could take a string argument, which would represent the name of the file.
E.g;
MyDataGrid.SavePreset("MyPresetFilter");
MyDataGrid.LoadPreset("MyPresetFilter");

Would save and load MyPresetFilter.json
This would achieve more control over the persistent filters, and allowing the functionality to have multiple persistent filters setup for a single table.
I would not mind having a go at trying to implement this and submit a pull request.

Hi,
The SavePreset() and LoadPreset() methods work independently of the PersistentFilter property, the name is set on the condition that this property is set to True.
   if (PersistentFilter && collectionType != null)
       fileName = !string.IsNullOrEmpty(Name) ? $"{Name}.json" : $"{collectionType?.Name}.json";

I'll remove the condition


fix: cross disk relative paths

This PR contains a:

[x] bugfix
[ ] new feature
[ ] code refactor
[ ] test update
[ ] typo fix
[ ] metadata update

Motivation / Use-Case
We use Karma and Webpack, as the base for a testing tool, which can be installed globally. On Windows there is an issue when the tool is installed on one drive (C:), and the codebase being tested is on another drive (F:).
The issue is with relative path resolving on two absolute paths on different roots/drives, which returns an absolute path. This causes the process to get stuck infinitely after compilation, due to not being able to read the output (because the lookup key is not relative).

Breaking Changes
There are no breaking changes.

Additional Info

Hey, is this something you are still interested in?

Yes we are still interested in this. I just rebased on latest master, what else can we do to move this forward?

He @mvanbutselaar , sorry for the delay. We just released a v5.0.0 release that changed quite a bit since this PR. If you're still interested, would you mind seeing if this is still an issue against the latest release?
We no longer use relative paths from what I cant tell so hopefully this is resolved for you :crossed_fingers: .
If not I can do my best to help you get this resolved in the latest version.
Thanks for your contribution, it is much appreciated!

By the way, paths are still broken for Windows with the current master build:
Error: EINVAL: invalid argument, mkdir 'C:\Users\Simon\AppData\Local\Temp\_karma_webpack_82360\D:\code\osmd\opensheetmusicdisplay\dist\src'
Maybe something like this PR is still needed.

closing due to lack of feedback


Announce new Tsar when announcing the new Black Card in PM

At the culmination of a round, we announce the winner, the winning play, and the new Black Card in PM whilst simultaneously announcing the winner, the new Black Card and the new Tsar in the channel. We should probably make it announce the same things in each, so one doesn't have switch windows or issue commands to get the full story.

I did not think that people cared that much who the Tsar was, but I suppose that some people want to play tactically and craft their play to the Tsar, so okay then. :)


Cert-Manager: Remove import ExternalSecret

The import function doesn't work. We thought it would only pull in the certificate secret if it doesn't exist. However, that is not the case.
We found that when Cert-Manger creates a new certificate, it overwrites the secret managed by ExternalSecret, then ExternalSecret sees this change to the data of the secret, and overwrites the changes made by Cert-Manager. This causes Cert-Manager to request another certificate, only to be overwritten again.. The cycle continues until your Lets Encrypt certificate creations are exhausted for that domain.
So we will remove it until External-Secrets decides what to do for this issue:
https://github.com/external-secrets/external-secrets/issues/4099
The only thing that this will affect is bootstrapping clusters. It will create a new certificate upon bootstrap. Which doesn't happen very often, so you shouldn't be affected.

Hi! External Secrets maintainer here 👋
From v0.11.0 the refreshInterval: 0 behavior will never trigger an update. so I believe this is something worth for you to try.


ci: add importer to direct jest non-error output to stdout

Description
jest has an issue where non-error reporting also goes to stderr (see this issue https://github.com/jestjs/jest/issues/5064). This seems to be a long-running issue and one of the solution that's emerged is to use the jest-standard-reporter package as a reporter in jest config to properly direct output.
Our trigger for this is to be able to see test reporting as tests are executed in buck instead of having to wait to the end of the test run when stderr is collected and dumped to the terminal.
This segregation has additional potential benefits if we ever end up using any ci tooling that depends on error messages going to stderr and regular output going to stdout.

Closing because STDOUT also doesn't get printed to console in realtime


iOS 7 and iOS 8

I noticed that it is supported by only iOS8.1+
What part of the code makes it not work with iOS 7?

If you set Deployment Target to 7.0 there is an issue with Alerts, but if you fix that it should be working fine.

I did a search in UPCarouselFlowLayout.swift and don't see any mention of 'Alerts'?

You asked what part of code makes it not work with iOS 7.0 Look at ViewController.swift in Function:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let character = items[(indexPath as NSIndexPath).row]
    let alert = UIAlertController(title: character.name, message: nil, preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
    present(alert, animated: true, completion: nil)
}

In iOS 7.0 you cannot use UIAlertController like this. You need to fix this in order to compile with deployment target 7.0

Oh okay - Thanks. Just miscommunication. I was referring to the actual code and you were referring to the example project.


PHP deprecated method

On WP 4.9.5 I get this message:
Non-static method WP_Vul_Scanner::loadScripts() should not be called statically in /Users/victordieppa/Projects/flowable/docroot/wp-includes/class-wp-hook.php on line 286

Hi @dieppon , thanks for raising the issue!
Could you please provide more details on how to reproduce this issue?
Thank you and have a great day!

@dieppon are you still experiencing this bug or can we close out this issue?

We not longer use this shoftware

I'll close out this issue then, but if someone else sees this issue crop up please provide environment details and replication steps so we can help triage.


404 on all routes when using express-promise-router

I tried to follow the docs in the readme. It looks like the types have changed so that you no longer need the import * as, but even when I change that I get 404s on all routes that are working just fine with the default router.
Is there an easy way to debug what's happening so I can figure out whether the issue is how Overnight is setting up the router, or if instead it's an express-promise-router problem?

Same problem here. Any solution?

I ended up not using express-promise-router for now.

for me use express-promise-router can't get req.body but if use normal router at sample project its working fine,
thanks for sharing

Had the same problem, but I think I solved it!
It seems that when using express-promise-router, you have to pass a string to the @Get() (or any) decorator.
e.g. this returns 404 for GET /docs
@Get()
async getArray(req: Request, res: Response) {
    const docs = await this.docsService.getArray();
    res.json(docs.map(this.docMapper.toDto));
}

But when you pass an empty string to the decorator, it works!
@Get('') // pass '' if the route takes no params
async getArray(req: Request, res: Response) {
    const docs = await this.docsService.getArray();
    res.json(docs.map(this.docMapper.toDto));
}

I don't know where the issue lies exactly, but this seems to have solved it for me.


Move swarmd into its own Go module

Related to #3167
Related to #3169

The dockerapi executor has a dependency on the Docker API client, making it one of the primary reasons why Swarmkit depends on github.com/docker/docker. But it is only used by swarmd. Move the swarmd commands and the dockerapi executor into a separate Go module to help break the dependency cycle between github.com/docker/docker and github.com/moby/swarmkit/v2.
- What I did
Moved the swarmd commands (cmd/swarmd, cmd/swarmctl, cmd/swarm-rafttool, cmd/external-ca-example) and agent/exec/dockerapi into a dedicated subtree and made that subtree into its own Go module.
- How I did it
Very tediously.
- How to test it
- Description for the changelog

Did not know you could do something like this, but it wraps things up neatly.

Makefile should still build swarmd, some way or another, mostly because it's a very quick way of determining whether swarmkit as a whole actually builds. Though I guess running the tests has the same effect...

I've updated the make DOCKER_SWARMKIT_USE_CONTAINER=1 lint target to also lint the swarmd module packages, which (like go vet) also asserts that the packages can build. I've also ensured that the swarmd tests are run (without collecting test coverage) in CI.

Codecov Report

Merging #3170 (1c77ee6) into master (9afd813) will decrease coverage by 4.33%.
Report is 46 commits behind head on master.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3170      +/-   ##
==========================================
- Coverage   61.75%   57.42%   -4.33%
==========================================
  Files         155      149       -6
  Lines       31143    31330     +187
==========================================
- Hits        19232    17991    -1241
- Misses      10371    11937    +1566
+ Partials     1540     1402     -138


Sort bookmarks according to the tweet dates (descending/default or ascending)

Could be a checkbox option in the TBM GUI.
Descending: first tweet shown = bookmarked tweet with the most recent tweet date, then going backward in time.

Hi @Wikinaut ,
I currently sort by the same index as twitter does. The newest bookmark will be the first one displayed and the oldest one the last.
I don't know the exact time the bookmark got created, all I can do is to keep the fetch order (counting from 1000000 down). However this could break if you have > 1000000 bookmarks.
I used to sort by tweet date, but that would skew the order (compared to the original twiiter order):
https://github.com/Webklex/tbm/blob/main/app/app.go#L120-L125
Best regards,

I merged several distinct downloads and the tweets are unfortunately not sorted according to the dates.
Would like to have them sorted to printed date.


fix: use anthropic-ratelimit headers

Closes #357

Anthropic now always sends retry-after headers in these scenarios, so this change is no longer needed.


Type of CompletionItem.documentation doesn't match LSP spec

The LPS spec has type string | MarkupContent for CompletionItem.documentation, but this package has type AnyCodable?. If this is not indented, I can send a pull request.
Thanks

Hello!
This was not intended. Because of the huge number of types required to support the spec, I've cut corners in many areas. This is one. I would be happy to accept a PR that corrects this!

Thanks! I'll send a pull request


& instead of & in queryString attachment

I'm using queryString option to create a Google Analytics link with utm parameters.
Premailer convert the & conjiunction with the entity, breaking the link monitoring.
Correct link  ?utm_source=SOURCENAME?utm_medium=MEDIUNAME
Premailer output: ?utm_source=SOURCENAME&utm_medium=MEDIUNAME

I believe that's the correct behavior, if the & isn't encoded it would break html validation , isn't it?

Sorry, my issue was not clear (and i've made a little mistake in the "correct link").
It's perfectly right that the final url should have the encoded &, even if now HTML5 it's less strict on it.
But the scope (in my case and i think for many other users) is to use your plug-in for manipulating the code before using it in an Email Marketing Platform such as Mailup or Mailchimp. In these cases the code will be parsed by the internal converter that will encode the & of "&" once again, risking of breaking the tracking paramenter. Maybe for the future it could be interesting to have an option of enconding or not the &, depending on the final sending system.


warehouse: Use normalized project names for API tokens

cc @di @ewdurbin @dstufft

That certainly makes sense! We might need to do a quick verification after merge and notify users who hit this bug.


Remove support for OSX 32-bit builds.

All OSX releases after Snow Leopard (July 20, 2011) are 64-bit only. 32-bit OSX is deprecated.
Oracle and Openjdk (as far as I can see) do not provide any currently supported 32bit JRE builds.
It seems like including 32-bit osx builds is no longer necessary.

Neither lwjgl2 nor lwjgl3 include support for OSX 32-bit libraries.

Cheers!


Github copilot should operate in the output window to help diagnose error messages

In code window you can press Ctrl+I to access code pilot and ask it to explain. When you build and get compiler / linker error messages in the output window it would be nice if you could highlight the error, press CTRL+I and ask for explain / fix.

This could work but we have to make sure only /explain or other things that do not make edits are enabled.


Question - Is it safe to use cluster, a.k.a parallelism, with Firebase queue

From the doc, we learned that you can run multiple workers on the same thread in one CPU core. Will there be any reason stopping us from running Firebase Queue in NodeJs cluster, that is, multiple threads with multiple CPU cores; or running multiple Firebase Queues across multiple EC2 instances?
Thanks.

As a user, my guess is that it's totally safe.  As usual, the database handles locking, atomicity, etc. Firebase-queue is essentially parallel whether it's running in a single process, or multiple processes.

@ORESoftware I have the same assumption. Just want to get confirmation or future-proof guarantee from Firebase team in case breaking anything in production.

Would be nice to see confirmation on this as well +1

I have not used cluster with this library before - I see no reason it shouldn't work but I can't make any guarantees.


Ability to re-order tabs

Usually this is done via drag-and-drop.
A temporary solution could be implemented via the tab context menu.

A nice-to-have for sure.

v1.15 finally adds keyboard actions for moving a tab left/right. The actions are also available in the tab context menu (right-clicking on a tab button). Drag-and-drop is not implemented yet.

Drag-and-drop has also now been implemented for v1.15, although one cannot drag across UI splits or into another window.


I'm so confused :|

I have a server with 4 guilds (Earth, Water, Air, and Fire). Players have regular ranks (with prefixes) as seen on the paste. Once they choose a guild they get put into the guild ranks which have suffixes. I don't want those guild groups to be ranked as they may go in and out of those ranks and have nothing to do with ranking up like the other ranks. How do I set priority of regular ranks like Adventurer through Elder to not change in the /list when a player joins the guild groups (Earth, Water, Air, and Fire)? And without having to manually remove a player from that group then back in to reset it?
https://pastebin.com/UDK7F89S

Are you asking about users who are in 2 groups at the same time?
If so, then you'd want to set "weight" values for all of your groups.  You can see weight values in action right here.  The lower the value, the more important the group is.  So, in this linked example file, a user in both the "Guest" and "Admin" groups would display only the "Admin" group's prefix/suffix when using EssentialsChat or EssentialsXChat.

On an unrelated side note, several of your permissions are not real permission nodes as far as I know.  Be sure to assign nodes which are found in your plugins' documentation to avoid any confusion about why certain things don't work.
Examples:
• Line 268, 279, 290, 301 (I'm not familiar with any plugins that begin nodes with group);
• 260 (the data <limit> must be specified);
• Lines 235-240 are all redundant, since the "Owner" group gets absolutely everything from line 241;
Also, be sure to include an inheritance: section for your "Adventurer" group.  See line 19 of the example linked above.  To use commands to add the "empty" inheritance section, you'd type 2 commands into the console:
    pex group <group> parents add <parents> [world]
    pex group <group> parents remove <parents>

    pex group Adventurer parents add potato
    pex group Adventurer parents remove potato

Hmm, I want the Adventurers through Elders to always have priority over the guild groups. The example you have there looks like the weights are equal to the rank? If so, I would have to add the guild groups in the ladder? They'll be using commands to get into the guild groups, is there one that won't change their appearance in the /list in chat?
As for the perms listed there for  lines 268,279,290, and 301 those are for worldguard regions permissions. and thanks for 260 LOL. For 235-240 some plugins required the actual permission to be added individually in order to work so I just added them lol.
And for the Adventurer with it being the default if it still needs to inherit I can write anything in there?
Thank you SO much for all your help too!

If a user was in "Adventurer" and "Earth" (for example) and you wanted them to keep the prefix/suffix of "Adventurer", you would simply give "Adventurer" a lower number than "Earth" had.
So, you could give "Adventurer" a weight: 1500 to coincide with it's rank: 1500, and then assign a weight: 2000 to the "Earth" group so the "Adventurer" group's prefix/suffix is applied.
The "rank" values are actually only used if the /promote and /demote commands are being used, and— as far as I know —a group with no rank value is simply ignored as users are promoted and demoted along the "rank-ladder".  (In your case, I believe the rank-ladder name is "default", by default. heh)

And for the Adventurer with it being the default if it still needs to inherit I can write anything in there?

I use "potato" in the commands to show how the commands would give the group an inheritance, and then remove the inheritance, leaving behind the "empty" inheritance section, which PEX requires as of Minecraft 1.9 onward.
If you want to use a text editor to create an "empty" inheritance, just make it look like line 19 from my example file.

Awesome! Thanks Stormbow :)

You're welcome.  Feel free to post in this ticket again if you run into any other problems or questions.  Replies will get sent to my email even though the ticket is now closed.  :-)


add: Sharanya Chakraborty

Description
Added myself to the profiles list as per the instructions.
Related Issues
Issue #411
Checklist

[X] I have read and followed the Contribution Guidelines.
[X] All new and existing tests passed.
[X] I have updated the documentation to reflect the changes I've made.
[X] My code follows the code style of this project.
[X] The title of my pull request is a short description of the requested changes.

Screenshots

To re-sync the fork, i have had to delete my previous commit, hence this pr closed on its own, ill send another pr, pls check that


chore(deps): update dependency compression-webpack-plugin to v6.0.4

This PR contains the following updates:

Package
Type
Update
Change

compression-webpack-plugin
devDependencies
patch
6.0.3 -> 6.0.4

Release Notes

webpack-contrib/compression-webpack-plugin
v6.0.4
Compare Source

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

:tada: This PR is included in version 6.1.14 :tada:
The release is available on:

v6.1.14
GitHub release

Your semantic-release bot :package::rocket:


Styled component breaks Storybook

I'm trying to apply text-align:left; globally to all my previews, but when I add this:
export const withMarkup = withDocs({
  PreviewComponent: styled.div`
    text-align: left;
  `,
  FooterComponent: styled.div`
    text-align: left;
  `
});

Storybook as a whole breaks and all my stories disappear. Am I doing something wrong with the syntax?

Figured it out, never mind!


Folders cleanup after refactoring

I'd suggest more recogniseable structure of files:
/src/

  - int_n.cpp
  - policy_engine.cpp
  - policy_engine_states.cpp
  - driver_fusb302b.cpp

/include/

  headers

Also consider reduce amount of header files. IMO those are too much without need.

Hi,
There is some logic in the current layout:

fusb is in its own folder as that allows for drivers for future devices that are not the FUSB302 to be kept in their own folders
using lib and tests to keep these entirely separate
As FUSB will be kept separate, it feels better to keep the core logic in logic rather than src, since src is exceptionally general and looks like a filler folder that most projects use.

I agree pdb_conf will go, the others are split for a reason.

IMO folder's struct has "history", not actual at current moment.
First of all, as "stupid user", i need to include this dependency to "my project" without pain. If library has src/ + include/ folders, PlatformIO and Arduino should understand that by default (even without extra configs).

using lib and tests to keep these entirely separate

test/ will stay in root. I mean only lib/ should be reorganized, because it's too nested without need, and a bit unusual (include + src are more common/recognizable)

As FUSB will be kept separate, it feels better to keep the core logic in logic rather than src, since src is exceptionally general and looks like a filler folder that most projects use.

Just use driver_ prefix or suffix in file name. Let's be realistic. Here is only one driver .c file (for fusb302). May be... if miracle happens... second file fill be added for stm32gXX (but i'm a bit sceptical about that). 2 files max, not more.
Subfolders are nice when project have zillions of files. But for 4-5 files subfolders are annoying because prevent to see all at once.

Less likely to be the stm32xxxx driver and more likely to be the NXP or TI phy ic's added at some point (when need arises).
Given the project uses cmake, it is trivial to add into any cmake build system(add_library).
If your using a makefile based project just add its source to your normal pickup system.
If your building a library for Arduino or other externally controlled systems, I assume they have a relatively simple way for you to indicate to them how to build the code into a library and link it into the project, or include them in their build plan?
Honestly, haven't used platformIO since I first looked at it and it was very web focused which ruled it out in seconds.
What ancient editor are you using that doesn't collapse out extra folders in the path? 😂

If your building a library for Arduino or other externally controlled systems, I assume they have a relatively simple way for you to indicate to them how to build the code into a library and link it into the project, or include them in their build plan?

Sure, it's possible to add configs for arduino & pio. But if project organized according to "common conventions", it will work without configs.

What ancient editor are you using that doesn't collapse out extra folders in the path? joy

That's not about "possibility", that's about "usability". Every extra action => decrease usability.

I reshuffled to match pitchfork, should work for you now?
I have nothing to test Arduino and co on, so let me know if that folder layout works for you :)


Problem changing device orientation

Hello, Jay. :)
I don't know if I'm missing something, but I'm trying to get my app to support multiple orientations and the calendar won't update properly when the device is rotated.
Here's how it looks at first:

Then I rotate the device and:

When I scroll to a different date this appears to be fixed, so I'm scrolling at didRotate():

But even if it appears to be fixed at first, when I scroll to a different month and try to select a date the calendar breaks again. Any ideas?

Alright, i'll check this out later

Will check it once i finish work.
One thing, what is your scrollDirection?
And is it happening on 6.1.2? or masterBranch?

Horizontal. And it's happening on master. I didn't check 6.1.2, I assumed it's the same in that regard.

OK. Back. I was working on orientation updates this morning. Just made a push to master branch.

Uhm, it looks like it's still the same here. :/

I cloned the master branch and gave it a try in the demo app. The problem doesn't always happen, I'm not sure why… but it does happen:

To reproduce you can start the sample app, select a date and do cmd-right (the command key and the right arrow key together) followed by cmd-left. If it doesn't happen, scroll to the next month, select a different date and do it again. And so on, keep scrolling and changing the orientation, eventually it breaks. In my app it happens every time, in the example it only happens sometimes, I'm not sure why.

ok. checking this now.

Do i do the cmd-r and the cmd-l quickly? or does that not matter

-> https://gitter.im/patchthecode/JTAppleCalendar
If youre free

I'm there.
But it doesn't matter if the cmd-r/cmd-l are done quickly… and what's unexpected about the image is that the calendar would settle showing half of each month at the same time, isn't it?

In this function, can you place a print statement at the end link this?
func setMinVisibleDate() { // jt101 for setting proposal
        let minIndices = minimumVisibleIndexPaths()
        switch (minIndices.headerIndex, minIndices.cellInfo.indexPath) {
        case (.some(let path), nil):
            lastIndexOffset = (path, UICollectionElementCategory.supplementaryView)
        case (nil, .some(let path)):
            lastIndexOffset = (path, UICollectionElementCategory.cell)
        case (.some(let hPath), (.some(let cPath))):
            if hPath <= cPath {
                lastIndexOffset = (hPath, UICollectionElementCategory.supplementaryView)
            } else {
                lastIndexOffset = (cPath, UICollectionElementCategory.cell)
            }
        default:
            break
        }
        print(lastIndexOffset)
    }

It should be saving the last index right before orientation change.
If it is nil, then something is wrong.

In my app, you mean? I'm using Carthage, so I'll have to include the source
directly. Now I'm going to bed, it's 3 am here and I'll have to be up
early, but I can do it tomorrow if that's alright. How about the demo app,
though? Did it work there?
Em ter, 21 de fev de 2017 às 02:53, JTAppleCalendar <
<EMAIL_ADDRESS>escreveu:

In this function, can you place a print statement at the end link this?
func setMinVisibleDate() { // jt101 for setting proposal        let minIndices = minimumVisibleIndexPaths()
switch (minIndices.headerIndex, minIndices.cellInfo.indexPath) {
case (.some(let path), nil):
lastIndexOffset = (path, UICollectionElementCategory.supplementaryView)
case (nil, .some(let path)):
lastIndexOffset = (path, UICollectionElementCategory.cell)
case (.some(let hPath), (.some(let cPath))):
if hPath <= cPath {
lastIndexOffset = (hPath, UICollectionElementCategory.supplementaryView)
} else {
lastIndexOffset = (cPath, UICollectionElementCategory.cell)
}
default:
break
}
print(lastIndexOffset)
}
It should be saving the last index right before orientation change.
If it is nil, then something is wrong.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/patchthecode/JTAppleCalendar/issues/316#issuecomment-281252017,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APFMKt48JrPZHuRLqkdYNPQo-MYCENTJks5renvNgaJpZM4MGsRi
.

Yes i am seeing the error there. But I know the reason why it is happening there now.
I just want to confirm if the error I am getting is the same that you are getting.

Hey, sorry for the delay.
The problem is still happening with the latest commit. I did what you said and the value of lastIndexOffset is not nil when I change the orientation. Rather, if I just go cmd-r, cmd-l, cmd-r, cmd-l,  the value is different almost every time the orientation changes:
Optional(([54, 1], __C.UICollectionElementCategory))
Optional(([54, 1], __C.UICollectionElementCategory))
Optional(([52, 6], __C.UICollectionElementCategory))
Optional(([54, 0], __C.UICollectionElementCategory))
Optional(([54, 4], __C.UICollectionElementCategory))
Optional(([54, 4], __C.UICollectionElementCategory))
Optional(([53, 2], __C.UICollectionElementCategory))

Ok. I'll have to share screen with you one last time after work.
Mine does not behave like this.
Will contact you again in about 3.5 hrs

No problem, thanks for your help. :)

https://gitter.im/patchthecode/JTAppleCalendar

made changes -> https://github.com/patchthecode/JTOrientationTest

Ok, I'll give it a try soon... but I just took a look at your commit and:
        guard let completionHandler = completionHandler else { return }
        self.completionHandler = nil
        completionHandler()

Why call completionHandler() right after setting it to nil? And why the guard let in the first place then?

By the way, I don't even know what's happening there, I just took a quick glance at the code, but I think you could replace those three lines with:
        completionHandler?()
        self.completionHandler = nil

I did this as safety.
Let me know if my logic is wrong.
class CustomCollectionView: UICollectionView {
    var completionHandler: (() -> Void)? = nil

    override func layoutSubviews() {
        super.layoutSubviews()  // Layout subviews called
        completionHandler?()     // user had a completion handler, that in-turn again calls layoutSubviews. Loop?
        self.completionHandler = nil
    }
}

VS
class CustomCollectionView: UICollectionView {
    var completionHandler: (() -> Void)? = nil

    override func layoutSubviews() {
        super.layoutSubviews()       // Layout subviews called
        guard let completionHandler = completionHandler else { return } // If completion handler = nil, then return. If not, then save it in a local variable
        self.completionHandler = nil // Set the class completion handler to nil
        completionHandler()          // Call the local version. If layoutSubviews is again called, then it will be nil
    }
}

Let me know if my logic is incorrect

Oh, ok, I just got the local and global versions mixed up, sorry. I'll try the latest version now.

Alright, it's looking good so far!

Ok i will begin making the code neater.
And begin migrating changes to master.

Awesome, thanks. I just noticed another problem, I think it's better if I open another issue, though, I'll do that now.

Fixed on latest master branch.
closing.

Hi, I am having the same problem. I followed the guide to create the calendar with ipad. Here are the screen shots of it.
Portrait

Landscape:

I am guessing you need to call the following whenever the orientation changes but I don't where to add it.
       calendarview.collectionViewLayout.invalidateLayout()
Also, it is not exposed as api.
I am using this version of JTAppleCalendar
   pod 'JTAppleCalendar', '~> 6.1'
Thanks

@namuthan can you try updating to version 6.1.6 ?

I tried the 6.1.6 version, and the same issue persist.

@namuthan
JTAppleCalendarExample.zip
I've updated your project with version 7.0
Does it work as expected?

It does work as expected 👍


Adding G2Reader, Feedspot, Fever, Leed, Newsbin, Selfoss, Tiny Tiny RSS

Could you add
G2Reader, Feedspot, Fever, Leed, Newsbin, Selfoss, Tiny Tiny RSS

G2Reader could easily be added because they have a direct subscription URL: http://www.g2reader.com/su?u=www.salon.com


Bug: Audio interruption when Apple Airpods are on

STEPS:

Turn some music on via external speakers
Put on your Airpods (audio try switch to airpods)

ACTUAL BUG:
Audio interruption.

Latest version of eqmac 1.8.5.
macOS Sonoma Version 14.3
Sound driver installed on eqmac installation/update.
Re-install with emac 1.8.3 - do the same issue for 3-4 seconds and after that audio is ok.

Same here...Annoying....

Same here.
Mine starts switching between audio sources back and forth.

Same, as soon as I connect to apple airpods pro or max the sounds just keeps switching and doesn't work unless I switch to macbook speakers. Installed all the latest updates and drivers and still the same issue very annoying

AirPods seem to go into a type of standby mode any time audio stops playing, and this restarts the (AirPods <--> AirPods eqMac) loop all over. If you manually select "Person's AirPods Pro (eqMac)" from the sound dropdown (where Person is replaced by the name you use), it stops the loop until the next audio switch.
I hope this helps someone else until this bug is patched.

Can confirm manually selecting the eqMac output works (I was rapidly clicking it in the System Settings). But by Airpods being connected to another device at the same time causes audio issues -- either choppy, low quality (sounds like it's passing through a microphone), pitched down, or pitched up. After disconnecting the other device it's fine.

I also have this behavior. Also appears that the entire UI seems to hang when the looping behavior starts..
MBP 2023 - M3 Max
Running the latest version of eqMac - v1.8.7 App/Driver v2.5.3
macOS Sonoma 14.3.1
As @ptdarkness said that is a good workaround and also works for me! I've been setting it to bypass mode also as a workaround..

Can confirm too. Airpods Pro 2, Macbook Pro m2 (MPHJ3ZP/A), latest eqMac, fiddles back and forth between default interface for Airpods and eqMac one

Same problem here, Airpods pro 1st gen, Macbook Pro M2 14"

When the audio interruption is caused by constant switching between default interface and the eqMac one you can try the following until a fix is released:

Got to 'Settings > Bluetooth'
Find your AirPods and next to it select the ' i ' button to show more
Make sure that 'Connect to this Mac' option is set to 'When last connected to this Mac'

I've double checked with the dev and this issue should only be occurring when output device is switching between AirPods and AirPods (eqMac) so the solution above should work for everyone experiencing the issue. Currently there are no other known issues resulting in AirPods and Timeout error.
Also a fix should come out in one of upcoming updates so that the workaround is not required.
If anyone is experiencing this issue but the output device is not switching back and forth let us know. Also once a fix is released I'll try to remember to provide an update here to see if it's still occurring for anyone after the update.

Thank you. Is it possible to somehow disable eqMac for Airpods completely? I only use it for USB-C Audio Volume control and don't want it to interfere with my other devices. So I would like to be able to specify which audio devices I would like it to be used for. I thought I could do that by unticking them in this menu, but that doesn't make any difference.

A per-device by-pass is planned and will be added sometime in (I think near) future

v1.8.8 did not fix the issue. :-(

v1.8.8 actually made the issue worse for me. When airpod pro is connected, there is no sound.

Reverted back to v1.8.7.

v1.8.8 actually made the issue worse for me. When airpod pro is connected, there is no sound.

Reverted back to v1.8.7.

Same for me too


Add dimensions parameter support for bedrock titan embedding v2 model

Description

Optimized the Function usage by adding a new interface PreProcessFunction as there isn't cases that the Function accepts different type of parameters. Currently it only accepts MLInput and Map<String, String>
Add support for dimensions parameter introduced in titan embedding v2 model.

Related Issues
https://github.com/opensearch-project/ml-commons/issues/3093
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[ ] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

After adding more details of the issue, this PR is not necessary and please check the new PR: https://github.com/opensearch-project/ml-commons/pull/3262


SearXNG support - urls need to be changed per instance

No need to merge this (but it should be safe as it doesn't break the normal search injection and just adds a few SearX instances as examples). This is for the SearXNG fork of SearX.
To use SearX the line here needs to select the #sidebar_results id

https://github.com/Fivefold/linkding-injector/blob/fdb713bd3af7f47497dd561a54d4d94ca5e3f8b8/src/searchInjection.js#L117-L122

and this needs to match the host of the site somewhere

https://github.com/Fivefold/linkding-injector/blob/fdb713bd3af7f47497dd561a54d4d94ca5e3f8b8/src/searchInjection.js#L22-L26

Thank you. I won't merge this because I would consider proper SearX support supporting as many publix SearX instances as well as self-hosted ones. I think this isn't possible, as mentioned in #2
I will keep this open though so people can discover it and add their own support if they wish to.

I will keep this open though so people can discover it and add their own support if they wish to.

Yeah that's what I was thinking. Thanks for all your help. All I can say is signing add-ons is super frustrating. Not looking forward to doing that every time I need to update it lol.

I agree but it's for security reasons. You could work around this by disabling the xpi signature check (at your own risk - better not install any other extensions that are not from addons.mozilla.org then). Check the last section here.

Yeah I saw that, I think its good experience for me to have anyway if I develop some extensions in the future.

Hey @danielyrovas there is now official support for SearXNG in v1.3.0! If you use firefox you can already check it out, the chrome extension is still under review but should be published within the next days.

Thank you @Fivefold, I've got the Firefox addon and its working great. Awesome work.


Docs.MS Release Updates for Azure.Communication.Chat

Update docs metadata and targeting for release of Azure.Communication.Chat

Docs Build status updates of commit 3b018c8:
:warning: Validation status: warnings

File
Status
Preview URL
Details

api/overview/azure/communication.chat-readme-pre.md
:warning:Warning
View
Details

api/overview/azure/communication.chat-readme-pre.md

Line 2, Column 1: [Warning-ms-prod-and-service] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 9, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 11, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'communication'.
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


use libvirt-go-xml for volumes

Signed-off-by: Thomas Hipp<EMAIL_ADDRESS>

Coverage increased (+0.2%) to 56.909% when pulling 7adc51216d53242c282079398d453aa5b9d38b02 on monstermunchkin:libvirt-go-xml-volumes into 92ff08670041c50b22c380599585b9efca4000fb on dmacvicar:master.


24.3 fb rename app jar file2

Rationale
labkeyServer.jar file was being renamed during the Dockerfile build - presumably due to previous installers appending a version number with each release.  This PR removes the rename and preserves the jar file as labkeyServer.jar
Related Pull Requests

https://github.com/LabKey/Dockerfile/pull/75

the GH actions didn't run on this as the workflows needed updates to run on release branches.  Those changes were merged in PR78.
However, I did validate this PR with a local build and test with last nights snapshot installers.


[minor] Improving cluster management

Added healthcheck to each node, now if a node is unreachable the driver will remove it from the pool.
Added round-robin to select nodes.

Pull Request Test Coverage Report for Build 3741a693932ece654bb77f68effb289cca16305c-PR-17

42 of 50 (84.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 86.028%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/connection/models/node_selector.ex
12
13
92.31%

lib/connection/executor/request_executor.ex
9
12
75.0%

lib/connection/executor/supervisor.ex
16
20
80.0%

Totals

Change from base Build a226dfdafd1153d5e3dc3cf3612af87732fc953d:
-0.3%

Covered Lines:
665

Relevant Lines:
773

💛  - Coveralls


Add importMap to the babel plugin

Im just adding the importMap option to the babel plugin.
Although it does not really fix these issues https://github.com/gregberge/xstyled/issues/285 and https://github.com/gregberge/xstyled/issues/286, it is still useful in case you want to walk around this other one https://github.com/emotion-js/emotion/issues/2413 😅

Thanks!


Consolidate theme configuration

Before we document the theme configuration options, I'd like to clean up unused and redundant options. Most notably:

The font[S-Xxl] sizes shouldn't be used anywhere because we use a modular scale
I'm not sure about the size[S-Xxl] values and their relation to baseVerticalUnit
Make sure there's no font loaded from Google Fonts when another font is specified (move font import to theme config?)
I'm not sure why DefaultResponsiveSizes is exported separately from DefaultTheme.js

baseVerticalUnit is not used anywhere. It was used in setType(…) / text(…) (src/scaffold/typography.js) but that file was removed in bf74351 (Style refactor, 2015-12-18).

Now font sizes are based off of baseFontSize and msRatio. But still, fontX are used in some places.

Yeah, it'd be great to replace those …


GitHub Actions

Added workflow to GitHub Actions

:tada: This PR is included in version 1.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Refactor webpack scripts to build ds bundles using individual configs

For #9055
Clean up the hacky solution and use separate configuration files on CI when building DS bundles.

Codecov Report

Merging #9373 into master will decrease coverage by 0.29%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #9373     +/-   ##
=========================================
- Coverage   60.33%   60.03%   -0.3%
=========================================
  Files         545      545
  Lines       28668    28668
  Branches     4345     4340      -5
=========================================
- Hits        17296    17210     -86
- Misses      10436    10520     +84
- Partials      936      938      +2

Impacted Files
Coverage Δ

src/client/testing/serviceRegistry.ts
49.09% <0%> (-47.28%)
:arrow_down:

src/client/testing/codeLenses/main.ts
40% <0%> (-30%)
:arrow_down:

src/client/datascience/jupyter/jupyterUtils.ts
61.11% <0%> (-27.78%)
:arrow_down:

...t/datascience/jupyter/jupyterDataRateLimitError.ts
50% <0%> (-25%)
:arrow_down:

src/client/formatters/serviceRegistry.ts
75% <0%> (-25%)
:arrow_down:

...ience/jupyter/jupyterDebuggerRemoteNotSupported.ts
60% <0%> (-20%)
:arrow_down:

...cience/jupyter/jupyterDebuggerNotInstalledError.ts
50% <0%> (-16.67%)
:arrow_down:

src/client/common/utils/icons.ts
83.33% <0%> (-16.67%)
:arrow_down:

src/client/api.ts
78.57% <0%> (-14.29%)
:arrow_down:

src/client/datascience/cellFactory.ts
59.52% <0%> (-11.91%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


Chad 12671

Dynamically set heat and cool min/max setpoints for ZigBee thermostats by requesting the values from the device.

You'll probably want to add some querying of these attributes to the added handler in the base driver as well.

My understanding of this comment is basically that we need something to initially query these attributes when a devices is added. Correct me if I misinterpreted.
I added these attributes to the list of attributes requested in do_refresh, which is called by the added handler. My belief was that would effectively cause a query of those attributes on addition of a device. Is that incorrect or insufficient?
Thermostat.attributes.MinHeatSetpointLimit
Thermostat.attributes.MaxHeatSetpointLimit
Thermostat.attributes.MinCoolSetpointLimit
Thermostat.attributes.MaxCoolSetpointLimit

I tested these driver changes on a zigbee thermostat with the following the steps below.
From this testing, I learned zigbee temperatures are 100 * Celsius temperature, so I had to add a division of the received temperatures before emitting events in Celsius.

Loaded modified driver onto the hub
Added thermostat to the hub
Verified in log output the min/max setpoints were received and events
were emitted for each heating and cooling

2024-05-14T18:35:19.372619969Z INFO Zigbee Thermostat -- MD  <ZigbeeDevice: e6795867-2184-4f4e-a323-243e78af10fd [0xF5EB] (Fidure Thermostat)> emitting event: {"attribute_id":"heatingSetpointRange","capability_id":"thermostatHeatingSetpoint","component_id":"main","state":{"unit":"C","value":{"maximum":30.0,"minimum":7.0}}}
2024-05-14T18:35:20.227855802Z INFO Zigbee Thermostat -- MD  <ZigbeeDevice: e6795867-2184-4f4e-a323-243e78af10fd [0xF5EB] (Fidure Thermostat)> emitting event: {"attribute_id":"coolingSetpointRange","capability_id":"thermostatCoolingSetpoint","component_id":"main","state":{"unit":"C","value":{"maximum":30.0,"minimum":7.0}}}

Raised and lowered the setpoints for the thermostat in the app and
verified they could not be set higher or lower than the dynamic bounds
Modified the driver to set the minimum heat setpoint to a 0C
Tried again lowering the heating setpoint
Could go below the previous 7C limit, but hit a different limit around 4C

Alright that didn't save as much as I was hoping. What if you passed in the parts of the string instead, i.e. setpoint_handler_factory(MIN, HEAT)? Gives you enough information to simplify a lot I think, and the handled_attribute can be constructed using "setpoint"..min_or_max..heat_or_cool

I implemented this approach and it cut the change down by about 20 lines

Hey @matthewdehaven Not urgent, I saw tthat this PR is still open. Do we want to take further action with this PR? Please share, when the time is right.

Hey @matthewdehaven Not urgent, I saw tthat this PR is still open. Do we want to take further action with this PR? Please share, when the time is right.

I think we should merge it in the next release. The change has been tested on an zigbee thermostat and should be ready to go. I'll need to review the edge driver release process this week to be sure I follow the process correctly to get this change in.


Editor Hand Simulation Mesh Collapsing to a single point

Describe the bug
A few of us are hitting an issue where the joints in the editor hand simulation appears all on the exact same point. We are consuming the v2.0.0-20190521.3 MRTK nuget package via MSBuild (not nuget for unity). We can't debug the issue because there are no debug symbols, which makes this rather challenging to solve on our own. Does anyone have any ideas about what is causing this and how to fix it?
To reproduce
Steps to reproduce the behavior:

Make any scene and add MRTK to the scene and configure
Press Play
Press whatever key shows the hand sim
See error

Expected behavior
A full hand mesh. Instead there is the 3d gizmo and a bunch of small cubes collapsed into a single point
Screenshots

Your Setup (please complete the following information)

Unity Version 2018.4.1f1
MRTK Version v2.0.0-20190521.3

Target Platform (please complete the following information)
This is during the editor step, by the target will be Hololens 2
Additional context

I have a pretty good hunch what is happening here:
The MixedRealityToolkitFiles utility class is used to look for resource files based on relative paths: https://github.com/microsoft/MixedRealityToolkit-Unity/blob/bffa2f2345c1bf531c3b09f79c49bcfa53b22d08/Assets/MixedRealityToolkit/Utilities/Editor/Setup/MixedRealityToolkitFiles.cs#L87
This expects either a "MixedRealityToolkit.Services" or "MRTK.Service" base path to find the simulated hand poses in <basePath>/InputSimulation/ArticulatedHandPoses/ (any parent directory will work as long as the path ends with this combination). That works alright for the git repository and the Unity package.
However, the directory structure of the nuget package is such that the pose data files end up in Microsoft.MixedReality.Toolkit.Services.<version>/MRTK/InputSimulation/ArticulatedHandPoses which does not match the expected pattern.
I'm not sure what the correct fix for this would be, possibly the nuget package paths can be updated or the MixedRealityToolkitFiles utility improved.


Cannot inside ScrollView

Hi, i found a bug. this CarouselLayoutManager with RecyclerView can't run while in ScrollView.
any one have solution ?

yeah !looks like it .

Please use nestedscrollview


Relax minimum subject DN field values for trustedIdentities to not include state/province (S/ST)

Currently in the Trust Store and Trust Policy Specification in the Trusted Identities Constraints section there is a minimum field requirement on x.509 cert subject DN values stated as:
"Each identity in identities list MUST contain country (C), state or province (ST), and organization (O) RDNs. All other RDNs are optional. The minimal possible value is x509.subject: C=${country}, ST=${state}, O={organization},"
Not all identities will have a state/province value unless the identity is in the US or Canada, so the ST or S value need to NOT be required. The minimum subject DN fields should be CN=, O=, L=, C=. Signing certs commonly use these values as the minimum for subject DN.

@gokarnm @priteshbandi @shizhMSFT Would you mind taking a look at this issue?

Hi Ian -
As per BR of cabforum-  Section <IP_ADDRESS>, should it be  either C=${country}, ST=${state}, O={organization} Or C=${country},  L=${localityName}, O={organization} ? Why do we need CN?

@priteshbandi  I checked the section <IP_ADDRESS>.2 in specification, it seems commonName is a required field for both EV and non-EV Code Signing Certificates. Would you mind checking it again?

The "commonName" (CN) field is required when issuing certificates. For TLS/SSL certificates, the commonName is usually set to the domain name that the certificate will be used for. For code signing certificates, the commonName is often set to the name of the organization.
However, for the purposes of signature verification, IMO the commonName should be optional as "Organization" (O) DN is already a mandatory component of trusted identity.


[Debug]webpack-assets.json not found

Hello,I studied the project react-redux-universal-hot-example and started individual webpack-dev-server,but the problem comming.
[1] [require-hook] [debug] Hooking into *.woff2 files loading
[1] [webpack-isomorphic-tools] [debug]  registering a require() hook for *.ttf
[1] [require-hook] [debug] Hooking into *.ttf files loading
[1] [webpack-isomorphic-tools] [debug]  registering a require() hook for *.eot
[1] [require-hook] [debug] Hooking into *.eot files loading
[1] [webpack-isomorphic-tools] [debug]  registering a require() hook for *.svg
[1] [require-hook] [debug] Hooking into *.svg files loading
[1] [webpack-isomorphic-tools] [debug]  registering a require() hook for *.js
[1] [require-hook] [debug] Hooking into *.js files loading
[1] [require-hook] [debug] -----------------------------------------------
[1] [require-hook] [debug] Overriding an already existing require() hook
[1] [require-hook] [debug] for file extension .js
[1] [require-hook] [debug] -----------------------------------------------
[1] [webpack-isomorphic-tools] [debug]  registering a require() hook for *.less
[1] [require-hook] [debug] Hooking into *.less files loading
[1] [webpack-isomorphic-tools] [debug]  registering a require() hook for *.scss
[1] [require-hook] [debug] Hooking into *.scss files loading
[0] ==> Webpack development server listening on port 3003        //webpack-dev-server completed
[0] webpack built 51436f7d9ef5cfadecd3 in 980ms
[1] [webpack-isomorphic-tools] [debug] (c:\Users\zhujunyan\git\reactjs-starter-k
it\src\webpack-assets.json not found)                       //OOPS!

Is there any wrong with my code?
package.json:
"scripts": {
    "deploy": "webpack -p --config webpack.production.config.js",
    "dev": "concurrent --kill-others \"npm run watch-client\" \"npm run start-dev\"",
    "start-dev": "better-npm-run start-dev",
    "watch-client": "better-npm-run watch-client",
    "lint": "eslint -c .eslintrc.json src/common"
  },
  "betterScripts": {
    "start-dev": {
      "command": "node src/server/index.js",
      "env": {
        "NODE_ENV": "development"
      }
    },
    "watch-client": {
      "command": "node webpack/webpack-dev-server.js"
    }
  },

webpack-dev-server:
var Express = require('express');
var webpack = require('webpack');

var webpackConfig = require('./dev.config');
var compiler = webpack(webpackConfig);

var host = 'localhost';
var port = 3003;
var serverOptions = {
  contentBase: 'http://' + host + ':' + port,
  quiet: true,
  noInfo: true,
  hot: true,
  inline: true,
  lazy: false,
  publicPath: webpackConfig.output.publicPath,
  headers: {'Access-Control-Allow-Origin': '*'},
  stats: {colors: true}
};

var app = new Express();

app.use(require('webpack-dev-middleware')(compiler, serverOptions));
app.use(require('webpack-hot-middleware')(compiler));

app.listen(port, function onAppListening(err) {
  if (err) {
    console.error(err);
  } else {
    console.info('==> Webpack development server listening on port %s', port);
  }
});

dev.config.js
var path = require('path');
var webpack = require('webpack');
var node_modules = path.resolve(__dirname, 'node_modules');
var WebpackIsomorphicToolsPlugin = require('webpack-isomorphic-tools/plugin');
var webpackIsomorphicToolsPlugin = new WebpackIsomorphicToolsPlugin(require('./webpack-isomorphic-tools'));

module.exports = {
    context: path.resolve(__dirname, '..'),
    entry: [
        'webpack-hot-middleware/client?reload=true',
        path.resolve(__dirname, './src/client/index.js')
    ],
    resolve: {
        extensions: ['', '.js', '.jsx']
    },
    output: {
        path: path.resolve(__dirname, './static/dist'),
        filename: '[name]-[hash].js',
        publicPath: '/'
    },
    module: {
        loaders: [
            {
                test: /\.(js|jsx)$/,
                loader: 'babel',
                exclude: /node_modules/,
                query: {
                    presets: ['es2015', 'react']
                }
            },
            {
                test: /\.css$/, // Only .css files
                 loader: 'style!css'
            },
            {
                test: /\.scss$/,
                loader: 'style!css!sass'
            }
        ]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ]
};

src/server/index.js:
var path = require('path');
var rootDir = path.resolve(__dirname, '..');

/**
 * Define isomorphic constants.
 */
global.__CLIENT__ = false;
global.__SERVER__ = true;
global.__DISABLE_SSR__ = false;  // <----- DISABLES SERVER SIDE RENDERING FOR ERROR DEBUGGING
global.__DEVELOPMENT__ = true;

var WebpackIsomorphicTools = require('webpack-isomorphic-tools');
global.webpackIsomorphicTools = new WebpackIsomorphicTools(require('../../webpack/webpack-isomorphic-tools'))
    .development(__DEVELOPMENT__)
    .server(rootDir, function() {
        console.log('server')
        require('../src/server');
    });

THANKS!!

Well, the path to assets is:
this.webpack_assets_path = path.resolve(this.options.project_path, this.options.webpack_assets_file_path)
it looks like it's gonna be created in ./static/dist folder if you haven't specified otherwise in your webpack-isomorphic-tools configuration.
Can you search for this file in your project directory?
Or maybe post your debug: true log of the plugin?

I'm sorry that I found I had a wrong rootDir(not the same as context of webpack config) so  webpack-assets.json can't be found,now it works.Thank you very much

FYI
I'm posting this in every issue and PR to notify whoever may be interested:
today I've released an alternative helper library called universal-webpack.
It takes a different approach than webpack-ismorphic-tools and instead of hacking Node.js require() calls it just compiles all code with target: 'node' webpack configuration option.
As a result, all Webpack plugins and features are supported.
If you think you might need that here's an example project:
https://github.com/halt-hammerzeit/webpack-react-redux-isomorphic-render-example


SettingsGateway: The Final Rewrite

Description of the PR
Prepares klasa for @klasa/settings-gateway.
Changes Proposed in this Pull Request (List new items in CHANGELOG.MD)
Added

Added Unit Testing.
Added examples for a large set of methods.
Added bare null as an option to reset a key in SettingsFolder#{update}.
Added Serializer#{validate,resolve} to allow further control on how SettingsGateway handles the data.
Added context to the settingsUpdate and settingsCreate events, they contain the raw changes, guild, language, etc.
Added extraContext to the SettingsFolderResetOptions type, this value is pased in all places (Serializer#validate, SchemaEntry#filter, settingsUpdate and settingsCreate events, and more).

Changed

Tweaked Serializer#stringify's second argument from KlasaMessage to Guild | null.
Tweaked Serializer#deserialize's arguments to (SerializableValue, SerializerUpdateContext).
Renamed SchemaEntry#{min,max} to SchemaEntry#{minimum,maximum}.
Tweaked SettingsFolder's value type to be more accurate.
Tweaked SettingsFolderUpdateOptions's option to produce a TypeScript compiler error when arrayAction is set to 'overwrite' and arrayIndex is defined.
Tweaked SettingsFolder#client to throw an error when it's uninitialized.
Tweaked SettingsFolder#{reset,update} to return a much more useful struct.
When specifying arrayIndex in SettingsFolder#update and arrayAction is defined as add, all entries will be inserted at given index.
When specifying arrayIndex in SettingsFolder#update and arrayAction is defined as remove, as many entries as given will be removed from given index.
When specifying arrayIndex in SettingsFolder#update and arrayAction is not defined or defined as auto, all entries will replace the existing ones.

Removed

Removed throwOnError option in SettingsFolder#{reset,update}, they will now always throw when they encounter an error.

Fixed

Resolved bug where Schema#get would throw an error if a path did not exist.
Resolved bug where Schema#{add,remove} was still callable even after being initialized.
Resolved bug where SettingsFolder#get would throw an error if a path did not exist.
Resolved type bug in SettingsFolder#pluck.
Resolved bug in SettingsFolder#resolve not resolving into objects when specifying a folder path.
Resolved bug in SettingsFolder#reset where database conditions were not handled correctly.
Resolved bug in SettingsFolder#update where options would sometimes type error.
Resolved bug in SettingsFolder's patch function not allowing non-literal objects to be used.
Resolved bug in SettingsFolder#{reset,update} patching after emit.
Fixed the types from the Provider and SQLProvider classes.

Semver Classification

[ ] This PR only includes documentation or non-code changes.
[ ] This PR fixes a bug and does not change the (intended) framework interface.
[x] This PR adds methods or properties to the framework interface.
[x] This PR removes or renames methods or properties in the framework interface.

Superseded by #916 to move the base branch into this repository.


2 Channels if connect into channel with password

Hi,
i entered on my connection Profile (default connection + force connection)
server: irc.xxxx.net:6667
Conversation Name: #chatroom CoolPassword
If i use this connection Profile, i enter the #chatroom with passwordprotection correctly but i have a second channel on my tree that shows the #chatroom and the Passwort exact as entered into "Conversation Name" with connection "Not Connected"

I think the label is wrong: it should be “Conversation names”.
Why would you have a default channel that’s password protected?

I have a channel for "internal use" of a fixed group of people.
i use convos as elegant webinterface to join from everywhere into this channel.

This should be fixed in 6.32.


Add command to copy to clipboard a link to the song in Spotify

Is your feature request related to a problem? Please describe.
I want to share a song with my friends but I'm unable to.
Describe the solution you'd like
A key shortcut when a song is "active" and I press a key, it binds the song URL into my clipboard
Describe alternatives you've considered
Nothing comes to mind but opening the actual spotify UI
Additional context
Nothing to share at the moment. Happy to help implementing this @aome510 🚀

spotify_player already supports this feature. You can call ShowActionsOnCurrentTrack (binded to a) and then select CopyTrackLink action  (binded to 5)

Ohhhh my bad then! I looked up for it in the codebase but didn't find it an assumed it didn't exist. We can safely close this one then!
Thank you @aome510!


embed a 'version: "$release-version"' in each opam file of the current directory when building an archive

fixes #128

when using dune-release distrib in the mirage/mirage git repository, and comparing the produced tarballs, I see that the version is embedded in all opam files, as intended, after this PR -- see https://try.diffoscope.org/abepfxtzqpgq.html

btw, the diffoscope link is broken.

Hello, sorry my late reply - I somehow missed that you commented here.

btw, the diffoscope link is broken.

from their website: "Results are purged after 30 days". I re-uploaded similar tarballs again at https://try.diffoscope.org/sypxaudhedyb.html

not sure about this -- the package list can be overriden by the --packages option so it's best to call infer_pkg_names only in one place in the binary (if --package is not set). Could you instead change p to be a list of packages and propagate the changes in the rest of the code?

I'm not so sure about this. Current master behaves that it modifies only the "main" package opam file by embedding a version. This PR goes along and embeds into all opam files a version. These opam files are never committed anywhere, but are only part of the tarball.
The resulting tarball has branding and watermarking (%%VERSION%% etc.) applied -- independent of which packages (using -p) are specified. Or, the other way around: should dune-release produce different tarballs for given -p arguments? In practice, I prefer to have reproducible tarballs - independent of -p command-line arguments. This allows a dune-release -p p1 followed by a dune-release -p p2, using the identical tarball, and preserving ocamlfind version information.

This allows a dune-release -p p1 followed by a dune-release -p p2, using the identical tarball, and preserving ocamlfind version information.

This makes perfect sense! So instead could you remove the _p argument which is not useful anymore? Thanks!

@samoht

could you remove the _p argument

done in 059f20c

Thanks!


Ignore unsupported (non-message) packets

Ignore packets with unsupported versions, algorithms, etc. (Unknown packets are already ignored.) This is useful when adding new versions of packets, so that the old and new version can be used together in a backwards compatible way.
We make an exception for "message packets": symmetrically encrypted (integrity protected) data, compressed data, and literal data packets, as these are typically the only (relevant) message packet, and not ignoring them leads to more informative error messages.
Additionally, don't panic if a nil keyring is passed to ReadMessage.

@twiss Even if a bit late to the party, I hope you don't mind me asking about the implications of this PR.
Some old PGP implementations still produce encrypted messages without MDC. While I know that it is desirable to enforce usage of MDC, it is sometimes not that easy.
Would you have any concerns if I implemented a package wide variable to control, if a missing MDC is "ok" or not (defaulting to "not OK", obviously)? I would prefer a per-decryption-setting of course, but this is likely a deep rabbit hole of refactorings to get this done, so I think a package wide variable might be more pragmatic.
WDYT?

Hey :wave: Whether encrypted messages without MDC are accepted is orthogonal from this PR - they were already rejected before it - so please open a separate issue or discussion (in the new discussions tab) for this :)


Configmap for ServiceBindings

Description
Changes proposed in this pull request:

added configmap for ServiceBindings

Related issue(s)
kyma-project/busola/issues/1961

The file should be added to the service-management directory.

/woof


Remove some deprecated code and address some v2 API changes

This PR removes configuration and endpoints that we have considered deprecated for V2.
It also updates the /wallet endpoints to mostly match hostds. The endpoints are the same but sometimes we return more info.
This will need to remain a Draft until we get some other endpoints migrated to the bus.

@alexfreska this needs to be merged with a UI update. The /wallet routes should now match hostd's


build: bump node to version 18 (LTS)

closes #16

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Configuration documentation

/docs/configuration.md

[ ] Document how to enable/disable auto-sync upon config changes (https://github.com/janus-idp/operator/pull/351#discussion_r1593693626)

NOTE: need to add information about dynamic-plugins file name specific as mentioned in https://github.com/janus-idp/operator/pull/381

As part of the migration from janus-idp to redhat-developer in https://issues.redhat.com/browse/RHIDP-1021, this will be tracked in https://issues.redhat.com/browse/RHIDP-1658


RTree::locate_within_distance gives no performance benefit compared to linear search?

Hi, recently I was trying to use RTree index to speed up proximity search (search of all the points in given radius) that was initially implemented as a simple linear search with utilities from "geo" crate. To implement the desired functions, I've wrapped geojson::Feature into custom PointFeature and implemented rstar::Point trait for it:
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct PointFeature {
    pub inner: Feature,
}

impl rstar::Point for PointFeature {
    type Scalar = f64;

    const DIMENSIONS: usize = 2;

    fn generate(mut generator: impl FnMut(usize) -> Self::Scalar) -> Self {
        let x = generator(0);
        let y = generator(1);
        PointFeature {
            inner: Feature {
                id: None,
                geometry: Some(geojson::Geometry::new(Value::Point(vec![x, y]))),
                properties: None,
                bbox: None,
                foreign_members: None,
            },
        }
    }

    fn nth(&self, index: usize) -> Self::Scalar {
        if let Some(geometry) = &self.inner.geometry {
            if let Value::Point(coords) = &geometry.value {
                return coords[index];
            }
        }
        panic!("Invalid GeoJSON format")
    }

    fn nth_mut(&mut self, index: usize) -> &mut Self::Scalar {
        if let Some(geometry) = &mut self.inner.geometry {
            if let Value::Point(coords) = &mut geometry.value {
                return &mut coords[index];
            }
        }
        panic!("Invalid GeoJSON format")
    }
}

The first optimization that I've tried was limiting the number of candidates via RTree::locate_in_envelope, this would perform a search inside of an AABB box (instead of circle) still requiring us to further filter based on distance. This works fine, e.g giving us around 3000 candidates (2500 after final filtration) for a dataset of 300k points and reducing the latency from ~32-40ms to ~6ms.
The second attempt was leveraging the RTree::locate_within_distance method like below:
    pub fn get_points_in_proximity_using_index_and_reprojection(
        &self,
        lat: f64,
        lon: f64,
        radius: f64,
    ) -> Vec<Feature> {
        let reprojected = transform_point_to_epsg3035(lat, lon).unwrap();
        let query_point = <PointFeature as rstar::Point>::generate(|i| vec![reprojected.0, reprojected.1][i]);

        self.geospatial_index_reprojected
            .locate_within_distance(query_point, radius.powi(2))
            .cloned()
            .collect::<Vec<_>>()
            .into_iter()
            .map(|f| f.inner)
            .collect()
    }

Surprisingly, it doesn't give any performance benefits compared to a simple linear search I had initially, i.e the latency for 300k features is fluctuating around 32-40ms.
I assume I've either screwed something up or overestimated the power of rtree :neutral_face:, please share your thoughts

Make sure you are not using rstar 0.12.1 as it has a performance bug (fixed in 0.12.2). Also you are collecting the results twice in your helper function which should not be necessary as you can use map(|f| f.inner) directly on the iterator yielded by cloned.

After proper investigation I can confirm that RTree::locate_within_distance works correctly, giving 4ms latency instead of ~40ms observed. The root of confusion was .transform_point_to_epsg3035 utility function that was consuming unexpectedly large amount of resources while reprojecting EPSG:4326 to EPSG:3035. I think we can close the ticket, thanks for help!


withCredentials support

currently i couldn't make the following work
    RestangularProvider.setDefaultHttpFields({ withCredentials: true });

by looking at the request creation,
    let requestOptions = new RequestOptions({

seems we are missing withCredentials: true as one of the options. I just wonder if this is the case, since without it, i couldn't get 'set-cookie' work

ok, i realized i might made a mistake, I did use the following,
  RestangularProvider.setDefaultHttpFields({ withCredentials: true });

however I got confused about PUT and customPUT call syntax, what I should do is
  .customPUT(item)

The mistake is that I did put(item), which put everything into header.

It is a valid issue: https://github.com/2muchcoffeecom/ng2-restangular/blob/0a3d8151d697b4776393596125d9ae12148ce120/src/ng2-restangular-helper.ts#L10-L16 not add withCredentials to RequestOptions.

We update Restangular please check link

thx :+1:

you're welcome @tamascsaba, thanks for your contribution 👍


Always 0 when evaluate Objective-C Enum value of Sketch on MacOS10.15Beta

Hello, I have found a problem; but I don't know why.
from MacOS10.15Beta,
SketchApp Run Script:
const r = NSUTF8StringEncoding

console.log(r)

The result always 0, no matter what Objective-C Enum value here;
But MacOS10.14, MacOS10.13, is OK;
when this case, value is 4, 4 is correct from documentation of Xcode.
So I have to manually replace all Objective-C enum value to integer,
in order to make plugin works on MacOS10.15Beta; that's not so good.

Indeed, that's a weird bug. We are looking into it

To clarify, this is affecting all Objective-C enums, which breaks almost every plugin. You can't ship for 10.15 without fixing this. It's still broken in the latest Catalina beta.
I assume it's because Mocha isn't setting the value properly, so it's defaulting to whatever the NSInteger default is (0). I tried to work with that codebase, but ran into a lot of compiler errors (I assume you're building your own internally).
The code in question is probably https://github.com/logancollins/Mocha/blob/ccc18bf89a044f78bb332a8b8854f2d779e1ce57/Mocha/BridgeSupport/MOBridgeSupportParser.m#L145. It could be to do with recent, underdocumented API changes to NSNumber.

It’s not no. It was because of a typo in CocoaScript: https://github.com/ccgus/CocoaScript/pull/63
It will be fixed in an upcoming version of Sketch but keeping it opened for people to be able to see it

Huh! Thanks for solving it — do you think this'll land with Sketch 56?

I don’t think so, Sketch 56 has been code freezed already and we still have to fix our infra for 10.15. But 57?will follow shortly after!

I gave this a go on Sketch 57 Beta 1 — it looks like the same problem is still happening. I assume I should wait for Beta 2 or 3?

Same here. for example, webview plugins still appear borderless (no window or window controls)

I just merged the fix so yeah, next beta :)

Just testing this on the latest prod / latest beta, I'm seeing windows and controls, but close is not working. The window is staying open despite clicking the close control, and if I try and close the window from within the webview with this.window.close, it says this.window is null. Verified this with sketch-dev-tools and a window from our own plugin

Oh, just to confirm — this isn’t fixed in Sketch 57. Looks like they didn’t do a beta 2.

I just updated the dependencies of sketch-dev-tools and it seems to work fine

Hmm I've updated my sketch-module-web-view and get the same behavior. Will create a new issue over there 👍


cannot start image nginx-http2

I got an error launching docker run voxxit/nginx-http2
nginx: [emerg] BIO_new_file("/usr/local/nginx/conf/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/usr/local/nginx/conf/cert.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)

@jlandure The issue is that the image is using the provided configuration file, which looks for a certificate and private key to be at /usr/local/nginx/conf/cert.pem and /usr/local/nginx/conf/cert.key, respectively.
SSL is required for HTTP/2 to work. To provide a location to those files, you can do:
docker run \
  -v /location/of/cert.pem:/usr/local/nginx/conf/cert.pem \
  -v /location/of/cert.key:/usr/local/nginx/conf/cert.key \
  voxxit/nginx-http2


Even more reproducibility

Make the container run as user by default, and instead make a feature flag run it as root
Make sure sandbox is enabled in the container
Update Nix, and make sure only one version is in the final container
Document the extra steps needed so that a Nix with Daemon installation works, so that we can suggest people to use this kind of install

For simplicity, we're sticking to the same approach used by the nixos containers. If such containers eventually reach a full-purity state, we will benefit from them. Otherwise, we'll inherit the impurity.


String index out of range: 0 - FAILURE: Build failed with an exception. (App Center)

I can't build Android release on Microsoft App Center. But I can build locally without any problem.
Maybe somebody has any suggestions what's the problem?
My command
[command]/Users/runner/work/1/s/mobile/android/gradlew -DAPPCENTER_KEYSTORE_PASSWORD=*** -DMOBILECENTER_KEYSTORE_PASSWORD=*** -DAPPCENTER_KEYSTORE_FILE_ID=***.keystore -DMOBILECENTER_KEYSTORE_FILE_ID=***.keystore -DAPPCENTER_KEY_ALIAS=*** -DMOBILECENTER_KEY_ALIAS=*** -DAPPCENTER_KEY_PASSWORD=*** -DMOBILECENTER_KEY_PASSWORD=*** -p mobile/android clean :app:assembleRelease

I've got the error.
Starting a Gradle Daemon (subsequent builds will be faster)
Gradle 6.9
FAILURE: Build failed with an exception.
* Where:
Settings file ‘/Users/runner/work/1/s/mobile/android/settings.gradle’ line: 2
* What went wrong:
A problem occurred evaluating settings ‘ projname’.
> String index out of range: 0

android/settings.gradle
rootProject.name = 'projname'
apply from: new File(["node", "--print", "require.resolve('react-native-unimodules/package.json')"].execute().text.trim(), "../gradle.groovy"); includeUnimodulesProjects()
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute().text.trim(), "../native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'

build.gradle
buildscript {
    ext {
        buildToolsVersion = "30.0.2"
        minSdkVersion = 21
        compileSdkVersion = 30
        targetSdkVersion = 30
        ndkVersion = "23.0.7599858"
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:4.2.1")
    }
}

gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Expected Behavior
Android apk file
Current Behavior
error
FAILURE: Build failed with an exception.
* Where:
Settings file ‘/Users/runner/work/1/s/mobile/android/settings.gradle’ line: 2
* What went wrong:
A problem occurred evaluating settings ‘projname’.
> String index out of range: 0

Context
I need to build Android release automatically after the master branch is updated but It doesn't work.
Steps to Reproduce
using Microsoft App Center
Your Environment
Build scan URL:
https://scans.gradle.com/s/yexdafzmped7y

The error already told you where the problem is, you need to fix your settings.gradle line 2. This is not a Gradle issue.

@blindpirate
But what should I fix in that file? Do you think it's related to 'react-native-unimodules' library or it's something with settings.gradle file ?

I have no idea, that's what you need to figure out. I don't have your code and can't reproduce it, also, the build scan you provided doesn't include the error at all, it's impossible for anyone to troubleshoot with the information you provided. Either figure it out yourself, or provide more information (code, reproducer, correct build scan).


Non-scalar replacements for node functions

Non-scalar replacements for node functions
Allow for non-scalar replacement quantities to become member variables (setup outputs) of node functions.

This now works.  Some objects created in the replacementsEnv of a context are now lists to include non-scalar elements.


fix large number display on user page

closes #747
All of the tab headers show the abbreviated numbers correctly now.
I spent quite a bit of time exploring a solution to combine abbrNum and polyglot smart_count/pluralization. It looks like if we wanted to be able to show the abbreviated numbers like we are combined with polyglot, we will have to modify polyglot to be able to have it accept two parameters - the actual number and the formatted number.
On that note, the abbreviation should really be built into polyglot instead.
I'll let you guys discuss this and determine if that's something we really wish to pursue. There may be other options you've previously considered.
Therefore, this fix will not affect the localized text for listings found and number of listings.

@jashot7 only the tabs need to be abbreviated, to close #747 but we also want to localize the non-abbreviated numbers. Can we add that to this PR?

@jjeffryes Ah, great. If we don't need to combine abbreviation and polyglot pluralization, then this should be ready to go. When you added smart_count, it took care of localization for the listing count here as well.
Therefore, this should be ready for review.

@jashot7 There already is an integration between abbrNum and our polyglot because the former is piped through both the following translations as well as the native JS number localization functionality (Intl.NumberFormat):
  "abbreviatedNumbers": {
    "thousand": "%{number}k",
    "million": "%{number}m",
    "billion": "%{number}b",
    "trillion": "%{number}t"
  },

Given that, we probably could do this:

Therefore, this fix will not affect the localized text for listings found and number of listings.

But I don't know if it's super necessary to shorten those numbers - I think it works best to show the pure number there. I do agree though they should be localized.

When you added smart_count, it took care of localization for the listing count here as well.

I don't think that's the case. Before the number is passed into the translation as a smart_count variable it would need to be run through something like:
new Intl.NumberFormat(lang).format(99999)
You would get the lang from app.localSettings.
If you're feeling really froggy I suppose you could add a helper function to the util/number, e.g:
const defaultLang = app && app.localSettings && app.localSettings.standardizedTranslatedLang() || 'en-US'

function localizeNumber(num, lang = defaultLang) {
  return new Intl.NumberFormat(lang).format(num);
}

I don't think that's the case. Before the number is passed into the translation as a smart_count variable it would need to be run through something like:

Will a smart_count variable work with an internationalized string, or does it need to be a number?

Will a smart_count variable work with an internationalized string, or does it need to be a number?

oh, you're right. I think what you'd need to do is pass both the smart_count and the internationalized number string and have two translations using the latter as a placeholder.

I think you're ok if you just pass the smart count, you don't have to actually have the %{smart_count} anywhere in the translated phrase.
So you could do:
ob.polyT('somePhrase', { smart_count: ob.numberCount, display_count: ob.stringCount })
somePhrase: "%{display_count} things found

Yup, that's exactly what I meant.
to be specific, it would be:
somePhrase: "%{display_count} thing not found|%{display_count} things not found
The smart_count just determines which portion of that translation is used.

I definitely wouldn't ever want a default param that long.
I agree with all suggestions and this should be ready for merge now, @jjeffryes unless you'd like to retest.

Now, finally. The merge may occur. @jjeffryes


Support iPad (not just iPhone)

Support iPad (not just iPhone)

Explain the changes you had to make

Hi @adamcogan

Support iPad (not just iPhone)

Done:

Figure: Latest iOS build running (from the App Store) on iPad

Explain the changes you had to make

In a previous build, we intentionally removed iPad support (in this commit: https://github.com/SSWConsulting/SSW.Rewards.Mobile/commit/844852aad8686ebd973a535dc5eee7e55bf16234). This was because there was an issue with the screenshots on the App Store and the version in production at the time had a bug. iPad usage for this app is minimal (see figure below), so we prioritised releasing a build with the fix ASAP over ensuring iPad was targetted.

Figure: iPad usage (4 installs, one of which is me), is 2.23% of total installs (179) on iOS (1.68% excluding me)
The change involves specifying the UIDeviceFamily key in the info.plist file. Previously we had:
<key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
	<integer>2</integer>
    </array>
</key>

1 represents iPhone, 2 represents iPad, 0 represents all. In the above mentioned commit, we removed 2. However, 0 is the default, so to fix it, rather than add that back, or set it to 0, we simply removed the UIDeviceFamily key altogether. This enabled the lates build to target iPad as well as iPhone devices (and macOS too, as by default all iOS apps are now available via the Mac App Store as well).

I understand at only 2% usage it is not worth it.
Curious, how much effort to fully support an ipad?
-a

Curious, how much effort to fully support an ipad?

Implementation is relatively straightforward. We can adapt the layout/design for iPad (or any tablet). But we need the visual designs for that. So bulk of the effort is for the designers.
I think there are a few areas where we would like to refresh the UI, so if you're keen to allocate that to the designers, this could be one of the tasks on their list.


Events

Kinds of events:

CukeUp conferences (Sydney, London, NYC, Bangalore...)
Conference speaking engagements
Community meetups
Public trainings
Maybe webinars etc.

Acceptance criteria:

easy to add new events, even if you're not very technical
nice URLs
RSS feed of events
attributes of an event:

date / time
location
list of who's involved
URL
image
brief description / abstract
title

Nice to have:

publish to Lanyrd and similar sites

After pairing on this today with @aslakhellesoy in the events branch, we've decided we'd like to use this Lanyrd guide as our database, and pull in events from their feed. We'll render the event listing on our site from that, but if we've built our own page (it must have a template name that matches the Lanyrd page) then we'll link to that from our index.
That way the community can easily add new events from Lanyrd, and they'll automatically appear on the Cucumber site.

Some more ideas:
Meetup.com
While I agree we (Cucumber team) should try to use Lanyrd as our main database, I think we should also pull in events from other calendars, such as the BDDLondon meetup group. There's a few around the world:

http://www.meetup.com/VancouverBDD/
http://www.meetup.com/Brisbane-Software-Testers-Meetup/
http://www.meetup.com/West-Malling-Kent-Software-Tester-Automation-Agile-Group/

And many more... Some of these groups won't have BDD or Cucumber as a topic for every meeting, so we should filter out irrelevant meetings.
Meetup organisers can send us a pull request to add their meetup iCal feed. Then we'll scan that feed and include all events that have either "BDD" or "Cucumber" in their name (using the REST API)
Conference talks are only in pages
I have also thought about Conference speaking engagements. Take Matt's workshop at Agile 2015  for example. I'm not sure it makes sense to add that to Lanyrd. It would make more sense to simply add a markdown page for that, with the event details in the front matter.
So what we display on the /events page will be the union of our filtered iCal feeds and our custom pages.
World map
iCal events can have a GEO field with lat/lon, and both Lanyrd and Meetup.com populate those fields. We can also add geo locations to the frontmatter for conf talks.
So our /events page could display both a calendar and a map.

First pass shipped in 7aa1b0ec37d4755dbfa2b3bb82d1e18e420ee336

Also, we decided that it would make sense to add conference talks to Lanyard.

Having seen the nitty-gritty details of the Lanyrd iCal feed (e.g. timezone issues, no pubDate / mtime) I'm thinking we'd be safer to maintain our own 'database' of events in yaml. It's not ideal as the feed won't automatically update, but I think it safer: we can make sure we keep a history of past events, for example, and we can control the quality of the data.
Maybe we could have rake tasks for manually importing from the feeds into the yaml?

@jbpros @romaingweb we've shipped a first iteration of this, and I think now it could do with some design love. Some ideas:

Tiles / cards rather than just a list of events.
A event listing sidebar widget we can use on other parts of the site (e.g. the blog / homepage)
Separate tabs for upcoming / past events
Better looking individual event pages (e.g. https://cukes.info/events/cukeup-australia-2015)

I'll close this ticket, and we can put new iterations in separate tickets.


TOTP Authentication fails - debug: POST 2ndfactor totp: TOTP secret is null

After succesfully implementing first factor authentication (LDAP), i wanted to use Google Authenticator as TOTP authentication.
Scanning the QR-Code was successfull, but the login is still unsuccessfull.

The following message is written in the log:
debug: AuthSession is<EMAIL_ADDRESS>info: POST 2ndfactor totp: Initiate TOTP validation for user Test
debug: POST 2ndfactor totp: Fetching secret for user Test
debug: POST 2ndfactor totp: TOTP secret is null
error: Reply with error 500: TypeError: Cannot read property 'secret' of null
I get the same message typing in any letters in the token box.
Did I forgot any steps?
Thank you
Best regards
-Timinocobar-

Hello @Timinocobar , did you deploy Authelia with the provided steps in the README (docker-compose)? Did you change anything in the config?
The use case is very simple and it is tested in Travis for sure. Hence, I'm interested in knowing what involves such a behavior.
Thanks.
Clément.

I am not using docker, I only installed node and npm on a centos 7 vm.
Of course I made some changes to apply the config file to my environment, LDAP and Redis-Servers and so on.

I'm really interested in your deployment. Do you have an automated way to reproduce the infrastructure? Vagrant, Ansible, Chef? If yes, please post it or PM? If no, please post the version of Authelia and the configuration you are using.
For your info, the TOTP secret is stored in mongo and it should be in a collection called "totp_secrets". Can you please check there is something there with a CLI?

@Timinocobar , did you have time to check?

Please reopen the ticket if needed.