Add rate-limiting?

Hi,
Thought maybe adding rate-limiting to this project might be a good idea...
Might be quite difficult but I have released a library which may be of help? https://github.com/eddiejibson/limitrr

I'll add the quick example for you, too.

I've gone ahead and added a simple ExpressJS example: https://limitrr.js.org/#/quickstart?id=simple-expressjs-example
Note, however, that there are many examples of each function within their respective pages. Should be quite easy to implement. Let me know if you have any more questions or concerns.

@eddiejibson Hello eddie, yes I think that your module could be useful for that.
btw, you really improved the first example, but I think it could even better, I'll try to send you a pr when i got some time.

That's good to hear, let me know if you have any issues integrating it.
Alright, great. Sounds good. I'll look forward to seeing it 👍
3 Mar 2019, 03:42 by<EMAIL_ADDRESS>
@eddiejibson https://github.com/eddiejibson>  Hello eddie, yes I think that your module could be useful for that.
btw, you really improved the first example, but I think it could even better, I'll try to send you a pr when i got some time.
—
You are receiving this because you were mentioned.
Reply to this email directly, > view it on GitHub https://github.com/fega/mongo-server/issues/25#issuecomment-468984845> , or > mute the thread https://github.com/notifications/unsubscribe-auth/AXnKJkgbC1liEv4h4atuzX3xNA6tt0KKks5vS0SdgaJpZM4baXsE> .

Hi,
This is a nice project, I see a lot of potential here!
For rate limit, as for slow down the spammers you can use:
In app file:
const rateLimit = require('./middlewares/ratelimit');
const slowDown = require('./middlewares/slowdown');
...
app.use(rateLimit.ip, slowDown.ip, rateLimit.route, slowDown.route);
...

... and in the ./middlewares/ratelimit put:
'use strict';
const rateLimit = require('express-rate-limit');

module.exports = {
    ip: rateLimit({
        windowMs: 1 * 60 * 1000, // 15 minutes
        max: 1000, // limit each IP to max requests per windowMs // Default 5. Set 0 to disable
        headers: false, // Default true
        onLimitReached: function (req, res, options) {},
        keyGenerator: function (req /*, res*/) {
            return req.ip; // this can be modified for more granular control
        },
        skip: function (/*req, res*/) {
            return process.env.RATE_LIMIT_IP_ENABLED == 'true' ? false : true;
        },
    }),
    route: rateLimit({
        windowMs: 1 * 60 * 1000, // 15 minutes
        max: 5, // limit each IP to max requests per windowMs // Default 5. Set 0 to disable
        headers: false, // Default true
        onLimitReached: function (req, res, options) {},
        keyGenerator: function (req /*, res*/) {
            return req.ip + ':' + req.path; // this can be modified for more granular control
        },
        message: 'Too many requests from this location.',
        skip: function (/*req, res*/) {
            return process.env.RATE_LIMIT_ROUTE_ENABLED == 'true' ? false : true;
        },
    }),
};
console.log('RATE_LIMIT_IP_ENABLED = ' + process.env.RATE_LIMIT_IP_ENABLED);
console.log('RATE_LIMIT_ROUTE_ENABLED = ' + process.env.RATE_LIMIT_ROUTE_ENABLED);

and in ./middlewares/slowdown put:
'use strict';
const slowDown = require('express-slow-down');

module.exports = {
    ip: slowDown({
        windowMs: 2 * 60 * 1000, // 15 minutes
        delayAfter: 500, // allow 100 requests per 15 minutes, then...
        delayMs: 10, // begin adding 500ms of delay per request above 100:
        onLimitReached: function (req, res, options) {},
        keyGenerator: function (req /*, res*/) {
            return req.ip; // this can be modified for more granular control
        },
        skip: function (/*req, res*/) {
            return process.env.SLOW_DOWN_IP_ENABLED == 'true' ? false : true;
        },
    }),
    route: slowDown({
        windowMs: 2 * 60 * 1000, // 15 minutes
        delayAfter: 1, // allow 100 requests per 15 minutes, then...
        delayMs: 1400, // begin adding 500ms of delay per request above 100:
        onLimitReached: function (req, res, options) {},
        keyGenerator: function (req /*, res*/) {
            return req.ip + ':' + req.path; // this can be modified for more granular control
        },
        skip: function (/*req, res*/) {
            return process.env.SLOW_DOWN_ROUTE_ENABLED == 'true' ? false : true;
        },
    }),
};
console.log('SLOW_DOWN_IP_ENABLED = ' + process.env.SLOW_DOWN_IP_ENABLED);
console.log('SLOW_DOWN_ROUTE_ENABLED = ' + process.env.SLOW_DOWN_ROUTE_ENABLED);

In env file the specified settings must be present, or you need to remove the conditionality.
That's all, this setup allows you to have a nice control on incomming connections: a lax setting for connections from the same ip (allowing a generous number of static files), and restricting the connections for the same rute and same ip.


Publish 7.5-20220426232746+0000

Publish 7.5-20220426232746+0000

@bot-gradle test and merge

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

OK, I've already triggered a build for you.


CNS-340 - add ability to publish to specific subject hierarchies

Context
This PR adds an optional ability to publish to specific subject hierarchies of the configured topic of the push server via a new functional option OptPushServerEnableSubjectHierarchies.
The goal is to provide subscribers the ability to receive only events they care about instead of having them be required to add logic to ignore events they are not interested in.
For example:
If the push server topic has been set to global-events and the server is about to push a "create" event w/ an identity value of "apples", enabling this option, would cause the push server to target a new publication to the subject global-events.apples.create, INSTEAD OF global-events.
See https://docs.nats.io/nats-concepts/subjects for more details.
Will be used to solve

https://redlock.atlassian.net/browse/CNS-340
https://redlock.atlassian.net/browse/CNS-94

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "pubsub-subject-hierarchy",
    "component": "bahamut",
    "pr-id": "112",
    "commit-sha": "a8fe1b58b52314917890c6031e07b5c47c2eab8b",
    "pipeline": "master"
  },
  {
    "project": "pubsub-subject-hierarchy",
    "component": "backend",
    "pr-id": "897",
    "commit-sha": "1c3c19370ac82c6c483003fd0ed716d5899fb625",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "pubsub-subject-hierarchy",
    "component": "bahamut",
    "pr-id": "112",
    "commit-sha": "a8fe1b58b52314917890c6031e07b5c47c2eab8b",
    "pipeline": "master"
  },
  {
    "project": "pubsub-subject-hierarchy",
    "component": "backend",
    "pr-id": "897",
    "commit-sha": "c1f36a6347dbb1c8e42a9650594b6f397e99976b",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "pubsub-subject-hierarchy",
    "component": "backend",
    "pr-id": "897",
    "commit-sha": "c1f36a6347dbb1c8e42a9650594b6f397e99976b",
    "pipeline": "master"
  },
  {
    "project": "pubsub-subject-hierarchy",
    "component": "bahamut",
    "pr-id": "112",
    "commit-sha": "a8fe1b58b52314917890c6031e07b5c47c2eab8b",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "pubsub-subject-hierarchy",
    "component": "bahamut",
    "pr-id": "112",
    "commit-sha": "a8fe1b58b52314917890c6031e07b5c47c2eab8b",
    "pipeline": "master"
  },
  {
    "project": "pubsub-subject-hierarchy",
    "component": "backend",
    "pr-id": "897",
    "commit-sha": "daf4b2eb60450bc35c0c52c58282599eabdb2c7b",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "pubsub-subject-hierarchy",
    "component": "bahamut",
    "pr-id": "112",
    "commit-sha": "a8fe1b58b52314917890c6031e07b5c47c2eab8b",
    "pipeline": "master"
  },
  {
    "project": "pubsub-subject-hierarchy",
    "component": "backend",
    "pr-id": "897",
    "commit-sha": "daf4b2eb60450bc35c0c52c58282599eabdb2c7b",
    "pipeline": "master"
  }
]


fix(rust): make sure that there is only one space max marked as default

This PR makes sure that we mark a stored space as default in the same transaction, to avoid possible race conditions.

Closed in favor of https://github.com/build-trust/ockam/pull/8366.


Integrating ErsatzProxy

I added in the new version of Ersatz with the proxy server support.

Security should be doable. I'd need to see how it would be done on the client side... I think it would just be the same configuration as it is with the standard server (BASIC, DIGEST). Even if not, it should be possible just need to know the protocol.


[Feature][Connector-V2] Add oss sink

Purpose of this pull request
#1946 Oss sink connector

Check list

[x] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[x] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

LGTM


Upgrade protobuf and grpcio

As mentioned in issue #176 , the SDK cannot be used with Python 3.11.
This PR:

Upgrades to the latest version of grpc
Upgrades to the latest version of protobuf
Adds 3.11 to the build matrix

Great progress on getting stability run on M2 Macbook. However, we need to go further, as I am getting: https://github.com/grpc/grpc/issues/32306

Merged in #209


[DDW-513] Update ledgerjs-hw-app-cardano package version to 2.1.0

This PR introduces an @cardano-foundation/ledgerjs-hw-app-cardano package version update to 2.1.0.

Testing Checklist

Slack QA thread
[ ] Test if Hardware Wallets features works as is expected. Happy path testing is enough and it is a change that can affect only  Ledgers

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes
[ ] PR has default-sized Daedalus window screenshots or animated GIFs of important UI changes:

[ ] In English
[ ] In Japanese

[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

restore hardware walletcreate transaction and delegate.estore (PAIR) hardware wallet after you are done with tx send / delegation

Restore (PAIR) hardware wallet after you are done with tx send / delegation

@tomothespian  For Ledger Nano X, Tested on build 15631. All good 👍

OS\Task
Restore hardware wallet
Create transaction
Delegate
Restore (Pair again) hardware wallet after done with tx send / delegation

Windows
Pass
Pass
Pass
Pass

MacOS
Pass
Pass
Pass
Pass

Linux
Pass
Pass
Pass
Pass

@mioriohk please approve the PR 🙏
@gnpf @ManusMcCole please run the same tests on Ledger Nano S 🙏


a stab at some benchmarks we are interested in

Commit 300adcd271029b7e0cb3d81eb84e25787d2ee8bc resolves this PR. Sorry I'm not as fast as Robert!
Takes 3 minute on my PC to run 24 queries.


Still maintained/viable

Hello,
Is this project still maintained? If so, woudl you consider adding a bower.json manifest (I'm happy to submit a PR to write one)
Cheers
Rhys

Maintained, yes, as in I'm alive :) although I haven't been using it lately
Submit a PR, sure thing! Thanks


Add mermaid support

Hello !
It could be great that mermaid graphs could be rendered as images for example when detected. Currently it does render plain text cause confluence doesn't support it.

Hi
This would be a huge amount of work to do, but you can insert pre-rendered
mermaid graphs as images while storing them in the same directory.
On Fri, Dec 18, 2020, 10:44 Vayrn<EMAIL_ADDRESS>wrote:

Hello !
It could be great that mermaid https://mermaid-js.github.io/mermaid/#/
graphs could be rendered as images for example when detected. Currently it
does render plain text cause confluence doesn't support it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kovetskiy/mark/issues/49, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAN7ZH7F5CJRBPSZLQTQDLSVMB4ZANCNFSM4VAZTNXQ
.

Another approach would be to pre-process the .md files outside of mark, extracting out embedded mermaid or other commands and replacing them with image referencing the mermaid output.

As a different approach, you could drop the mermaid.js javascript into the markdown and wrap that in an HTML macro. I just can't figure out how to include an HTML macro. Suggestions?

Have you tried with something like
<iframe class="render-viewer" sandbox="allow-scripts allow-same-origin allow-top-navigation" src="https://viewscreen.githubusercontent.com/markdown/mermaid?color_mode=dark&azure_maps_enabled=true#0df8ce10-5cd4-4b0c-9d7f-" name="0df8ce10-5cd4-4b0c-9d7f-" data-content="{"data":"flowchart RL\n    a --entry--&gt; b\n        flavour2_dynamic -..- \n"}">
        </iframe>

?


Question: Support for CUDA? Mercurial?

(I would add the "question" tag but I don't see it)

Does jucipp support writing and building CUDA code out-of-the-box?
README.md mentioned support for Git. Is Mercurial also supported?

Overall, this is a very interesting effort.

Thank you for your feedback.
Although I could not test this since I do not have a Nvidia graphic card, I added initial CUDA support here: https://github.com/eidheim/jucipp/commit/1bb95beb43e600bfe10247b4d6979abd8d50e76a
I added the following lines to make it work on my system, but this might not be necessary if you have added CUDA somehow in your cmake/meson files:
add_definitions(-D__CUDACC__)
include_directories(/opt/cuda/include)

Feedback and improvements to the commit is very welcome.
Regarding Mercurial, we do not (yet) support this. Git integration is achieved through the libgit2 library, I do not know if Mercurial has a similar library.

I updated the CUDA support commit to:
https://github.com/eidheim/jucipp/commit/e18c0089707df5c70d59552fae75ed08a672bbe0


Apple Watch App

Avoid duplicates

[x] This issue has not already been raised before

Current Implementation

No App on Apple Watch
Suggested Enhancement

Have a App on Apple Watch which runs the Covid-19 protocol.
Expected Benefits

For many users the watch is always close by but iPhone is not (e.g. large iPhone models which don't fit in pockets).  Or e.g. some employers forbid having a phone at the workplace (seen in some shops where employees are quite exposed but are disallowed to have a phone with them)

This is currently not possible, because the used framework for the contact tracing („Exposure Notification“) is only available on iOS an iPadOS devices. If you think this is a needed addition you should address this idea to Apple/Google.
But I agree, a watchOS application would be great!👍🏽
(But there is currently no indication from any vendor that this will happen, so it is very unlikely.)
See the FAQ for an official answer!

Why close this?

Hi @peerst ,
As @tens0rfl0w said, at the moment, the OS (watchOS) doesn't support it. As a Vendor, we cannot influent at the moment. If OS supports it, we will reopen it. Thanks.


fix(docs) - fix checkbox inputType docs to use correct props

Also changed the verbiage a bit to clear up some confusion we had over at my office

Codecov Report

:exclamation: No coverage uploaded for pull request head (checkbox_radio@36e6034).

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 672feac...36e6034. Read the comment docs.

Yep, that one was old news!  Thanks much :)


Sm950 rebase to latest gem 181 code

This is a rebase of our customised branch of the geocoder:1.3.7 code onto the geocoder:1.8.1 code base.
The original customisation can be seen here
This updated version of the customisation can be seen below
At this point this is untested.
https://jira.netdirector.co.uk/browse/SM-950

Whoops - I didn't mean to raise this here


Show changes in the HUD

I suspect that most ZAP users dont read the change log.
I think it would be really useful to show the HUD specific changes actually in the HUD.
Ideally we would subtly highlight these and then clear that indication when the user has looked at the changes.
Options:

Add a Changes page to the Tutorial
Add a new Changelog icon next to the gear icon at the bottom
Add a new Changelog item to the options
??

Whichever one we choose I think the relevant icon should have a star or plus which is cleared when the user visits that page / tool - we'd need to keep track of what the user has seen so that it can be enabled again for the next version

I think this is a good idea.

I prefer star over the plus.
I think the changelog should be very concise and only for big feature adds. I think showing too much will give folks notification fatigue.

Is there any reason we shouldn't just use the "News" section on ZAP desktop?

Because thats in the ZAP desktop and not in the HUD :) We have loads of add-on and can already notify people if they are updated, I dont think we want to use the ZAP News section for this.


Migration to Conditional Access causes confusion on customers

On customers that are not very familiar with the session control in Conditional Access "Customize continuous access evaluation" the policy created by the Migration can be confusing specially if they had CAE enabled for a few users or groups.
This is because of the logic of the CAP is the other way around as the CAE settings, if CAE was enabled just for a group, the CAP will be enabled and would include all the users and apps and exclude the users that were added in CAE settings.
It would be great if we could document what is expected to happen when clicking on the Migrate button as in our private documentation:
Tenants that explicitly enabled some users in their tenants with the old UX:
Old CAE settings will be greyed out. Clicking Migrate launches the New conditional access policy wizard which places All users on the Include, while excluding users and groups copied from CAE. It also sets the new Customize continuous access evaluation Session control to Disabled.
Tenants that explicitly disabled the preview.
Old CAE settings will be greyed out. Clicking Migrate launches the New conditional access policy wizard which places All users on the Include and sets the new Customize continuous access evaluation Session control to Disabled.
That could avoid confusion on the customer and avoid support tickets regarding that

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

ID: b5cf71de-20a1-6056-01cf-f44d9ef60ed3
Version Independent ID: 67cb36dd-918d-e41d-7890-53750957d2d6
Content: Continuous access evaluation in Azure AD
Content Source: articles/active-directory/conditional-access/concept-continuous-access-evaluation.md
Service: active-directory
Sub-service: conditional-access
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@jaulates
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@JamesTran-MSFT this needs to go to the PG #reassign:@JamesTran-MSFT

@jaulates
Thank you for pointing this out! I've created a PR to update the documentation and it's currently waiting for the author to review and sign off.
I will now close out this issue. Please allow some time for the author to review and the changes to reflect.
Thank you for your time and patience!


[C++][Parquet] Switch to format version 2 as default for writing Parquet

Related to the thread on the arrow dev mailing list: https://lists.apache.org/thread.html/rf1a377c66990ae5ac0693119d416c93a7e19228d3eaaea8bd90acb17%40<dev.arrow.apache.org>
Currently, when writing parquet files with Arrow (parquet-cpp), we default to parquet format "1.0". In practice, this means that we don't use certain LogicalTypes (eg we don't write integers other than int32/int64, and we don't write the nanosecond timestamps).
I think it would be nice to enable nanosecond timestamps by default, but I also have no idea how widely this is already supported by other readers.
To be clear, this is not about enabling data page version 2 by default, in Arrow that is governed by a separate option.
While checking this, I made an overview of which types were introduced in
which parquet format version, in case someone wants to see the details ->
https://nbviewer.jupyter.org/gist/jorisvandenbossche/3cc9942eaffb53564df65395e5656702
Reporter: Joris Van den Bossche / @jorisvandenbossche
Note: This issue was originally created as PARQUET-1972. Please see the migration documentation for further details.

Gang Wu / @wgtmac:
Current default version is 2.6: [GH-35746: [Parquet][C++][Python] Switch default Parquet version to 2.6 by anjakefala · Pull Request #36137 · apache/arrow (github.com)|https://github.com/apache/arrow/pull/36137]


common-aliases: handle "dev" versions in version check

Uses is-at-least instead of a numeric comparison hack, so versions with non-numeric bits like "4.5.0-dev5" don't throw errors.
Fixes an issue noted in https://github.com/robbyrussell/oh-my-zsh/issues/4441#issuecomment-163790819.

Hi,
This fix doesn't work for me. I now have this error :
/home/shir0kamii/.oh-my-zsh/plugins/common-aliases/common-aliases.plugin.zsh:55: parse error: condition expected: is-at-least

For information, my version of zsh is zsh 5.2-dev-0 (x86_64-unknown-linux-gnu)

Oops. Fixed. Try again.

It works, thank you.

For future reference, the is-at-least function is loaded in lib/misc.zsh. :+1:


vendor-bundle.js needs fixing after version 1.8.770.9

VivaldiHooks have been working nicely up to vivaldi-snapshot_1.8.770.9-1. Every new snapshot after that will not launch after VivaldiHooks is installed (including vivaldi-snapshot_1.8.770.44, which is Release Candidate 1 for vivaldi-stable 1.8). It seems to be related to the file vendor-bundle.js, because as soon as you restore the original file from vivaldi-snapshot it launches normally again (but of course VivaldiHooks are no longer there).
Maybe there was a major change in this file (a file that is required to be replaced by VivaldiHooks installation)?

Works for me.
I need more details about OS and Vivaldi version you use.

Ouch. I feared that.
So my OS is Kubuntu 16.04 (KDE Plasma 5.8.5 and Linux Kernel 4.4.0-70) 64-bit.
I've tried with two different versions of Vivaldi Snapshot: 1.8.770.32 and 1.8.770.44. Both displayed the same problem (but 1.8.770.9 works fine every time)
Is there any other place I should look for logs of something?
Also another question... when you first install VivaldiHooks and it prompts you to download and copy "vendor-bundle.js", where does it download from? And is it always the same file regardless of the version of Vivaldi? Thanks a lot.

Same problem with 1.8.770.50 (Stable channel) (64-bit) (Ubuntu 16.10).
I even tried with an empty hooks dir: after generating the vendor-bundle.js and replacing it, the processes start (you can see them with ps), but the UI doesn't appear. You can launch another instance from the terminal and it adds the window process, but again, no trace of the UI.

Are you sure it's not about access rights?
I'll try rewriting jdhooks.js so it wouldn't require updating vendor-bundle.js.

What should be the group, owner and permission of that file (and any jdhooks file involved)?
BTW, removing the need of updating the file would be a very nice improvement!

You were right!
In my case the hooks dir was copied with no access for anybody but root, and the vendor-bundle.js was missing the read permission for all.
Adding a more detailed note in the installation doc would probably be useful for other users.

BTW, removing the need of updating the file would be a very nice improvement!

https://github.com/justdanpo/VivaldiHooks/commit/d7e62b9acdfa87c1fe448d935f554fa51fec968d

Great, it works again. I'm back with the latest snapshot version and VivaldiHooks is working great.
In my case I'pretty sure it wasn't an access or permission issue.  Great work! Thanks for adding great value on Vivaldi.


Remove a few borderline keywords

Removed  keywords:
"maxi",
"pom",
"gag",
"steamer",
"bootie",
"giant",
"ribbed",
"sac",
"potty",
"urinal",
"addict"

Man, our standards are lowering.... "Giant urinal addict" is ok now. 😱


Update the Tech Stack of the project in Readme

Deliverables:
Add the deliverables with their description here.

[x] Update tech stack to MERN in readme.md file.

Screenshots
Add any relevant screenshots to show how the elements look or works currently/how the enhanced element should look or function.

@kunaljain0212 I would like to work on this issue.


Fixed bug in Tabularview that react table not showing all values

https://github.com/AdoptOpenJDK/openjdk-test-tools/issues/265

bug fixed

Signed-off-by: sophiaxu0424<EMAIL_ADDRESS>

Before this fix: only show 20 rows(table header not included)


bug: ClusterWorkspaceType list returns 404

Describe the bug
I have created custom ClusterWorkspaceType:
apiVersion: tenancy.kcp.dev/v1alpha1
kind: ClusterWorkspaceType
metadata:
  name: faros
spec:
  defaultAPIBindings:
  - path: root:faros-system:controllers
    exportName: access.faros.sh
  - path: root:faros-system:controllers
    exportName: edge.faros.sh
  - path: root:faros-system:controllers
    exportName: plugins.faros.sh
  defaultChildren:
    types:
    - name: universal
      path: root

And instantiated custom workspace:
 k get workspace
NAME   TYPE    PHASE   URL
bob    faros   Ready   https://<IP_ADDRESS>:6443/clusters/root:faros:default:bob
bob1   faros   Ready   https://<IP_ADDRESS>:6443/clusters/root:faros:default:bob1

When traversing Workspaces (like CLI command tree) , if im in "pre-configured" types and I list child workspaces, I get empty list, but if Im inside bob I get 404:
(interface {}) <nil>
(interface {}) <nil>
(interface {}) <nil>
(interface {}) <nil>
(*errors.StatusError)(0xc0008ca780)(the server could not find the requested resource (get clusterworkspaces.tenancy.kcp.dev))
(*errors.StatusError)(0xc0008cac80)(the server could not find the requested resource (get clusterworkspaces.tenancy.kcp.dev))
(interface {}) <nil>
(interface {}) <nil>
(interface {}) <nil>
(interface {}) <nil>

This is without fix: https://github.com/kcp-dev/kcp/pull/2242
Steps To Reproduce
See description
Expected Behaviour
Client should return empty list for list operation, not 404.
Additional Context
No response

Not working workspace:
apiVersion: tenancy.kcp.dev/v1beta1
kind: Workspace
...
spec:
  type:
    name: faros
    path: root

Working:
apiVersion: tenancy.kcp.dev/v1beta1
kind: Workspace
...
spec:
  type:
    name: universal
    path: root

@mjudeikis to try to provide more details

I think this is fine. Custom workspaces would not have "batteries" so it will not have workspaces APIbindings by default. Bootstrap error on my side.


Add LBT_USE_RTLD_DEEPBIND capability

Certain tools such as sanitizers don't like us loading libraries with
RTLD_DEEPBIND, so since we already have the workarounds in place for
systems that don't have RTLD_DEEPBIND at all, let's change these from
using compile-time constants to instead use a runtime switch that can be
overridden through setting the environment variable
LBT_USE_RTLD_DEEPBIND=0 before running our program.

@tkf can you try this out, regarding https://github.com/staticfloat/libblastrampoline/issues/47 ?

@giordano do you have any idea what's wrong with the drone setup?

No, the alpine image started failing a few weeks ago but I've never got around to look into it 😞

regarding #47

Thanks a lot! I can confirm that this branch works with
make debug  # let it fail
cp /PATH/TO/THIS/libblastrampoline/src/build/libblastrampoline.so usr/lib/libblastrampoline.so
LBT_USE_RTLD_DEEPBIND=0 make debug

To be concrete, $PWD/Make.user contains
TOOLCHAIN=$(TOOLCHAIN_WORKTREE)/usr/tools

# use our new toolchain
USECLANG=1
override CC=$(TOOLCHAIN)/clang
override CXX=$(TOOLCHAIN)/clang++
export ASAN_SYMBOLIZER_PATH=$(TOOLCHAIN)/llvm-symbolizer

USE_BINARYBUILDER_LLVM=1

override SANITIZE=1
override SANITIZE_ADDRESS=1

# make the GC use regular malloc/frees, which are hooked by ASAN
override WITH_GC_DEBUG_ENV=1

# default to a debug build for better line number reporting
override JULIA_BUILD_MODE=debug

# enable LLVM assertions (which also enables pass debug output)
#override LLVM_ASSERTIONS=1

# make ASAN consume less memory
export ASAN_OPTIONS=detect_leaks=0:fast_unwind_on_malloc=0:allow_user_segv_handler=1:malloc_context_size=2

JULIA_PRECOMPILE=1

and $TOOLCHAIN_WORKTREE/Make.user contains
USE_BINARYBUILDER_LLVM=1
BUILD_LLVM_CLANG=1

On $TOOLCHAIN_WORKTREE I ran make -C deps install-llvm install-clang install-llvm-tools to isntall enough binaries in $(TOOLCHAIN_WORKTREE)/usr/tools.


Add IP_ORIGDSTADDR and others on FreeBSD.

A follow-up from #1252.
CC @asomers.
r? @gnzlbg

I'm not sure what that test does and why it fails.

Maybe that constnats were added to FreeBSD too recently?

We don't test FreeBSD 12 on CI, only 11. You probably need to skip these constants in the build.rs for freebsd.

You probably need to skip these constants in the build.rs for freebsd.

I'm not sure how to do it.

Something like this: https://github.com/rust-lang/libc/blob/master/libc-test/build.rs#L567

@bors: r+

:pushpin: Commit 486de2ba2bb3eb7f535fdbbae3da757abb6702dd has been approved by gnzlbg

:hourglass: Testing commit 486de2ba2bb3eb7f535fdbbae3da757abb6702dd with merge 743840b0ecbc4faf654ed2ead90121811e3fba69...

:broken_heart: Test failed - checks-cirrus

@bors: retry

:hourglass: Testing commit 486de2ba2bb3eb7f535fdbbae3da757abb6702dd with merge 0e1fbe33e9b1789f9a73ac47ea454cb48f601058...

:sunny: Test successful - checks-cirrus, checks-travis, status-appveyor
Approved by: gnzlbg
Pushing 0e1fbe33e9b1789f9a73ac47ea454cb48f601058 to master...


[BUG] Json serialization behavior is not the same on framework as it is on core/5+

Describe the bug
Deserializing the structs on Framework from valid JSON results in a zero value.
Deserializing the structs on Core/NET 5+ results in the correct representation.
The JSON is serialized correctly but it would appear the fields aren't populated correctly when deserializing due to the fact that the properties have private setters. System.Text.Json gained the ability to deserialise properties with private setters in .NET 5.
Potential solutions:

Add a [JsonConstructor] to the structs.
Package a converter within the library and mark the struct with the converter.

public class TimeOnlyJsonConverter : JsonConverter<TimeOnly>
{
    public override TimeOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
    {
        return TimeOnly.Parse(reader.GetString());
    }

    public override void Write(Utf8JsonWriter writer, TimeOnly timeValue, JsonSerializerOptions options)
    {
        writer.WriteStringValue(timeValue.ToString());
    }
}

Users have to write their own converters (undesirable as it does not maintain the behavior we have with the original usage of DateOnly and TimeOnly).

To Reproduce
#r "nuget: System.Text.Json, 8.0.3"
#r "nuget: Portable.System.DateTimeOnly, 8.0.0"

using System.Text.Json;

var a = new TimeOnly(1, 2);

var json = JsonSerializer.Serialize(a);

var b = JsonSerializer.Deserialize<TimeOnly>(json);

b.Dump();

.NET 8

.NET Framework 4.8

@KieranDevvs Thanks a lot for reporting this. Let me explain what happens in both cases:

If your target platform is .NET 6 and later (and I see .NET 8 in your example) you will never use code from this NuGet package. In fact for .NET 6 and later NuGet package contains just a type forward directives. So in this case code will use the TimeOnly type provided by BCL not a backported one. It's good behavior and most users expect that.
If your target platform is .NET 5 or earlier (or for any .NET Framework version that matches the .NET Standard 2.0 specification) you will use code from this package. Most probably the System.Text.Json has code that handles the TimeOnly type separately, and this handling is based on BCL type not on type from this library.

I'll try to find a workaround for this problem. Most probably, it will be based on attributes. If you want to serialize/deserialize a single value you can use ToString/TryParse for this task. If you use it as a field in the complex JSON structure the attribute-based solution should be fine.

Let me comment on your initial statement a little. You wrote:

The JSON is serialized correctly but it would appear the fields aren't populated correctly when deserializing due to the fact that the properties have private setters. System.Text.Json gained the ability to deserialize properties with private setters in .NET 5.

There is no "correct" serialization for this type (and for the DateOnly too). The System.Text.Json developers made some decisions on how to do it but it's not a part of JSON specification. You can also serialize these types as numbers if it's more appropriate for your use cases.
And BCL versions of DateOnly and TimeOnly types don't have serialization attributes. The BCL doesn't depend on the System.Text.Json library. But the System.Text.Json has a special code for handling these types on some platforms. Of course, the built-in TimeOnlyConverter will handle only the BCL-based version of the TimeOnly type.
I don't particularly appreciate adding dependencies like System.Text.Json into such a tiny library. Everyone who needs "portable" things should understand its limitations. But I agree that this limitation should be more "visible":

I can add a statement about this "known issue" to the README and encourage users to write converters
I can provide sample converters as a code in the README so everyone can copy-paste code and use it
I can create another NuGet package with 2 converters and write about this package in the README

And of course, you can create this new NuGet package with converters and I'll just add a link to it into README.

@all-contributors please add @KieranDevvs for ideas

Thanks for the feedback. I appreciate not wanting to add a serialization library dependency, and I think having a separate NuGet package for the converters would be great. I don't think this should be left to the user to implement as I see much more benefit and ease of use from standardising the converters to match the .NET core/5+ behaviour.

@OlegRa Thanks for the feedback. I appreciate not wanting to add a serialization library dependency, and I think having a separate NuGet package for the converters would be great. I don't think this should be left to the user to implement as I see much more benefit and ease of use from standardising the converters to match the .NET core/5+ behaviour.

@OlegRa Oh I didn't expect you to create the project AND do the implementation, I was going to contribute but I wont argue about not having to do the work 🥳. Do you have an ETA on the NuGet package release? I can start swapping out my existing converters in place of yours 🙂.

If you have an alternative implementation, you can create your own NuGet package. It's always better to have two OSS alternatives than one 🥇
My implementation is based on the System.Text.Json code base. The only interesting thing is making an attribute that will work for old and new frameworks without any ifdefs in the client code. My version fallbacks to the built-in converters in the case of .NET 6.0 and later.
I will publish this NuGet package later this evening (European time) after completing GitHub action for it.

@KieranDevvs Finally it's published. Please, test and provide your feedback here or in a separate issue(s).

I wonder...does it not suffice to use a type converter?

I wonder...does it not suffice to use a type converter to\from string? I think both json.net and STJ would then just work without any extra work and no need for separate package?

I don't understand your question. Portable.System.DateTimeOnly.Json does provide a type converter. As mentioned in this issue, its not favorable to let the consumers each individually build their own. It leads to a worse experience as the type cant be used out of the box if you intent to serialize it. It also leads to non standardized serialization so one vendor might build their converter to serialize to .ToString() which would result in something like "YYYY-MM-DD hh:mm:ss" , and another provider might serialize it to a flattened object like so:
{
    "year": 2001,
    "month": 2,
    "day": 19,
    "hour": 17,
    ....
}

And now if these two applications want to interface each other, they need to:  A) Share converter types or B) Standardize their converters.
TLDR; I think its better to offer a standard approach out of the box and if you decide to do your own thing, then fine, but you're to blame if it doesn't go well.

I don't understand your question. Portable.System.DateTimeOnly.Json does provide a type converter

I mean, could it suffice to use a json independent type converter like this that could live in the main package:
 [TypeConverter(typeof(DateOnlyIsoTypeConverter))]
struct DateOnly
{
 ...
}

    public class DateOnlyIsoTypeConverter : TypeConverter
    {
        public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
            => sourceType == typeof(string);

        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            if (value is string str && DateOnly.TryParseExact(str, "o", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out var ut))
            {
                return ut;
            }

            return base.ConvertFrom(context, culture, value);
        }

        public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
        {
            if (destinationType == typeof(string) && value is DateOnly don)
            {
                return don.ToString("o", CultureInfo.InvariantCulture);
            }

            return base.ConvertTo(context, culture, value, destinationType);
        }
    }

@osexpert There are two problems with the TypeConverter approach:

The original BCL types don't have this attribute and there is no default type converter(s) for them. Adding these attributes will not affect anyone (I hope), but it will make backported types not fully compatible with the BCL sources.
Most importantly - the System.Text.Json library never uses the TypeConverter attribute for controlling the serialization/deserialization process (see this discussion).

The current approach is not ideal but it's better than nothing. Right now it has only one limitation - the source generator goes crazy and tries to use built-in converters for backported types even on unsupported platforms. For this scenario, we'll need a more complex workaround.

Most importantly - the System.Text.Json library never uses the TypeConverter attribute for controlling the serialization/deserialization process (see this discussion).
That is a problem for sure:-) I incorrectly remembered it did. Thanks.

@KieranDevvs, I closed it as completed after this helper NuGet package's "official" release. If you have any issues/bugs or some ideas for better documentation, please open another issue(s).

@all-contributors please add @osexpert for ideas


add zh /docs/reference/glossary/cluster-infrastructure.md

to address https://github.com/k8smeetup/website-tasks/issues/3257

/lgtm
/approve


Using ViewCompat in place of deprecated NineOldAndroid

NineOldAndroids is deprecated and should be replaced with ViewCompat from support-v7 library.
For example the Slider class could use ViewCompat.setX() in place of ViewHelper.setX().

+1000

:+1:

What I used instead of AnimatorProxy ?

I believe all of AnimatorProxy's methods are in ViewCompat.


Update workflows

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (dabc4af) 100.00% compared to head (a731406) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #120   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          139       139
  Branches        24        24
=========================================
  Hits           139       139

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Split irods_types.cpp class_ and enum_ definitions into multiple files

irods_types.cpp takes a disgusting amount of time to compile. To fix this, we should follow Boost's guidance and split it up into multiple files:
https://www.boost.org/doc/libs/1_76_0/libs/python/doc/html/tutorial/tutorial/techniques.html#tutorial.techniques.reducing_compiling_time

do we have a before and after elapsed time?


[olc_definition.adoc] "Code areas distort at high latitudes" - need more explanation

"Code areas distort at high latitudes due to longitude convergence."
Is it solely due to "longitude convergence" ?
Is it also in such a way because plus codes method tries to cover as many latitudes as possible since north/south pole area is not much populated ?
Is it possible to add more explanation?

No, it is solely due to convergence. OLC is basically just a repeated division of the existing lat/long grid - 20°, 1°, 0.05° etc. Longitudinal lines converge towards the equator, so the area defined by two of those lines gets distorted towards the poles.
This actually means that a plus code of any given length is more precise near the poles, not less. If population of an area was taken into account, the opposite would probably have been attempted.


add one digit

Coverage remained the same at 73.118% when pulling bb6b2235fa9f88b2a058168071d39d884b71848e on 105-Connection-port into 83a4761958e105005b53710b7c11563d3c17f896 on master.

Coverage remained the same at 73.118% when pulling bb6b2235fa9f88b2a058168071d39d884b71848e on 105-Connection-port into 83a4761958e105005b53710b7c11563d3c17f896 on master.


labels overlap in stacked bar chart

I am facing issue to display the data labels as the labels are getting overlapped in case of stacked bar chart

Could you provide your code? (jsbin, jsfiddle, etc)

No response from submitter and probably duplicate of #1079.


LICENSE needed

@dengyin2000
Hi, great work!
I was thinking of creating a similar library, but hey, you already implemented most of what I had in mind. Is there a LICENSE for this library?

@dengyin2000
Hi, great work!
I was thinking of creating a similar library, but hey, you already implemented most of what I had in mind. Is there a LICENSE for this library?

license added.


needs linted

$ go vet 2>&1 | wc
       3      17     242
$ golint 2>&1 | wc
      83     776    7158

I removed gometalinter from the issue as it's significantly more aggressive than what is currently described in current Go linting in other ContextLogic projects. go vet and golint are a more representative set of linting tests.


Chef - Issue with parsing attributes while deploying nodejs in kitchen

Hi,
When I try to deploy nodejs using cookbook from supermarket, following error is being thrown with regards to entry in the attribute file for ip address:

Please let me know where I'm going wrong. My cook book is attached herewith.
cook_nodejs.zip
Regards
Ramesh

@rameshm78
You have missed quotes for attributes
default['cook_nodejs']['appserver-ip'] = node['ipaddress']
default['cook_nodejs']['webserver-dns'] = node['fqdn']

@shaikkhajaibrahim @vijaybhaskarreddyy
Sir how to access/copy appserver's IP address into nginx (reverse proxy)?
How to write attribute to access them?
Please let me know this sir.
I'm struck at this point in both Chef & Ansible.

@rameshm78
Please let me know if you have solution for my above query.
Thank in advance.

Hi Arun,
Thanks a lot again, for helping me out.
With regards to your query, what I understand is that the appserver's ip address needs to be put in manually. This is because, this particular case is for setting up a system physically. It was stated in some earlier class that when this setup is on the web, this situation is handled by the Load Balancer. In case of physical systems, one will already be aware of the ip address of the machine.
This is my understanding and needs to be confirmed by Khaja sir. You could either ask this at the beginning of class tomorrow to get immediate response. Else post a question here.
Also we have not yet seen how Load Balancer in configured, but it is perhaps in some future class.
I'll close this thread once, I find things are working. Thanks again Arun.

@ramesh78
Thank you for your reply.
Upto now I've copied Appserver IP in Nginx manually. I have been searching if there is any method to copy IP address dynamically.
I'll ask Khaja sir tomorrow and let you know if there is any approach.
Thank you.

Thanks Arun.
If he explains during tomorrow's session, I will close this thread, or else please update the answer here.
By the way, the attributes file worked after adding the quotes.

@rameshm78
Is NodeJS installed in your machine?
If so can you ket me know version installed in your machine.
$ node --version
Thank you.


Create a side menu to navigate between screens

The barebones of the screens are available and being worked on but we need a side menu to move around between these screens.

I made a top bar to add a hamburger button for the side menu.

@hyewon92cho, thanks! I moved the bottom tabs to the home screen earlier so you might to want to do a pull. I'll be working on the user profile page tomorrow.

I'm stuck on this error... I tried everything I could find, but it keeps telling me Home is not a React Component.


Initial nodejs webserver

Created initila nodejs webserver. The most part is generated by the express generator, but if team mebers have ideas about how to structure the webserver, please comment so we can discuss (@geenen124).

Nothing to comment. @geenen124 have fun. Can merge once you're done, IMO.

Good work!


Firefox Ubunutu: Editor does not intercept Ctrl-Q

Firefox Nightly 104.0a1 (2022-07-10) (64-bit)
Ubuntu 22.04
FireMonkey Addon
On Windows, I have been using Ctrl-Q to 'toggleComment' but on Ubuntu, Ctrl-Q is not intercepted and instead picked up by Firefox to quit.
  extraKeys: {
    'Ctrl-Q': 'toggleComment',
    'Ctrl-Space': 'autocomplete',
    ...
  }

Yes, I recently noticed this too. Seems to be a new thing Firefox does. Not something a script can do anything about, though.


🐛 Fix markdown and GITPOD (🤪)

Hello 👋
Sorry for this, I corrected in Conference Hall. I'm trying to learn to my computer to write Gitpod like that but he want apply the same rule than for GitLab 😅

thanks
We definitively love PRs 😆


noUiSlider ignores survey.data and survey.mode

When I set data property, survey is filled with user's answers. Combined with mode = 'display' it allows to display already filled surveys as read-only.
It's great, but noUiSlider widget ignores these properties and always starts default value and allows changing value.
I've reproduced it in Plunker: https://plnkr.co/edit/lig8tiqnt5WewhtYML1y?p=preview

@tsv2013 @dmitrykurmanov We have add support for readOnly to all our customWidgets and update the docs

@pkoziol the issue with nouislider is fixed. The fix will be available in the next update.
Thank you,
Andrew


Limit the number of conversations sent

Some people have tons and tons of conversations and it can take way too long to send all of them. Plus, you won't be scrolling back hundreds of conversations, maybe limit 50?

Is there any way I could contact you through PM? I have a few questions for you in regards to this.

Sure I guess? Email me at<EMAIL_ADDRESS>

Yeah sure. I added a comment here with my email and then deleted it. If you have email notifications on you should have gotten the message in your inbox.


Add an ADR about the decision to move from Probot -> GitHub Actions

🤔 What's changed?

Added an ADR about moving from Probot -> GitHub Actions

⚡ What's your motivation?

Document the context around the decision, for transparency and future reference.
🏷 What kind of change is this?

:bank: Refactoring/debt (improvement to code design or tooling without changing behaviour)

♻ Anything particular you want feedback on?

Does what I've written reflect your understanding of the decision?
Is anything unclear?

📋 Checklist:

[x] I agree to respect and uphold the Cucumber Community Code of Conduct
[ ] I've changed the behaviour of the code

[ ] I have added/updated tests to cover my changes.

[x] My change requires a change to the documentation.

[x] I have updated the documentation accordingly.

[ ] Users should know about my change

[ ] I have added an entry to the "Unreleased" section of the CHANGELOG, linking to this pull request.


[Documentation] incorrect suggested value for track_anonymous ?

After installing this package and publishing the configuration, I was just reading through the docs and noticed a potentially incorrect suggestion for track_anonymous:
https://tobytwigger.github.io/laravel-job-status/enable-tracking/

Should this be true? as per the configuration docblock:
By default, we will only track jobs that run that use the 'Trackable' trait.
If this is set to true, we will track information about any job with no configuration needed.
Thanks for putting this together, I'm eager to get it running!

Best to put a note about using true by the way, I use Laravel Scout in a project with this and it was unable to track the MakeSearchable Job, it threw an uncatchable error, if memory serves it was looking for $jobName or something

Hey @shutupflanders - nice spot! Have just fixed this in #59 .
Thanks again for your contributions and feedback on the documentation - I'm looking forward to getting it running properly too!
Hopefully we can edit this package to properly handle any errors from third party jobs, but for now I've added a warning as suggested.


show_syscfg doesn't take syscfg.rw lock on shared processor machines

pthread_rwlock_rdlock() is in the wrong place, and it is hard
to spot because the formatting of this file is very inconsistent.

It would be really nice if we could consistently format the HTX source.

the pthread_rwlock_rdlock for the said info is taken in get_env_details(&e) call in show_syscfg.c.
get_env_details() is defined in https://github.com/open-power/HTX/blob/master/lib/htx64/htxsyscfg.c.
the extra pthread_rwlock_rdlocks in show_syscfg.c is taken when I try to access the info directly for displaying the same.

Will look into the formatting discrepancies. Thanks for pointing it out.

Hi Priya,
The problem is that we do an unlock without a prior lock. Due to an issue in glibc (which I am working on fixing), this will result in an illegal instruction on a glibc with TM running on a CPU that doesn't support TM.
Even after fixing this, we really must pair lock with unlock.

Hi Anton, Vishnupriya found a code which did not check error condition for acquiring lock. There is a possibility that due to that missing error check, code went ahead and did unlock where lock was actually not acquired. She will fix the bug through a new commit here.

Updated in #71


elseif not working properly.

Hi there, I'm currently encountering an issue where
if (...) {
    ...
}
elseif (...) {
    ....
}

doesn't work, but
if (...) {
    ...
elseif (...) {
    ...
}

does.
This doesn't seem intentional, and isn't very intuitive. Would it be possible to get a fix for this issue?

Hi there,
thrilled someone is using an old project of mine. Additionally, I have committed a quick fix to the problem you mentioned. However, this project is not very well put together and was thrown together for a personal project a couple of years ago. So I wouldn't recommend using it for anything of particularly significant importance. As a replacement, I would highly recommend MoonScript which originally inspired this Venus project and unlike it, remains consistently updated and supported.

Thank you so much for the fix, even though you're not maintaining this project anymore! I'll take a look at MoonScript and maybe switch over.


Missing OPEN-EO Functions

The following OPENEO  (1.0) core functions are not available in openeo-grassgis-driver:

aggregate_spatial
aggregate_temporal
aggregate_temporal_period
all
any
apply_dimension
apply_kernel
aply_neighborhood
arccos
arcsin
arctan
arctan2
arcsinh
arctanh
array_contains
array_filter
array_find
array_labels
between
ceil
dimension_labels
drop_dimension
first
floor
gte
is_valid
last
ln
log
order
pi
rename_dimension
rename_labels
round
sqn
sin
sinh
sort
tan
tanh

Hi @julian-zeidler - yes that is right and we don't plan to support all of them. The specification says:

Note: This is the list of all processes specified by the openEO project. Back-ends implement a varying set of processes. Thus, the processes you can use at a specific back-end may derive from the specification, may include non-standardized processes and may not implement all processes listed here. Please check each back-end individually for the processes they support. The client libraries usually have a function called listProcesses or list_processes for that.

in our case this can be found out at /api/v1.0/processes in our deployments.
Are there processes missing that you need for a certain use case?

At least the missing math processes could be implemented with relatively little effort if that helps. Keep in mind that "Back-ends implement a varying set of processes [...] and may not implement all processes" (https://processes.openeo.org/)

I'd love to see the math processes being added.

Most of the math processes have been added to the backend. Note that back-ends implement a varying set of processes. Thus, the processes you can use at a specific back-end may derive from the specification, may include non-standardized processes and may not implement all processes listed at https://processes.openeo.org/.


Backward compatibility

I have a rather general question regarding backward compatibility (Not sure if this is the best place to raise it though).
So if I have some code using an older version of beast, is it guaranteed that the old code will run correctly with newer versions?
If not, will there be any performance improvement if I adapt my code to the newer version?
BTW, thanks for the amazing library!

In terms of protocol compatibility, any version of Beast can talk to any other version of Beast using the HTTP or WebSocket protocols. If you're asking about API compatibility, I try not to break things but sometimes it is not avoidable. For example, Asio made changes which do require a code update. In general, newer versions of Beast are better than older versions, in one or more ways:

Faster compilation
Smaller code generation
Better performance
More functionality
Increased security
Bug fixes
It is in the best interests of programs which use Beast, to use the latest version of the library, to take advantage of bug fixes and security improvements.

Thanks @vinniefalco , the response is really fast.
Well noted, will try to migrate to latest version.


using SD_MMC

How can I use SD_MMC to upload files to firebase storage?
Board: ESP 32

You should see look at the examples e.g., this example.
See the SD_MMC discussion https://github.com/mobizt/Firebase-ESP-Client/discussions/352


Improve weave spec tests

At the moment we only test the bridge. We could -

test for the container
test docker options for weave
test the network interfaces file

Closing via https://github.com/Capgemini/Apollo/pull/208


add All-Inkl.com to DynDns servicesStable/18.1

All-Inkl is one of the biggest european providers and offers a DynDns service. The code was tested extensively and checks the result for its correctness. The code is a fork from pfsense/pfsense#3223

@tamara2k Thanks for your contribution. Your PR is screwed. Please rebase against master branch.

yup, I think we need to close this and start with a cleaner PR :)

Ah, there's #693 and #692, we'll do stable/18.1 when it's ready internally.


[FEATURE]:  Disable shipping form

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe.
To improve the user experience, it would be beneficial to allow users to opt out of providing a billing address when using the "card" funding source. This option would streamline the checkout process and make it more convenient for users.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
➕ Anything else?
No response

@armandoborge
You can disable shipping form by setting shipping_reference to NO_SHIPPING in the application context object when creating an order.
createOrder={(data, actions) => {
          return actions.order
            .create({
              application_context: {
                shipping_preference: "NO_SHIPPING",
              },
...

I am creating the order exactly like that but on the backend side.
await fetch(`.../v2/checkout/orders`, {
        method: 'POST',
        headers: ...,
        body: JSON.stringify({
            intent: 'CAPTURE',
            purchase_units: [
                ...
            ],
            application_context: {
                shipping_preference: 'NO_SHIPPING',
            },
        }),
    })

According to this doc: https://developer.paypal.com/docs/api/orders/v2/, the application_context property is supported in the API. Yeah, it is marked as deprecated but still supported; however, setting the property has no effect on the UI.
Another thing: using the new property payment_source -> paypal -> shipping_preference causes the next API call (capture payment) to fail. So, the deprecated property has no effect, and the new one causes an issue on the capture payment API call.

@armandoborge I believe you would want your body to look like this:
{
  ...
  body: JSON.stringify({
    "intent": "CAPTURE",
    "purchase_units": [ ... ],
    "payment_source": {
      "paypal": {
        "experience_context": {
          "shipping_preference": "NO_SHIPPING"
        }
      }
    }
  })
}

experience_context is the name of the key in Orders v2

Hi Shane @wsbrunson
Thanks, your code works for the paypal payment_source; however I am trying to disable the shipping address on the card payment_source as well. It seems the later is not possible.
payment_source: {
    paypal: {
        experience_context: {
            shipping_preference: 'NO_SHIPPING',  // This works perfectly
        },
    },
    card: {
        experience_context: {
            shipping_preference: 'NO_SHIPPING', // This doesn't exists
        },
    },
},

Can you please confirm if disabling the shipping address from card type payment methods is indeed not supported?


Grep dependent containers for errors

I noticed that ovn-controller is unhappy with some of the flows we've been passing to it.  This might be why the network is broken at the moment.  Either way, we should catch this in the integration test.

Migrated to Trello.
https://trello.com/c/pOBsh2XR


Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios/extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios/extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios/extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios/extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios/gen_snapshot_arm64 and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios/gen_snapshot_arm64 differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-profile/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-profile/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-profile/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-profile/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-profile/extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-profile/extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-profile/extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-profile/extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-profile/gen_snapshot_arm64 and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-profile/gen_snapshot_arm64 differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-release/extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-release/extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-release/extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-release/extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/engine/ios-release/gen_snapshot_arm64 and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/engine/ios-release/gen_snapshot_arm64 differ
diff -r /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/gradle_wrapper/gradlew /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/gradle_wrapper/gradlew
1c1
< #!/nix/store/93haq4cas597hmsmvq3g59rjf02c5frw-bash-5.2p26/bin/bash
---
> #!/usr/bin/env bash
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/ios-deploy/ios-deploy and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/ios-deploy/ios-deploy differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/libimobiledevice/idevicescreenshot and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/libimobiledevice/idevicescreenshot differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/libimobiledevice/idevicesyslog and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/libimobiledevice/idevicesyslog differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/libimobiledevice/libimobiledevice-1.0.6.dylib and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/libimobiledevice/libimobiledevice-1.0.6.dylib differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/libplist/libplist-2.0.3.dylib and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/libplist/libplist-2.0.3.dylib differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/openssl/libcrypto.1.1.dylib and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/openssl/libcrypto.1.1.dylib differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/openssl/libssl.1.1.dylib and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/openssl/libssl.1.1.dylib differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/usbmuxd/iproxy and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/usbmuxd/iproxy differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/artifacts/usbmuxd/libusbmuxd-2.0.6.dylib and /Users/dvtkrlbs/Downloads/flutter/bin/cache/artifacts/usbmuxd/libusbmuxd-2.0.6.dylib differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/dart-sdk/bin/dart and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/dart differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/dart-sdk/bin/dartaotruntime and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/dartaotruntime differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/dart-sdk/bin/utils/gen_snapshot and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/utils/gen_snapshot differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/dart-sdk/bin/utils/wasm-opt and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/utils/wasm-opt differ
Only in /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/dart-sdk/lib/_internal/js_runtime: .packages
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: engine-dart-sdk.stamp
diff -r /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/flutter.version.json /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter.version.json
2,3d1
<   "devToolsVersion": "2.31.1",
<   "flutterVersion": "3.19.4",
7,8c5,6
<   "frameworkRevision": "nixpkgs000000000000000000000000000000000",
<   "frameworkCommitDate": "1970-01-01 00:00:00",
---
>   "frameworkRevision": "68bfaea224880b488c617afe30ab12091ea8fa4e",
>   "frameworkCommitDate": "2024-03-20 15:36:31 -0700",
10,11c8,11
<   "dartSdkVersion": "3.3.2"
< }
---
>   "dartSdkVersion": "3.3.2",
>   "devToolsVersion": "2.31.1",
>   "flutterVersion": "3.19.4"
> }
\ No newline at end of file
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/flutter_tools.snapshot and /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter_tools.snapshot differ
diff -r /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/flutter_tools.stamp /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter_tools.stamp
1c1
< ab75bef3f909337abfe7d3b7de1ed74c1a3866fc
---
> 68bfaea224880b488c617afe30ab12091ea8fa4e:
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: flutter_version_check.stamp
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/flutter_web_sdk/canvaskit/canvaskit.wasm and /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter_web_sdk/canvaskit/canvaskit.wasm differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/flutter_web_sdk/canvaskit/chromium/canvaskit.wasm and /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter_web_sdk/canvaskit/chromium/canvaskit.wasm differ
Binary files /nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/cache/flutter_web_sdk/canvaskit/skwasm.wasm and /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter_web_sdk/canvaskit/skwasm.wasm differ
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: linux-sdk.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: lockfile
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: windows-sdk.stamp

unwrapped dir

Details
$ diff -r /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache ~/Downloads/flutter/bin/cache
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: .dartignore
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: LICENSE.dart_sdk_archive.md
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: android-internal-build-artifacts.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: android-sdk.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: artifacts
Binary files /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/dart-sdk/bin/dart and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/dart differ
Binary files /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/dart-sdk/bin/dartaotruntime and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/dartaotruntime differ
Binary files /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/dart-sdk/bin/utils/gen_snapshot and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/utils/gen_snapshot differ
Binary files /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/dart-sdk/bin/utils/wasm-opt and /Users/dvtkrlbs/Downloads/flutter/bin/cache/dart-sdk/bin/utils/wasm-opt differ
Only in /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/dart-sdk/lib/_internal/js_runtime: .packages
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: downloads
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: engine-dart-sdk.stamp
diff -r /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/flutter.version.json /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter.version.json
2,3d1
<   "devToolsVersion": "2.31.1",
<   "flutterVersion": "3.19.4",
7,8c5,6
<   "frameworkRevision": "nixpkgs000000000000000000000000000000000",
<   "frameworkCommitDate": "1970-01-01 00:00:00",
---
>   "frameworkRevision": "68bfaea224880b488c617afe30ab12091ea8fa4e",
>   "frameworkCommitDate": "2024-03-20 15:36:31 -0700",
10,11c8,11
<   "dartSdkVersion": "3.3.2"
< }
---
>   "dartSdkVersion": "3.3.2",
>   "devToolsVersion": "2.31.1",
>   "flutterVersion": "3.19.4"
> }
\ No newline at end of file
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: flutter_sdk.stamp
Binary files /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/flutter_tools.snapshot and /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter_tools.snapshot differ
diff -r /nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/flutter_tools.stamp /Users/dvtkrlbs/Downloads/flutter/bin/cache/flutter_tools.stamp
1c1
< ab75bef3f909337abfe7d3b7de1ed74c1a3866fc
---
> 68bfaea224880b488c617afe30ab12091ea8fa4e:
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: flutter_version_check.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: flutter_web_sdk
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: flutter_web_sdk.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: font-subset.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: gradle_wrapper.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: ios-deploy.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: ios-sdk.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: libimobiledevice.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: libplist.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: linux-sdk.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: lockfile
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: macos-sdk.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: material_fonts.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: openssl.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: pkg
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: usbmuxd.stamp
Only in /Users/dvtkrlbs/Downloads/flutter/bin/cache: windows-sdk.stamp

Great! I got stuck in nix configuration, rewriting my flake to handle multiple versions ...

I looked further on the issue and it seems like the necessary artifacts exists in flutter-wrapped but doesn't exist on flutter-unwrapped. Can't we just make sure that they exist in unwrapped? Simple folder diff with an downloaded sdk doesn't show distinct files.

That's the point actually
flutter-unwrapped is for building flutter itself.
then flutter-wrapped is adding the artifacts and adding platform specific packages.
if we were to combine them into a single derivation we'd have to rebuild(or copy) flutter itself for every artifact combination.
The issue is that when building for IOS it thinks the flutter root is the unwrapped derivation and not the wrapped derivation.(unlike any other build[web, linux, mac, android])

flutter-unwrapped is for building flutter itself. then flutter-wrapped is adding the artifacts and adding platform specific packages.

Ah, thanks for explaining!

The issue is that when building for IOS it thinks the flutter root is the unwrapped derivation and not the wrapped derivation.(unlike any other build[web, linux, mac, android])

Yes! That is weird.
bash-5.2$ which flutter
/nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin/flutter

bash-5.2$ flutter build ios
(...)
Failed to build iOS app
Error (Xcode): Target release_unpack_ios failed: Error: Flutter failed to create a directory at
"/nix/store/j3fn6634lpxzlpd2ia6nnsfww9gd9ynb-flutter-3.19.4-unwrapped/bin/cache/artifacts".

Encountered error while building for device.

It is not an env, maybe some default somewhere?

printenv
bash-5.2$ printenv | grep unwrapped
bash-5.2$
bash-5.2$ printenv | grep wrapped
HOST_PATH=/nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin:/nix/store/smilc590vb4qp1dkck47505lfckqfjp7-just-1.25.2/bin:/nix/store/6alzhn01f4dfgk37piy2piqs3501ppw5-cocoapods-1.15.2/bin:/nix/store/mds9vp4m3ls8w1i6rf0531d939g3b0cv-xcodes-1.4.1/bin:/nix/store/15ad6jbld39fk667gflyaqavldr74jw4-zulu-ca-jdk-17.0.10/bin:/nix/store/4v2rdqvjda1ix4swic1wwgzsyfjvl112-android-sdk-env/bin:/nix/store/bmplzzdcxi0qcfvi28gpamk2rnjrnw0k-flutter_rust_bridge_codegen/bin:/nix/store/w57pn2nk28zv3xsbxb2gv0jg96jgz6dw-coreutils-9.5/bin:/nix/store/v6iqnxkn7gx3sn3zhm8wmq05xmnazc8s-findutils-4.9.0/bin:/nix/store/6gvrj4bry5w2l8h06vq3y9d8pph7q8hl-diffutils-3.10/bin:/nix/store/sllpbnvia68b48wp15bgv7xp7rahix3a-gnused-4.9/bin:/nix/store/5y4kjga9d6dabf75vpgpzvqi6xvahxkg-gnugrep-3.11/bin:/nix/store/c689i8fhbrdl59ms8376f164pns32dpa-gawk-5.2.2/bin:/nix/store/7q1rv1r7gyvm16321rmd3k1khn5qmqg5-gnutar-1.35/bin:/nix/store/8r88f2s47mj4jddim9bsvmqcm99bny6c-gzip-1.13/bin:/nix/store/14wpgvi3j3wmfw4iqny3s92crpbp1bw9-bzip2-1.0.8-bin/bin:/nix/store/j8hpk5601c511fxkrq7dwkr39d4msacq-gnumake-4.4.1/bin:/nix/store/93haq4cas597hmsmvq3g59rjf02c5frw-bash-5.2p26/bin:/nix/store/41ixc9bn58h90m8lbla8ij1gx53baxk4-patch-2.7.6/bin:/nix/store/dwazqyxzc2a7ra10nr50mvg0qnd409yr-xz-5.4.6-bin/bin:/nix/store/s2hs368znsbhizjkj8cwzfpyc0qyrd2p-file-5.45/bin
buildInputs=/nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links /nix/store/smilc590vb4qp1dkck47505lfckqfjp7-just-1.25.2 /nix/store/6alzhn01f4dfgk37piy2piqs3501ppw5-cocoapods-1.15.2 /nix/store/mds9vp4m3ls8w1i6rf0531d939g3b0cv-xcodes-1.4.1 /nix/store/15ad6jbld39fk667gflyaqavldr74jw4-zulu-ca-jdk-17.0.10 /nix/store/4v2rdqvjda1ix4swic1wwgzsyfjvl112-android-sdk-env /nix/store/bmplzzdcxi0qcfvi28gpamk2rnjrnw0k-flutter_rust_bridge_codegen
PATH=/nix/store/xfaxzqhrssasjzd3dza2zkli21x90g6z-flutter-wrapped-3.19.4-sdk-links/bin:/nix/store/smilc590vb4qp1dkck47505lfckqfjp7-just-1.25.2/bin:/nix/store/6alzhn01f4dfgk37piy2piqs3501ppw5-cocoapods-1.15.2/bin:/nix/store/mds9vp4m3ls8w1i6rf0531d939g3b0cv-xcodes-1.4.1/bin:/nix/store/15ad6jbld39fk667gflyaqavldr74jw4-zulu-ca-jdk-17.0.10/bin:/nix/store/4v2rdqvjda1ix4swic1wwgzsyfjvl112-android-sdk-env/bin:/nix/store/bmplzzdcxi0qcfvi28gpamk2rnjrnw0k-flutter_rust_bridge_codegen/bin:/nix/store/w57pn2nk28zv3xsbxb2gv0jg96jgz6dw-coreutils-9.5/bin:/nix/store/v6iqnxkn7gx3sn3zhm8wmq05xmnazc8s-findutils-4.9.0/bin:/nix/store/6gvrj4bry5w2l8h06vq3y9d8pph7q8hl-diffutils-3.10/bin:/nix/store/sllpbnvia68b48wp15bgv7xp7rahix3a-gnused-4.9/bin:/nix/store/5y4kjga9d6dabf75vpgpzvqi6xvahxkg-gnugrep-3.11/bin:/nix/store/c689i8fhbrdl59ms8376f164pns32dpa-gawk-5.2.2/bin:/nix/store/7q1rv1r7gyvm16321rmd3k1khn5qmqg5-gnutar-1.35/bin:/nix/store/8r88f2s47mj4jddim9bsvmqcm99bny6c-gzip-1.13/bin:/nix/store/14wpgvi3j3wmfw4iqny3s92crpbp1bw9-bzip2-1.0.8-bin/bin:/nix/store/j8hpk5601c511fxkrq7dwkr39d4msacq-gnumake-4.4.1/bin:/nix/store/93haq4cas597hmsmvq3g59rjf02c5frw-bash-5.2p26/bin:/nix/store/41ixc9bn58h90m8lbla8ij1gx53baxk4-patch-2.7.6/bin:/nix/store/dwazqyxzc2a7ra10nr50mvg0qnd409yr-xz-5.4.6-bin/bin:/nix/store/s2hs368znsbhizjkj8cwzfpyc0qyrd2p-file-5.45/bin:/etc/profiles/per-user/patmuk/bin:/Users/patmuk/.cargo/bin:/opt/homebrew/bin:/usr/local/bin:/Users/patmuk/.nix-profile/bin:/etc/profiles/per-user/patmuk/bin:/run/current-system/sw/bin:/nix/var/nix/profiles/default/bin:/usr/bin:/usr/sbin:/bin:/sbin

I just installed flutter from nixpkgs, I also got the
Error (Xcode): Target debug_unpack_ios failed: Error: Flutter failed to create a directory at "/nix/store/mm3c19i11vfhkm1kypr1nvd497wan9vc-flutter-3.24.1-unwrapped/bin/cache/artifacts".

Is this issue still being worked on? What's happening? Is there a fix other than unpacking flutter tarball yourself and adding mkShellNoCC?

In my understanding iOS does not work and after all my research I created a shellHook that loads Flutter via the official Tarball into my Workspace and checks if the correct xCode version is present on the system. I only manage Java, AndroidSdk, Ruby etc. in my projects Nix Flake.

@Steffen70 I plan to write this up and publish my nix files ... maybe somebody has use of this :)
Great that you will attend the Convention and ask! Many thanks!
Btw.: I live close to Zürich - I will check out if I can make it there as well :)

Can anyone with a Mac try https://github.com/NixOS/nixpkgs/pull/341470?

I tested the changes form the PR, and the issue seems to be resolved. I no longer encounter the artifacts error when building for iOS. Everything appears to be working as expected now. Thanks for the fix @phlip9
{
  description = "A Nix Flake for Flutter mobile development and fastlane CI/CD";

  inputs = {
    # Use the unstable channel for the latest packages
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

    # Stable channel for the latest NixOS release
    # nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.11";

    flake-utils.url = "github:numtide/flake-utils";

    # Custom powershell modules
    powershell_modules.url = "github:seventymx/powershell_modules";

    flutter-pr.url = "github:phlip9/nixpkgs/phlip9/flutter324-fix-ios-macos-devenv";
  };

  outputs = { self, nixpkgs, flake-utils, powershell_modules, ... }@inputs:
    flake-utils.lib.eachDefaultSystem (system:
      let
        unstable = import nixpkgs {
          inherit system;
          config = {
            android_sdk.accept_license = true;
            allowUnfree = true;
          };
        };

        pr = import inputs.flutter-pr {
          inherit system;
        };

        androidComposition = unstable.androidenv.composeAndroidPackages {
          # API levels for Android 13 and 14
          platformVersions = [ "31" "32" "33" "34" ];
          buildToolsVersions = [ "30.0.3" "33.0.0" "34.0.0" ];
          abiVersions = [ "x86_64" ];
          includeEmulator = true;
          includeSystemImages = true;
          systemImageTypes = [ "google_apis_playstore" ];
          includeExtras = [
            "extras;google;gcm"
          ];
        };

        # TODO: Make it work on Apple Silicon - Currently only works on x86_64-linux
        androidSdk = androidComposition.androidsdk;

        hostPlatform = unstable.stdenv.hostPlatform.system;

        appleInputs =
          if builtins.elem hostPlatform ["aarch64-darwin" "x86_64-darwin"] then [
            unstable.cocoapods
          ] else [ ];
      in
      {
        devShell = unstable.mkShellNoCC {
          buildInputs = [
            unstable.git
            androidSdk
            unstable.jdk17
            unstable.fastlane
            unstable.ruby
            unstable.powershell
            pr.flutter
          ] ++ appleInputs;

PS /Users/dste/mac_workspace/spi_mobile_v3> which flutter
/nix/store/9mfb07abw5sh04mx22snmmr66mc5and6-flutter-wrapped-3.24.1-sdk-links/bin/flutter
PS /Users/dste/mac_workspace/spi_mobile_v3> flutter build ios --debug
Building mx.seventy.demo for device (ios)...
Automatically signing iOS for device deployment using specified development team in Xcode project

Closing since https://github.com/NixOS/nixpkgs/pull/341470 got merged

Sorry for being late - I can confirm it working on a Silicon Mac.
Many thanks for fixing this issue!


issues i got into

it wont let me copy paste (i had to ctrl+v) or accept friend requests. i had to turn off my plugins one by one to track which is the problematic xD. im not code writer just created a profile here to write the issue down xD hope it helps

Let me know if the issue still occurs, discord had a bug for a few hours earlier where pasting did not work for anyone regardless of plugins, so it should have fixed itself

I still cannot copy paste with mouse options and interact with friend requests. Since i didnt have any other friend request i tried to unblock an account of someone i had blocked and i cannot unblock him. When i disable the plugin everything works normaly. Im sure it is plugin's fault but i dont know if it is 100% its fault since we are talking about software and might interact with something else i have enabled and thus it reacts this way

I still cannot copy paste with mouse options and interact with friend requests. Since i didnt have any other friend request i tried to unblock an account of someone i had blocked and i cannot unblock him. When i disable the plugin everything works normaly. Im sure it is plugin's fault but i dont know if it is 100% its fault since we are talking about software and might interact with something else i have enabled and thus it reacts this way

i still had the problem when disabled the plugin so i had the enlightment to close and open the discord to "maybe update itself" since u told me it had a bug by its own. After that i checked again and it seems to work normaly now. Sorry for the extra stress xD


Android and C# getHashSha256 Difference

First of all thanks for the great library
This is actually not a big issue but on how to use section
Android hashes the key as follows;
string key = CryptLib.getHashSha256("my secret key", 31);
C# hashes as follows;
String key = CryptLib.SHA256("my secret key", 32); //32 bytes = 256 bit
Which gave us at the beginning different results then I have changed the C# code to use 32bytes and results were identical.

Thanks for reporting this one! I'll test and fix the code accordingly.


External Bluetooth dongle?

Is it possible to use an external bluetooth dongle instead? I do not feel comfortable getting my hands into the internals of my iMac mid-2011 21.5".
Anything special that I should pay attention to when I am looking for one? Or basically any will do the trick?

@KMBVolvoOlympian I use a Cambridge Silicon Radio (CSR 4.0) dongle (easily available on Amazon or eBay) on my early 2011 MacBook Pro running macOS Sierra 10.12.1
Prior versions of macOS alternatively worked with another dongle, the IOGEAR GBU521, which worked with Mavericks but failed with Yosemite, then worked with El Capitan and failed with Sierra; each time one failed, the other succeeded! I discovered this quite accidentally, to my surprise and obvious pleasure, as I had nearly given up on CAT early on after buying the 2 dongles.
 While writing this email on my iPad, I went over to my Mac to check the dongle name/OS version and noticed that at long last, the Mail icon was now showing in the left-most edge of the Dock! However, when I clicked on it to open the email in Mail for Mac, it either did nothing, beach-balled, or crashed Mail!
What you will definitely get is Wi-Fi calling, AirDrop, Instant Hotspot, SMS & MMS. Handoff seems to be coming to life after I gave up on it weeks ago; AirDrop and Wi-Fi calling/texting I find to be the most useful features that I constantly use...
Sent from my iPad

On 26 Nov 2016, at 07:15, KMBVolvoOlympian<EMAIL_ADDRESS>wrote:
Is it possible to use an external bluetooth dongle instead? I do not feel comfortable getting my hands into the internals of my iMac mid-2011 21.5".
Anything special that I should pay attention to when I am looking for one? Or basically any will do the trick?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks, so is there a specific chipset i should look for?

And I wonder if this is ok? Its CSR 4 as well
http://vi.raptor.ebaydesc.com/ws/eBayISAPI.dll?ViewItemDescV4&item=262123825357&category=44999&pm=1&ds=0&t=1480168330916

On 26 Nov 2016, at 13:53, KMBVolvoOlympian<EMAIL_ADDRESS>wrote:
And I wonder if this is ok? Its CSR 4 as well
http://vi.raptor.ebaydesc.com/ws/eBayISAPI.dll?ViewItemDescV4&item=262123825357&category=44999&pm=1&ds=0&t=1480168330916 http://vi.raptor.ebaydesc.com/ws/eBayISAPI.dll?ViewItemDescV4&item=262123825357&category=44999&pm=1&ds=0&t=1480168330916
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/dokterdok/Continuity-Activation-Tool/issues/367#issuecomment-263064605, or mute the thread https://github.com/notifications/unsubscribe-auth/ARu789kvsM2nqIW5FcjDOc57zZVoEzRzks5rCDnQgaJpZM4K81Gl.

That specification is pretty much identical to the ones I bought in range, power etc in 2014.
I would go for it...


Dynamic Module experiment

another take on #144 using erased type pattern from erased-serde
it was just easier to explain with code

I wonder how you deal with deserialization errors. Right now these happen early on when e.g. federation members can be blamed for submitting faulty consensus items (that would actually happen inside HBBFT and we don't have to care at all right now). With this approach that could happen way later when we don't even know anymore which member contributed the faulty data element.
I'm personally more a fan of a mix of macros and type system hacks like this by now, together they can probably lead to something usable. Also ugly but at least keeps the guarantees static typing gives us.

typetag can help to deserialize to one of the possible Inputs or fail fast.

macros and/or generics hack are much better solution here :smile:

Idk yet, still need to figure it out tbh, but I have a feeling that it'd avoid many pitfalls.


Appearance of the Sign-In Page when Refreshing the Harvest Page

Preconditions:

Already participated in a campaign.
The link is ready to collect winnings.

Scenario:

Access the "Postfarming" page.
Click on the "Harvest" status of a link, which redirects to the "Harvest" modal.
Refresh the page.

Expected Result:

The page should be refreshed without any issues.

Actual Result:

Brief appearance of the "Sign-In" page.

refresh harvet.webm

The problem is still relevant, and this time around, the appearance of the "sign in" page persists
Capture vidéo du 13-10-2023 18:28:21.webm

SaTT - Smart advertising Transaction Token.webm
I successfully resolved the issue by taking the following steps:
I identified that the problem was related to server-side rendering and traced it back to the 'dist' folder on the server. I proceeded to delete the 'dist' folder and then executed the 'ng build' command once again. As a result, the issue was promptly fixed, and the application now functions as intended. This solution effectively addressed the problem caused by server-side rendering.


update readme example for the abort channel

update readme example for the abort channel

travis error is unrelated:
$ GIMME_OUTPUT=$(gimme release) && eval "$GIMME_OUTPUT"
I don't have any idea what to do with 'release'.

Merged! Thx.


Adding MultiApps bot

Adding a new bot github account for use with release/branch restrictions

Hi @ikasarov,
two approvers of the MultiApps area need to approve this pr or put thumps up on it before merging.


Remove usage of crand.Reader in tests, use bytes.NewReader instead

crand.Reader is too slow and we don't need randomization of data. It is better to just use repeated number of bytes.

I see that even after #513 we have more crand readers present
$ git grep 'crand'
api_functional_v2_test.go:      crand "crypto/rand"
api_functional_v2_test.go:      _, err = io.ReadFull(crand.Reader, buf)
api_functional_v2_test.go:                      _, err = io.CopyN(writer, crand.Reader, 128*1024)
api_functional_v2_test.go:      n, err := io.CopyN(file, crand.Reader, 11*1024*1024)
api_functional_v2_test.go:      n, err := io.CopyN(file, crand.Reader, 11*1024*1024)
api_functional_v2_test.go:      n, err := io.CopyN(file, crand.Reader, 11*1024*1024)
api_functional_v2_test.go:      _, err = io.ReadFull(crand.Reader, buf)
api_functional_v2_test.go:      _, err = io.ReadFull(crand.Reader, buf)
api_functional_v2_test.go:      _, err = io.ReadFull(crand.Reader, buf)
api_functional_v2_test.go:      _, err = io.ReadFull(crand.Reader, buf)
api_functional_v2_test.go:      _, err = io.ReadFull(crand.Reader, buf)

Didn't cleanup v2 tests! Missed out, only cleanedup v4 tests, will fix it.


Add the cybersecurity field

Description
I want to add cybersecurity field
cybersecurity is one of the missing field of study in the table of content of information linksHub is providing
and also want to add the related content in youtube section .
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Hi @Owais24code! :) Just to confirm, are you participating in GSSOC'23?

This issue has been inactive for a long time
I would like to work on this issue
Please assign

This issue has been inactive for a long time I would like to work on this issue Please assign

@sagnik-p sorry but I currently working on it .

Hi @Owais24code! :) Just to confirm, are you participating in GSSOC'23?

@CBID2 yes ! I am GSSOC's contributor
thank you assign it

@Owais24code are you still working on this issue?

@rupali-codes yes maam
Will be creating pull request by this Thursday last .
Trying to submit it earlier.

@Owais24code are you still willing to work on this issue?

@rupali-codes yes and can you please help me with how to
Import trace for required module
./database/data.ts
./hooks/useFilterDB.ts
As I am not familiar with these terms.

once you are all done let me know i'll open it again, closing it for now as the pr related to it has been closed

once you are all done let me know i'll open it again, closing it for now as the pr related to it has been closed

I guess they're still working on this issue :)


No Tips Showing

Hi. I just created a console project to test out this analyzer. I  cannot seeing anything in the way of tooltips etc.
I have used Serilog  2.5.0 and SerilogAnalyzer <IP_ADDRESS>, both .net 4.6.2 in a full framework (not .NET Core) project.
Is there a dependency I need to install which I am missing?

Assuming you've installed everything correctly, do you have a code sample where you'd expect something to happen and what would you expect to see in particular?

@DavidRogersDev They will only show if you are using the static Log logger, not the ILogger from Microsoft.Extensions.Logging. This threw me for a while until I realised why I wasn't seeing any tooltips. It does mean the analyzer hasn't really helped us, as we use the ILogger in nearly all logging situations.

@markashton the analyzer analyzes everything by the rules of serialized that is decorated with  [MessageTemplateFormatMethod("messageTemplate")] which also includes Serilogs ILogger, just not Microsofts ILogger

I'm not sure I completely follow - there is an open issue asking for support for Microsoft.Extensions.Logging.ILogger (https://github.com/Suchiman/SerilogAnalyzer/issues/15) and if I purposefully write a 'bad' log line such as this:
_logger.LogInformation("No result found for query, SearchTerm{searchTerm} Page:{page} PerPage:{perPage}", searchTerm);
... then the analyzer will not highlight any problems. If I change that line to use the static Serilog logger like so:
Log.Information("No result found for query, SearchTerm{searchTerm} Page:{page} PerPage:{perPage}", searchTerm);
... then the analyzer correctly complains about the casing of my properties, and the missing arguments.

@markashton if you use
Serilog.ILogger _logger = Log.ForContext<T>();
_logger.Information("No result found for query, SearchTerm{searchTerm} Page:{page} PerPage:{perPage}", searchTerm);

then it also works.
Authors of logging Frameworks are not very creative 😉  so the interface is usually ILog or ILogger, both, Microsoft and Serilog, have an ILogger interface, SerilogAnalyzer also works on Serilog.ILogger because it's decorated with [MessageTemplateFormatMethod("messageTemplate")] which is the indicator for the analyzer that this method should be analyzed.

Have the same issue. Doesn't highlight


[release/v1.37] Waiting for volumeAttachments deletion

Which issue(s) this PR fixes (optional, in fixes #<issue number> format, will close the issue(s) when PR gets merged):
manual backport of #1190
Special notes for your reviewer:
Optional Release Note:

[release/v1.37] Waiting for volumeAttachments deletion

/retest

/retest

/hold
Tests for vsphere are actually failing.

/hold cancel


Mac: Cleanup while investigating converting files to full

Resolves #523
As best I could tell there are no problematic race conditions when converting a partial file to full, and the file will not be corrupted (converting a file to full only involves removes its xattrs).
During this investigation I filed two new issues:
#606
#607
And this PR has some updates to comments and some minor cleanup changes.

@pmj, @kewillford, @nickgra, @jeschu1 please let me know if you agree with my assessment.  The relevant code is here:
https://github.com/Microsoft/VFSForGit/blob/bf44ddfcd281f6982c3ace02c1f6c5c0d1618542/ProjFS.Mac/PrjFSLib/PrjFSLib.cpp#L963

@wilbaker your changes make sense to me.
There are some questions i have on the existing code.  Since they are existing I wouldn't necessarily hold this PR up for.
Should setxattr, getxattr, removexattr be checked against -1 for failure?  For each would we want to do the error logging you are purposing for RemoveXattr?

I think you're probably right about the question of converting files to full.

I don't really like the new RemoveXAttr() wrapper function's semantics, if we care about the errno, we should just return that (or 0 in the success case). The bool return value doesn't add anything, it just makes the wrapper more complicated than the function it's wrapping.

@pmj thanks for taking a look.  I agree with your analysis of RemoveXAttr, I will have it simply return the errno.
I might also rename the helper to something like RemoveXAttrWithoutFollowingLinks to make it a bit clearer what it's doing.

@jeschu1

Should setxattr, getxattr, removexattr be checked against -1 for failure?

I'll update these to use the 0 !=  approach discussed in a separate comment.

For each would we want to do the error logging you are purposing for RemoveXattr?

That's a good idea, I'll check where these are called and stub them out for logging as needed.

@pmj, @jeschu1, @nickgra thanks for the great feedback.  I just pushed a new set changes (with explicit 0 != <function call>), please let me know if you have any other suggestions.