Doesn't like double quotes in descriptions (does this produce extremely insecure code?)

Example:
echo '{"title": "Foo Bar", "type": "string", "description": "\"\" means the default."}' | json-schema-to-zod -s /dev/stdin

Returns with the following error printed to stdout
Failed to parse sourcefile content to Zod schema
SyntaxError: Unexpected token, expected "," (1:36)
> 1 | const schema=z.string().describe(""" means the default.")
    |                                    ^
    at p (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/parser-babel.js:22:1038)
    at d (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/parser-babel.js:22:1271)
    at Object.parse (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/parser-babel.js:27:50335)
    at Object.parse (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/index.js:7361:23)
    at coreFormat (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/index.js:8672:18)
    at formatWithCursor2 (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/index.js:8864:18)
    at /home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/index.js:39174:12
    at Object.format (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/node_modules/prettier/index.js:39188:12)
    at format (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/utils/format.js:9:47)
    at jsonSchemaToZod (/home/luukas/.local/share/fnm/node-versions/v17.5.0/installation/lib/node_modules/json-schema-to-zod/jsonSchemaToZod.js:14:78) {
  loc: { start: { line: 1, column: 36 } },
  codeFrame: '\x1B[0m\x1B[31m\x1B[1m>\x1B[22m\x1B[39m\x1B[90m 1 |\x1B[39m \x1B[36mconst\x1B[39m schema\x1B[33m=\x1B[39mz\x1B[33m.\x1B[39mstring()\x1B[33m.\x1B[39mdescribe(\x1B[32m""\x1B[39m\x1B[32m" means the default."\x1B[39m)\x1B[0m\n' +
    '\x1B[0m \x1B[90m   |\x1B[39m                                    \x1B[31m\x1B[1m^\x1B[22m\x1B[39m\x1B[0m'
}

Ok this is extremely insecure:
https://github.com/StefanTerdell/json-schema-to-zod/blob/142dcb9b9243151bc1fd582915c674e1c0f45478/src/parsers/parseSchema.ts#L30-L33=

PR welcomed

Adressed in 0.1.2


Reset password links

Adds a "Reset Password" button on the login page that sends an email with a private link that can be used to reset the account's password. It's basically the same system as the invite links.

As requested, I've added a separate "reset password" page and made the original button more subtle, with some styling help from @LanderDurie :pray:


Gems declared in Gemfile aren't available in gemspec

When I bring this gem into a puppet project to test, the dependencies declared in the Gemfile aren't brought in. This causes prepending bundle exec to explode. :sob:
This example demonstrates the issue:
Gemfile:
source 'https://rubygems.org'

gem 'rspec-puppet-utils'

Gemfile.lock:
GEM
  remote: https://rubygems.org/
  specs:
    rspec-puppet-utils (2.2.1)

PLATFORMS
  ruby

DEPENDENCIES
  rspec-puppet-utils

BUNDLED WITH
   1.10.6

Thanks for spotting this @sgerrand
This is fixed in v2.2.2


Adding CUDA_HOME for conda env ?

conda env config vars set CUDA_HOME="XXX"
at runtime/support/compiler_cuda.py line 50
class CUDACompiler(Compiler):
  def __init__(self, arch:str, cache_key:str="cuda"):
    import os
    cuda_home = os.environ.get('CUDA_HOME')
    self.arch, self.compile_options = arch, [f'--gpu-architecture={arch}', "-I/usr/local/cuda/include", "-I/usr/include", "-I/opt/cuda/include/", f"-I{cuda_home}"]

NV=1 CACHELEVEL=0 python3 examples/stable_diffusion.py

I don't think that's the right fix

yeah, worked on my conda env

Docker images also use /usr/local/cuda/lib64, it would be cool to add that too in the default list


*: fix rand method panic

What problem does this PR solve?
Fixes #1915.
What is changed and how it works?
This PR checks the length of ranges before calling the rand function.
Check List
Tests

Unit test

Codecov Report

Merging #1916 into master will increase coverage by 0.21%.
The diff coverage is 61.53%.

@@            Coverage Diff             @@
##           master    #1916      +/-   ##
==========================================
+ Coverage   77.96%   78.17%   +0.21%
==========================================
  Files         167      167
  Lines       16613    16615       +2
==========================================
+ Hits        12952    12989      +37
+ Misses       2661     2637      -24
+ Partials     1000      989      -11

Impacted Files
Coverage Δ

server/core/region.go
89.85% <61.53%> (+0.04%)
:arrow_up:

server/kv/etcd_kv.go
75.32% <0%> (-6.5%)
:arrow_down:

server/tso/tso.go
79.1% <0%> (-3.74%)
:arrow_down:

server/cluster.go
83.59% <0%> (+0.73%)
:arrow_up:

pkg/btree/btree.go
86.94% <0%> (+0.8%)
:arrow_up:

server/config/option.go
93.02% <0%> (+0.93%)
:arrow_up:

server/grpc_service.go
58.62% <0%> (+1.29%)
:arrow_up:

server/server.go
84.71% <0%> (+1.65%)
:arrow_up:

server/schedulers/shuffle_hot_region.go
56.98% <0%> (+2.15%)
:arrow_up:

server/core/storage.go
77.24% <0%> (+2.39%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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

/merge

/merge


[BUG] wash ctl returns successful exit code even if it can't connect to the cluster

Describe the bug
wash ctl returns successful exit code even if it can't connect to the cluster
If you don't have nats running, and you do a wash ctl command then you get an error message:
$ wash ctl link put \
    MBCFOPM6JW2APJLXJD3Z5O4CN7CPYJ2B4FTKLJUR5YR5MITIU7HD3WD5 \
    VAG3QITQQ2ODAOWB5TTQSDJ53XK3SHBEIFNK4AYJ5RKAX2UNSCAPHA5M \
    wasmcloud:httpserver \
    ADDRESS=<IP_ADDRESS>:8081
...
Error advertising link: Connection refused (os error 61)

but then the process exit code ($? in bash) is 0 (success).
Expected behavior
If an error occurs, I would expect wash to return a nonzero exit code.
Screenshots
If applicable, add screenshots to help explain your problem.
**Environment (please complete the following information) **

OS: MacOS
Shell bash
wash Version 0.6.6

Additional context
This behaviour is important when writing bash scripts (especially when using set -e to make the script exit early when a command fails)

For ctl commands, if the NATS connection fails with Connection refused that should be bubbled up to the main logic to return as an error, not as an Ok result.

This may be addressed by #221, further verification needed

This is no longer an issue, likely fixed with the refactor to anyhow errors.


es Feature/update enum lesson to v1.0.0

Complete translation review and update for lessons/enum.md to spanish

@erickgnavar si puedes darle un vistazo y me cuentas si esta gramaticalmente bien

Just updated this PR from master branch
@erickgnavar let me know if you can check this.

@edwinallenz looks like there is still a merge conflict.  Let me know if you'd like a hand getting it resolved 👍

@doomspork I merged with a local version of master branch without any conflicts, are you sure or I'm missing something?

@edwinallenz hmm, I can't merge.  I think you're merging your fork's master into your branch but your master may not be up-to-date.
You could try something something like this:
$ git remote add upstream git@github.com:doomspork/elixir-school.git
$ git fetch -- all
$ git checkout feature/update_enum_lesson
$ git rebase upstream/master

If you run into problems, feel free to ping me on Elixir Slack 😀

@doomspork it's done, let me know if it works.

Thank you @edwinallenz!


Feature Request: Provide a way to enable raw thumbnails

Context
When you're doing photography you might shoot in raw format. A file which contains the raw data of the image sensor captured that image.
The current problem is: When you insert an sd card with raw images you don't see any previews in nautilus (didn't checked kde file manager).
Solution
I'd like to have a NixOS option to enable raw thumbnail support. Normally ufraw is used to accomplish that task.
Since the package is broken I started adding nufraw since it seems to be the sucessor (see https://github.com/asbachb/nixpkgs/tree/new/nufraw)
I guess the part currently missing is to create a thumbnailer entry which could be used for nautilus to create these thumbnail previews which I'm currently unsure how to implement.

Fixed with #108626
To enable raw thumbnails just add nufraw-thumbnailer to your environment.systemPackages.
For nautilus you need to ensure that you increase the size thumbnails are created for.

Fixed with #108626
To enable raw thumbnails just add nufraw-thumbnailer to your environment.systemPackages.
For nautilus you need to ensure that you increase the size thumbnails are created for.


V5 Branch: Fix iOS 10.3.3 and iOS 11 crash

Calls to the decisionHandler() block twice, resulting in iOS 10.3.3 and iOS 11 crash.

Thank you!

congratulation！

@iosfighterlb Can you provide more information?

@yangchao0033 尴尬了，我记得本地测试过测试用例。居然测试失败了。


Improve Consistency of Transform Primitives

Due to the use of a frozenset which is an unordered Python object, the order of commutative transform primitives that used multiple columns, such as AND, could change when running Deep Feature Synthesis in different Python sessions. This behavior did not affect the feature values because the primitives are commutative. It did change the feature definitions which made comparing different sets of feature definitions a challenge.
The behavior is addressed by sorting the features used in commutative transform primitives alphabetically by name. For example, if the transform primitive AND is used with the features (columns) FLAG_A and FLAG_B the resulting feature will be AND(FLAG_A, FLAG_B).

Codecov Report

Merging #236 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #236      +/-   ##
==========================================
+ Coverage   93.63%   93.64%   +<.01%
==========================================
  Files          71       71
  Lines        7671     7673       +2
==========================================
+ Hits         7183     7185       +2
  Misses        488      488

Impacted Files
Coverage Δ

featuretools/synthesis/deep_feature_synthesis.py
93.22% <100%> (+0.03%)
:arrow_up:

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 58a3bf5...2a0bd7f. Read the comment docs.

Looks good. Merging


Website editor 404 mishandled, results in permanent error message

As you'll be able to see quite quickly for yourself, the editor in the website suggests that it supports SCSS, but the related file ('/index/sample.scss.txt') is missing, resulting in a 404 error.
Using Chrome 49.0.2623.110, I selected SCSS through the menu.  This failed silently.  On my next selection and thereafter, the samples loaded but were displaced downwards by an error message that could not be dismissed by any means I could discover.

Thank you for the heads up! :heart:


fix(callout-quote): added hang

Related Ticket(s)
#5433
Description
Hang was added to Quote and CalloutQuote, so it matches the designs specs

Behavior between max and sm breakpoint looks good! But once above 1584px, component stops following grid:

@RaphaelAmadeu This is looking really good, just have a few questions / comments

the rule is hanging more than it should from the design specs, should be just 16px hang on either side, but looks like it might be 32px. Seeing in Quote and in Call out quote.

Small breakpoint has some differences between react and web components, I attached a screen shot for reference
a. the container for the text is different Web components 256px vs React 272px, I noticed because the left padding looks different between the two stories
b. the grid seems different (blue dotted line), React doesn't have as much margin on the right side

Let us know if this cannot be fixed by code freeze tomorrow, I think we could merge this and open new issues to fix the things above.


Extend StorageApi#set to support a function argument that provides the old value prior to setting the new value

We want to develop a databased-backed implementation of the StorageApi and were a bit surprised that the getter of the API is synchronous, but it looks like it was explicitly intended to be this way (see https://github.com/backstage/backstage/issues/1060).
Since there is no async way to request the latest value from the backend store, I propose to let the user do the following: storageApi.set(oldValue => [...oldValue, newValue]). This should add some kind of transaction-safeness when running multiple instances of Backstage on different devices/browsers. Especially the useStarredEntities hook would otherwise be prone to be inconsistent since there is otherwise no way to update an existing value that is not already mirrored to the local storage of the browser. -> You could star entity A in one browser, but if you star B in another browser, the starring of A might be overridden and forgotten...
What do you think about this idea?

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

The current interface isn't really meant for async storage, but really just an abstraction around local or session storage.

Maybe LocalStorageApi would've been a better name for this interface.
Our use case is that we want to store the starred items for each user in the backend. An alternative might be to provide a dedicated (async) StarredEntitiesApi with a default implementation that uses the StorageApi. Or we fallback to something that can mirror certain local storage entries but I'm not sure if that would be a smart solution.

@dhenneke Yeah something like that, could even consider aliasing it over.
But alright, then I get why you want to make this change like this. Are you planning to make that backend API completely generic or just something that handles starred entities for now? I think a StarredEntitiesApi could be pretty good. In general I actually suspect that it's best to not use these storage APIs directly from components, but allow for that indirection.
We do actually want to provide an async storage API as well though. We have one internally based on firebase but iirc it's a bit too based on firebase right now, to the point where it's not implementable on top of anything else. There's also a settings API on top of that though, which is much more generic and sane, could actually be something to potentially lift out. We've had the wish for a more powerful storage API for quite a while though, it's a tricky one to prioritize :grin: Will definitely find time to help out if it's something you or anyone else feel like taking on though.
Storage APIs are pretty tricky though tbh, just because of all the different patterns that you can use to implement a feature, while each backing storage system tends to force you to use particular patterns. In general I'm feeling a pattern like this is something to strive for:
// 80% of use-cases are covered by a generic storage API that in turn has a myriad of different backing implementations
SimplePluginStorageApi -> GenericStorageApi -> Firestore/CustomDB/LocalStorage/etc...

// The last 20% use more advanced features and might require a more direct backing implementations
AdvancedPluginStorageApi -> Firestore/CustomDB/LocalStorage/etc...

Having thought about this some more I realized a couple of things. I was wrong about StorageApi being primarily sync. It's intended to be async and the reason get() is sync is because it's not really the primary read method, that being observe$(). The get() method exists to be paired up with observe$() in places where you need an immediate value synchronously, for example useObservable.
It still leaves us at a bit of a question mark though, as this idea for mutating a value doesn't really help you right? You always have the current value accessible via get() for applying mutations, and beyond that you can't do that much client-side. In the case where you want to mutate a list of starred entities in a backend you're really looking to send a serialized operation on a collection. The arrow function can't be serialized so with this API you'd need to do some bouncing back and forth and even then it would just be a bit of a best effort.
It might be possible to diff the operations that happen in the client-side implementation and convert them into operations to send to the backend, so your implementation of the set() method would compare the old and new value and just send a request with the delta to your backend. You again don't really get much help from the set(old => [...old, new]) overload though, since set([...get(), new]) should word just as well.
^ is a bit interesting as some form of "it just works" storage API that you can back with a wide array of implementations, but I do sense that there's a need for some more explicit things in the mix. You can't really differentiate between "replace my array" and "add to my array" solely with that idea.

Thanks for the insights @Rugvip.

Are you planning to make that backend API completely generic or just something that handles starred entities for now?

We started with a completely generic approach to catch all use cases that use "storage", but we also realized that it might be a bit too generic (more on that later ⬇).

I think a StarredEntitiesApi could be pretty good. In general I actually suspect that it's best to not use these storage APIs directly from components, but allow for that indirection.

👍

Storage APIs are pretty tricky though tbh, just because of all the different patterns that you can use to implement a feature, while each backing storage system tends to force you to use particular patterns. In general I'm feeling a pattern like this is something to strive for:
// 80% of use-cases are covered by a generic storage API that in turn has a myriad of different backing implementations
SimplePluginStorageApi -> GenericStorageApi -> Firestore/CustomDB/LocalStorage/etc...

// The last 20% use more advanced features and might require a more direct backing implementations
AdvancedPluginStorageApi -> Firestore/CustomDB/LocalStorage/etc...

What came to our mind was a potential differentiation between a deviceStorageApiRef and a userStorageApiRef. There might be use cases where it is ok to store it only in the browser session (e.g. DismissableBanner or the darkmode settings?) while others should be persisted in the user profile for each session (e.g. starred entities or the shortcuts feature or the darkmode settings? 😄). Both APIs can use the same interface, and each plugin/feature has a different ApiRef that are just "aliased" to one of the two implementations. A plugin author could choose the more fitting variant as a default implementation for their alias and an integrator could change the default storage location per plugin/feature. But it might be too uncommon to actually include this layer from the start and just focus on "aliasable" StorageApis.

The get() method exists to be paired up with observe$() in places where you need an immediate value synchronously, for example useObservable.

Wouldn't it be nice if the observe$() method returns the current value on subscription so one doesn't need to do this get/observe combo? But our main problem is that it is complicated to guarantee that the cached value in the browser state that is returned by get will always be up-to-date. This assumes to have some kind of synchronization between the server and the client state. I guess e.g. firebase provides an updated event whenever it changes. With a custom backend, an update-on-read logic is easier to implement as it doesn't require a websocket/eventstream connection.

You always have the current value accessible via get() for applying mutations, and beyond that you can't do that much client-side.

Yeah. In a naive implementation, the value from the get isn't actually the latest value from the server. So I came to the idea of getting the latest value from the server, calling the arrow function, and store the new result. But sure, this still wouldn't guarantee consistency in edge cases.

It might be possible to diff the operations that happen in the client-side implementation and convert them into operations to send to the backend, so your implementation of the set() method would compare the old and new value and just send a request with the delta to your backend. You again don't really get much help from the set(old => [...old, new]) overload though, since set([...get(), new]) should word just as well.

The main problem I see with this is that the storage stores anything, so we can't assume that the value is an array, or an object, or a string, …. This could be an argument to provide a StarredEntitiesApi for this specific use case and as a pattern for features with a more complex state management. I still uses the StorageApi in the default implementation but will be replaceable with a dedicated "starred-entity-backend" or any other user-storage that demands special handling.

^ is a bit interesting as some form of "it just works" storage API that you can back with a wide array of implementations, but I do sense that there's a need for some more explicit things in the mix. You can't really differentiate between "replace my array" and "add to my array" solely with that idea.

Interesting idea. I think one would have a better idea about how often the storage api will actually be used in the future. Currently, I'm not aware of too many use cases.

In general I actually suspect that it's best to not use these storage APIs directly from components, but allow for that indirection.

I would extend this by saying that there should always be some kind of integration-api-layer that captures the actual intend of an operation:
interface StarredEntitiesApi {
  async star(entity: string);
  async unstar(entity: string);
  async starredEntities$(): Observable<string[]>;
}

The DefaultStarredEntitiesApi would simply implement the existing logic that consumes the StoreageApi.

@dhenneke right, you're actually missing an async get() that makes an effort to get the latest value. You could argue that that should be observe$().first(), but that's definitely not the current contract or implementation. The reason observe$() and get() are split is because of the pattern of always returning a single observable from those methods, and the fact that observables do not have sync access to the current value, at least not these ones :grin:
Either way I'm feeling that what we're landing on in the end is that we want to create your proposed StarredEntitiesApi in plugin-catalog-react right? And with that we could perhaps wait with this change in instead go for a more in-depth look at and overhaul of the storage API at some point in the future when we can give it a proper amount of attention, using our discussion above as input. In the meantime we just make sure that usages of StorageApi are wrapped up in another API

Either way I'm feeling that what we're landing on in the end is that we want to create your proposed StarredEntitiesApi in plugin-catalog-react right? And with that we could perhaps wait with this change in instead go for a more in-depth look at and overhaul of the storage API at some point in the future when we can give it a proper amount of attention, using our discussion above as input. In the meantime we just make sure that usages of StorageApi are wrapped up in another API

Yes that sounds like a plan. I'll close this request to archive it and will give the StarredEntitiesApi a try in a new PR. I have some other things to do first so I probably wait for #hacktoberfest to start xD


docs: Install doc fixes

Make the Ubuntu and Fedora installation documents as similar as
possible by ensuring consistent wording, formating and behaviour.
Fixes #752.
Signed-off-by: James O. D. Hunt<EMAIL_ADDRESS>

Hi @iphutch - please could you take a look?

Could an approver review please?

@grahamwhaley - how does this look to you?


Calling waitgroup.Wait() without waitgroup.Done()

https://github.com/tutumcloud/image-cleanup/blob/master/cleanup.go#L38-42
var wg sync.WaitGroup
wg.Add(2)
go cleanImages(client)
go cleanVolumes(client)
wg.Wait()

Seems that it will never return...haven't run it, but it looks strange.

True.
Should add defer wg.Done() in each go routine, although neither of the go routine will ever return because of the infinite loop.
Also, I think it is better to change wg.Add(2) to wg.Add(1). just in case either of them exits, the container can stop and be restarted by the scheduler.

https://github.com/tutumcloud/cleanup/commit/37a868c92aca00ff7017b57d2f23c427655c3a55


Eliminate CodeQL Workflow to Prevent CI/CD Disruptions

Fixes #313
Solution proposed

This PR removes the CodeQL workflow from the repository as it is not currently needed and has been causing frequent errors in our CI/CD pipeline.

Additional Information

gssoc2024

@samarsajad I was already thinking of removing it, thank you for doing so.


(undocumented) RN.createPortal works but leaves fiber tree in weird state

I know portals aren't officially support on React Native, but using them seems to work just great and allows me to cheaply render eg a title outside the root view (in my case the titleView of a native UINavigationController):
class MyScreen extends React.Component {

    render() {
        const portal = require('ReactNative').createPortal(<Text>My Title</Text>, this.props.titleTag);
        return <View>{portal}<Text>My screen content</Text></View>;
    }
}
AppRegistry.registerComponent('MyScreen', () => MyScreen);

on the native (iOS) side, I add a separate RCTRootContentView where I want the portal to render to, and then pass that view's tag to my main render method:
- (void)loadView {
  NSNumber* titleTag = RCTAllocateRootViewTag();
  self.titleView = [[RCTRootContentView alloc] initWithFrame:CGRectMake(0,0,100,100)
                                                                     bridge:self.bridge
                                                                   reactTag:titleTag
                                                             sizeFlexiblity:RCTRootViewSizeFlexibilityWidth];

  self.view = [[RCTRootView alloc] initWithBridge:self.bridge
                                       moduleName:@"MyScreen"
                                initialProperties:@{@"titleTag": titleTag}];
}

Initial rendering works as expected (and my react components are portaled to outside the original RCTRootView, really cool). It is when MyScreen is redrawn and the portal needs to be removed an internal error is triggered in unmountHostComponents:
undefined is not an object (evaluating children.indexOf)
Trying to debug this proves rather challenging. I suspect the fiber tree is already in an incorrect state by then. What happens is that on https://github.com/facebook/react-native/blob/master/Libraries/Renderer/oss/ReactNativeRenderer-dev.js#L10776, currentParent is a number instead of an object.
Any clues on how to debug this issue further? Eg determine at which point the tree ends up in this weird state.
Thanks!

All relevant info is in the ticket. Reproducible on 0.55.3.

https://twitter.com/notbrent/status/982036500899512321

cc @sebmarkbage @gaearon

I have the exact same issue, I'm going to start to investigate

Got the fix, a line was missing ! I'll submit a PR and link it here


Consider renaming functions whose deprecated variant has been removed

This is a follow-up to #4029 which is about removing deprecated things, in particular deprecated functions.
In the 2.x branch when we found that a function's prototype turned out not to be satisfying, one common pattern to fix this was to (a) add a new function with a better prototype and a new name (often just adding _ext or _ret to the original name) and (b) deprecated the old function.
In those cases, once the old function has been removed as part of #4029, it becomes possible to use a more natural name for the (new) remaining function, by removing the suffix. This task is to determine for which functions such a renaming is desirable, and create further tasks to track execution of the renamings that were deemed desirable.

Team decision: do the renaming and provide a header with #defines for compatibility.

Proposal:

For _ret functions, where the only difference is returning void vs int, rename the function in 3.0 and define the old name as a #define alias. Most applications will just keep working.
For _ext functions, where there are differences in the parameter sequence, do nothing in 3.0. Applications that were using the now-removed function need to be rewritten anyway so they might as well be rewritten to use the _ext function. The short name is free for new APIs in 3.x.


api: support unicode filenames

Minimal reproduction for a bug that popped out from Sentry: https://travis-ci.org/inveniosoftware/invenio-records-files/jobs/306347184#L956.

Now this PR also implements a workaround for the issue we saw in production, but IMO this hints that there could be more places were unicode is not handled properly.

Thanks for the PR


USEID-506: Add ADR 0008 soap over saml

Ticket
Write an ADR outlining the pros and cons of SOAP and SAML as an eid server integration and write down the reasons for our decision to go with SOAP

@hannesschaletzky it would be great if we could align the commit message


fix: add missing password field in ConnectOptions

ATT

Codecov Report

Merging #280 (018d311) into master (e82f61f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #280   +/-   ##
=======================================
  Coverage   97.50%   97.50%
=======================================
  Files          44       44
  Lines        3207     3207
=======================================
  Hits         3127     3127
  Misses         80       80

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 e82f61f...018d311. Read the comment docs.


Update docs + remove email var as not needed

Email variable is not needed to edit/read DNS entry zone values.

This script has become more relevant than before because of the latest Mikrotik DNS outage. It would be good to accept this pull req @bajodel

I'm not sure about accepting this pull because it doesn't fix an issue, it's just kind of a small cosmetic.
I understand that the email variable is not strictly required, but it can be used and it's the only thing that reminds you the account that generated that specific AuthToken.
So, maybe it's just nice to keep it around. What do you think?

It is true that the changes are more or less cosmetic when traditionally utilizing Cloudflare API (by using user tokens) because Email is optional. However, email addresses may not be used when utilizing the API with the recently introduced "account owned tokens": https://blog.cloudflare.com/account-owned-tokens-automated-actions-zaraz/
But maybe most of the users will utilize traditional user tokens anyway and according to Cloudflare they are not going to deprecate traditional user tokens. The best approach would be to make the email optional, but that would make the script more complex.

Actually, you made a very good point. I didn't know about Account Owned Tokens so thanks for the info and the link.
Now I think the best thing might be to have both versions, or make the email optional as you suggested.

I've updated the script and the README, now the email variable is optional (Account Owned Tokens Ready)
I close this PR because the proposed change by incrig is now conflicting with the updated one.
Thanks to @incrig and @jstrahle


[GR Phase 1] Create empty components for all 6 steps and put them together creating a ‘frame’ of the whole process

Design doc link: https://docs.google.com/document/d/1Y4P7G9h0Easjcea7wyk52gKrNB9o1yTjpmJFYkrHDW4/edit?tab=t.0#bookmark=id.yapqct1l25wj

I am Michał from Callstack - expert contributor group. I’d like to work on this job.

@hungvu193 please complete the new feature checklist

Just remember that I reviewed 2 PRs for this issue https://github.com/Expensify/App/pull/51019 and https://github.com/Expensify/App/pull/51231.
Should the price for this issue be 500$? cc @garrettmknight and @madmax330

Yes, total price should be $500 for 2 PRs, but with the regression, the total payout will be $250.

Yes, total price should be $500 for 2 PRs, but with the regression, the total payout will be $250.

I think that would be fair if we only apply penalty to the second PR (which one caused the regression). I'm not sure why we didn't create a separate issue for the refactor substeps 😬

That's fair - so 1st PR at $250, and second PR at $125 with the regression.
@hungvu193 can you propose regression test steps to ensure the new feature will work correctly on production in further releases, and then I'll post the payment summary?

Sure thing. I'll propose regression test later today 😁

Regression Test:
Enable payments flow:

Log in to the App
Go to Settings -> Wallet
Add bank account
Click "Enable wallet"
Test all the "Personal info" steps full name, address, date of birth.

Reimbursement account - personal info flow:

Log in to the App
Create a new workspace
Invite new member to the workspace
Go to More features section and enable the Expensify Card option
Go to Expensify Card section that just appeared
Tap Issue new card
Go through the process of connecting to the bank account.
At some point in the process you'll need to provide requestor information like first and last name, date of birth etc. - test if it works correctly

Reimbursement account - beneficial owner info flow:

Repeat steps 1-7 described above
On the later steps of the process, you'll be asked: "Do you own 25% or more of Alberta Bobbeth Charleson?" - select "No"
On the next step: "Do any individuals own 25% or more of Alberta Bobbeth Charleson?" - select "Yes"
You'll land on the next personal info multiple steps form - test it if it works correctly.

Missing personal info for issuing the card flow:

Log in to the App as User A.

Invite a completely new user (User B).
Turn on Expensify Card for this workspace if not done yet.
Set it up
Tap "Issue new card" and issue the card for User B.
Log in to the App as User B.
Go to the Workspace chat - you should see the "Add shipping details" button - tap it.
You'll see the multiple-step form asking you to fill in your personal details - test it and make sure it works as expected.

Thank you!
Payment summary:
@hungvu193 to be paid $375 through NewDot Manual Requests
@MrMuzyk does not require payment (Contractor)

$375 approved for @hungvu193


remove opensearch.sql.engine.new.enabled setting

Signed-off-by: penghuo<EMAIL_ADDRESS>Description
Remove the opensearch.sql.engine.new.enabled. The opensearch.sql.engine.new.enabled setting is added and set to default true on ODFE <IP_ADDRESS>, the major purpose is to safely publish the new engine, in any case, the customer found issue, they still have the way to rollback to the legacy engine.
We didn't found major issue with new engine, so we decide to fullly enable it by default. If there are any case the new engine can't handle, it still fallback to the the legacy engine automatically. So, there is no impact for the customer.
Issues Resolved
#58
To Reviewers
The PR include the following changes

Change the SQL entry point logic, the new engine is default now.
Remove the integration test against the legacy engine.
Ignore some IT which only work for legacy engine.
Remove the opensearch.sql.engine.new.enabled related docs accordingly.

Check List

[ ] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

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

Here is another doc that needs to be updated: https://github.com/opensearch-project/sql/blob/main/docs/dev/NewSQLEngine.md#34-what-if-something-wrong

Here is another doc that needs to be updated: https://github.com/opensearch-project/sql/blob/main/docs/dev/NewSQLEngine.md#34-what-if-something-wrong

Done. https://github.com/penghuo/os-sql/blob/pr-issue58/docs/dev/NewSQLEngine.md


tests: update drop and ssh tests for 6 - v2

Update https://github.com/OISF/suricata-verify/pull/1712 for 6.
Previous PR: https://github.com/OISF/suricata-verify/pull/1713
Changes:

The check for 6 is for 6 only, so add lt-version: 7

Contains a fix for a Suricata commit that shouldn't have been included, so this will need an update too.


PR: UX and GUI Improvements to the plots viewer

Description of Changes

Removed the save and delete buttons from the thumbnails and moved these actions to the context menu.
Removed the up/down buttons and added a vertical standard scrollbar instead.
The keyboard arrow up/down keys are now moving the thumbnail selection instead of scrolling the list
Added customizable shortcuts to every actions in the toolbar that were missing one.
Improved and homogenized tool-tips. The tooltips are now also updated if the shortcuts associated with a given action is changed.

The only thing I haven't done is to allow multiple thumbnails selection, but I think this should get implemented in another PR.

Issue(s) Resolved
Fixes https://github.com/spyder-ide/spyder/issues/9367#issuecomment-586320067
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.
I certify the above statement is true and correct: Jean-Sébastien Gosselin

I want to try to make the ThumbnailScrollBar inherit from the standard QListWidget. I'm looking into it.

I want to try to make the ThumbnailScrollBar inherit from the standard QListWidget. I'm looking into it.

Ok well, I think it is easier said than done... To be able to implement all the functionalities and behaviour that we have at the moment, this would require some work. It is not working out of the box, especially with the auto-resizing feature.
I think I will stick with the current structure of the thumbnail scrollbar and investigate if we could use a QListWidget later in another PR.

I have updated the desciption of changes section.
I just need to update the tests and this will be ready for review.

I decided to remove the custom stylesheet that was applied on the figure viewer. Even though it was looking good on Windows with the Vista theme, it was not looking so good with the dark style.

@jnsebgosselin could you add an image of the context menu? (or perhaps a small animation?)

Improvements to the plot outline style.
for i in range(5):
    plt.plot(np.random.rand(100), '.')
    plt.gcf().set_facecolor('none')
    plt.gca().set_facecolor('none')
    plt.tight_layout()
    plt.show()

@jnsebgosselin is this ready for another review round, or you want to add something else?

@ok97465, do you agree with these changes? I mean, we've seen you're a heavy user of the Plots pane, so we'd like to know your opinion about these changes.

@jnsebgosselin is this ready for another review round, or you want to add something else?

I have one last commit to do before it is ready. I'm waiting for the tests to finish.

@jnsebgosselin ok, ping me when you do :-) Thanks!

@jnsebgosselin ok, ping me when you do :-) Thanks!

Ok it is ready for another review.

@ccordoba12  I've been waiting for PR to be merged. I'm using it now, and it's more convenient than before. Thank you for the great work of the Spyder team. :+1:

LGTM, just some final questions @jnsebgosselin (which might require a small change)
Thanks! great work :-)

Thanks @goanpeca.
Would it be OK if the style of the separators and the shortcuts to zoom in / out are addressed in their own PR?  I think this PR is already all over the place, so I hesitate to add even more changes here.

Sure, but please open a issue to keep track of them.

I think the CI failure is not related to this work.

@goanpeca just letting you know that I adressed/answered all of your points after all, so there is no need to open other issues.


Stalled threads during downloads.

When downloading more than one album at a time, after about 3-4 albums are done downloading, threads die from rate limits from the tidal servers, resulting in many albums only having certain songs be downloaded. I will be implementing an option to sleep between album downloads in a future PR.
Confirmed by @popeye2468 further in the comments on #26.

 I don't think a delay is the right way to go about it.
if you do want to edit one in, it should just be a call to tokio::sleep here
I don't know that it would be the best solution though for the reasons I specified in the other issue.


Popups storm

Describe the bug
in a GhidraScript: i had loaded datatype from over 200  DataType File Archive. They were closed by the script. Then the script try to use those java datatype instance loaded.
Resulting in a storm of over 200  modal pop-up . And off course the active pop-up is behind 200 others modal pop-up.
this time consuming and annoying like having a web-page opens popups on a loop.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
1)Error from scripts should be stacked inside a Jlist or something to not open more than pop-up even if the script run throws errors/exception on a loop...
2) At least make the OK button active by default instead of details so i can hit the keyboard 200 times to close them all.
Screenshots
If applicable, add screenshots to help explain your problem.

Attachments
If applicable, please attach any files that caused problems or log files generated by the software.
Environment (please complete the following information):

OS: linux kde plasma desktop
Java Version: 13
Ghidra Version: 9.1.2 public

Additional context
Add any other context about the problem here.

This is a contender for one of the most beautiful screenshots I've seen.

Is that their default layout?  It's like the developer put in an algorithm to make them pop up beautifully.

This is a contender for one of the most beautiful screenshots I've seen.

I once screwed up and had a NPE while getting the icon for a GTreeNode for every node in a tree of 1000+ nodes. The boarders of the popup tend to produce a drop shadow effect after stacking so many.

Is that their default layout? It's like the developer put in an algorithm to make them pop up beautifully.

I think they were just spread out to show there is a lot of them.

Is that their default layout? It's like the developer put in an algorithm to make them pop up beautifully.

nope i was willing to click them all but before that !
but only one of them had button enabled.
is had to dig deep and move them around to find the one with button action enabled (in java : modal popup stacked are bad). the plaque of modal popup

Should be addressed by merge of branch: fc994cd
If not, please reopen.


Comments and search refactor

Cleaned up the search file by moving some sections into their own components to make code cleaner and easier to understand.

Linked to task: CU-1wnwqfk

Task linked: CU-1wnwqfk Improve documentation/documentation of front end, and refactor large classes

Aside from the reverting change in QueryBox.js, this looks good to go.


No compose box for private messages

There is no compose box for private messages, either replying to a PM or initiating a new PM.

Thanks for reporting this issue.
This is the first time I hear about it and I can not reproduce it.
Can you tell me what platform is this? Are you running the app from the app stores or compiling from the repo?

It's on android, and I'm getting it from the Play Store.

Yep. It's the new one. And I'm on Android 7.0 Nougat

I just discovered that you seem to be able to get to private messages in two different ways, and one of them has a compose box and the other one does not.

Great that you added a screenshot! I think I know what is happening now ;)
When you click the 'private' messages on top, you get a list of private messages.
When you click the 'conversation' button on the bottom, you get a list of conversations you've had (but not the messages). If you click on any of these, you will narrow to that conversation and there will be the compose box.
Does that make sense?

Implemented with #1898


User Guide link to dropbox broken

Didn't see this in the existing issues. As of Sept 3, 2017, the link for the User Guide for installation appears to be broken. At least it didn't work for me.

👍 Likewise

https://www.dropbox.com/s/pfi9ciqmxbjq9lo/guide.pdf?dl=0
Thanks for letting me know.  Dropbox just changed their Public folder policies.


Unified Viewport

Initial unified viewport PR. Also see #2651

This PR will be closed in favor of https://github.com/appleseedhq/appleseed/pull/2661.

Closed in favor of https://github.com/appleseedhq/appleseed/pull/2661


Auto approve and merge pull requests by Dependabot using Github actions

Dependabot auto creates PR to update github actions dependency version. https://github.com/AdoptOpenJDK/run-aqa/pull/31
We'd like to approve and merge the pull requests raised by Dependabot. Looks like it's easy to do as there are available github actions available on market place.
https://medium.com/@dileepkumarjami/auto-approve-and-merge-pull-requests-by-dependabot-using-github-actions-468557967fa4
Same request for other github actions: AdopOpenJDK/build-jdk, Eclipse/build-openj9

https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates
https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot


Design for Aggregation

Context
Need requirements

Add Aggregation to the custom data download
per PI 7 planning aggregation should not be an additional filter option. Should be an option a user can select after they preview their data similar to the download option - will need more discussion

@JanellC, @AllisonFrancis, @tlageman-epa
Here is the shared Xd document link for Data Subtype Select/Change Data Type-Emissions-Aggregation WFs with the Aggregations filter included on the Data Subtype Select panel.
https://xd.adobe.com/view/523c938e-a55c-4475-8eae-72d4b842cd0e-076f/

@JanellC, @AllisonFrancis, @tlageman-epa
Here is the shared Xd document link for Data Subtype Select/Change Data Type-Emissions-Aggregation WFs with the Aggregations filter included on the Data Subtype Select panel, including the Aggregation dropdown menu, and updated Data type view.
https://xd.adobe.com/view/8f802127-14e0-46b4-9f28-b5a2749c527d-dad3/


Make Buffer::write_element non-failable

Summary
This PR changes the Buffer::write_element return type from FormatResult<()> to () (void).
Local benchmarks show that this improves performance significantely and the only possible error for write_element to fail is if Vec fails to allocate, which we don't need to handle.
There's one downside to this. The reason why Buffer::write_element is that a wrapper Buffer (see the removed PreambleBuffer) can intercept the writing of an element and write additional content.
This is a neat feature but wrapping Buffers (especially if done recursively, e.g. in every Expression) comes with a significant performance penalty because each wrapping requires a dynamic dispatch call. That's why Buffers haven't been used as much and are generally discouraged.
There's a more performant solution for preambles today that didn't exist when the Buffer was introduced.

Create a snapshot
write the preamble
perform a rollback if no content was written since the preamble

However, this doesn't work for use cases where the preamble itself is expensive OR for cases where an element should be written as a response to another element (e.g. write a line break after each "break_here" text).

Test Plan
cargo test

Current dependencies on/for this PR:

main

PR #6613   👈

This comment was auto-generated by Graphite.

Nice! I'm surprised this is so expensive, did it surprise you or did you have intuition here?

I had some intuition:

Each ? introduces a new branch. I don't know how many the branch predictor can predict correctly
*All our basic builders use write_element and we emit a lot of source_position, text and group elements.
I can't find the blog post right now but the try operator (used to) can be slower than some hand written macros that perform the same (using an early return) . That's why I suspected that removing some of the hot branches may help performance.

I'm mainly surprised that we can't see the same results on our benchmark runner.

I can't find the blog post right now but the try operator (used to) can be slower than some hand written macros that perform the same (using an early return) . That's why I suspected that removing some of the hot branches may help performance.

Ah yeah, I've seen this somewhere, maybe it's just an issue in the Rust repo...


Added inline comments about dump types to yml file

refs #1038
@christinach I put in these comments in the context of alma; several of these won't be used any more and there will be less complexity in the interactions of these dumps. I think this might be sufficient to close #1038; what do you think?
(note it helps to view the file with the split diff view)

Coverage remained the same at 82.508% when pulling 614f0169a2c476ee7976359540b46f5fe7951cc6 on 1038-doc-dump-types into 6111d339441b6b4d80e63502121aea085fabb416 on alma.

@christinach I made those changes. thanks!


SIGSEGV at line 972

Hi,
I am getting SIGSEGV at line 972:
 self.ret = pointer(c_int())
Running Arch, python 3.5.1.

Hi. At the moment of getting this segfault - is pulseaudio daemon running?

[knezi@holly ~]$ ps aux|grep pulse
knezi     1100  0.0  0.3<PHONE_NUMBER>6 ?        S<sl 18:10   0:00 /usr/bin/pulseaudio --daemonize=no
knezi     1743  0.0  0.0   9644  2264 pts/0    S+   18:13   0:00 grep pulse```

Alright, here is what I've managed to figure out.
Since version 7.0 pulseaudio in Arch no longer uses autospawn, but instead uses socket activation via systemd. Here is the commit.
And here is disabled autospawn on a freshly installed system:
$ grep spawn /etc/pulse/client.conf
autospawn = no

At the moment of getting the segfault pulseaudio simply isn't running and refuses connection to the activation socket. This is the case for every other application that uses pulseaudio, not only pulsemixer:
$ ponymix
failed to connect to pulse daemon: Connection refused
$ mplayer -ao pulse sound2.ogg
AO: [pulse] Init failed: Connection refused
$ pactl list
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

The only difference is pulsemixer is just crashing instead of throwing an error. This I will fix. Other than that - not much I can do.
Now that aside, I couldn't figure out why it refuses or even who's fault is that (looks like systemd's tbh) but logging via machinectl seems to fix the socket activation:
root@localhost ~$ machinectl shell bote@
[bote@localhost ~]$ ps waux | grep pulse
bote      1083  0.0  0.1   4700  2280 pts/1    S+   13:27   0:00 grep pulse
[bote@localhost ~]$ ./pulsemixer -l
Sink:		 ID: 0, Name: Built-in Audio Analog Stereo, Mute: 0, Channels: 2, Volumes: ['28%', '28%']
Source:		 ID: 0, Name: Monitor of Built-in Audio Analog Stereo, Mute: 0, Channels: 2, Volumes: ['100%', '100%']
Source:		 ID: 1, Name: Built-in Audio Analog Stereo, Mute: 0, Channels: 2, Volumes: ['67%', '67%']

It adds a bunch of XDG environment variables, creates directories in /run/user/ and makes a new systemd --user instance running under your user (and as I get it handles the socket activation). So, basically, you have to either use the old  pulseaudio autospawn, or fix systemd socket activation.

And now about that init_pair() problem. You are either using an old terminal emulator which doesn't support 256 colors, or have your $TERM variable unset/set to some wrong value.
$ echo $TERM
xterm-256color
$ infocmp | grep 'colors#'
colors#256, cols#80, it#8, lines#24, pairs#32767

But regardless, implying that all users have 256 colors in their terminals is a really bad idea and I will add support for low-colored terminals shortly.

Oh, I see.
Thanks for analysis.
As for the color, you are right. My $TERM is xterm and it works in gnome-terminal.

Both should be fixed now. Well, the problem with socket activation is kinda half-fixed, since I can't do much besides handling the segfault and adding an error message.

Thanks. The colours works.
As for the other issue, I don't know, but now it starts automatically after boot of system and pulseaudio --kill will (probably) kill it, but it is then immediately run again.


adding myself

i am new to this platform and i wanna no to knowledge about this platform and know about the benefits


fix: remove second scrollbar from git connect modal

Description
* { scrollbar-width: thin; } adds a scrollbar to every element, firefox takes this personally and adds a second scrollbar to git connect modal when the content starts overflowing.
This PR removes scrollbar-width from git-connect container.
Fixes #10844
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Manually.
Before changes:

After changes:
https://user-images.githubusercontent.com/1573771/155083564-b9280fbb-8931-4e0a-86d3-8fd3b4f71365.mov
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=67223f246ea1acf500f4536a2ab038c653394147


ErrTickOutsideRange: wrong error text

One cosmetic issue: Error ErrTickOutsideRange is defined providing the wrong valid range for tick usage.
// NOTE: -352,437 is the lowest possible tick at which price can be calculated with a < 1% error
// when using 18 digit decimal precision (via sdk.Dec)
const MaxTickExp uint64 = 352437
If someone places a tick outside this range, it will lead him to panicking:

this is fixed in unify liq PR


Global Variable on Page Extension is inaccessible due to its protection level

Describe the bug
I'm making a simple page extension, and when I try to access to a global variable of original page, there's no access.
To Reproduce

Create page extension of "Document Attachment Details", if using FromRecRef to any new function it gets: 'FromRecRef' is inaccessible due to its protection level

AL Code to reproduce the issue
Expected behavior
I would expect to access to a global variable of a page in a page extension.
Screenshots
Not aplicable
5. Versions:

AL Language:  4.0.191880

Business Central: BC 15 wave 2 (15.0.36560.36649)

I saw a closed issue similar to this telling this kind of problem should be solved in Wave 2.

Yes this feature should work. If you declare globals in global var section of an AL file
protected var
myInteger : Integer
Then you should be able to access it in a page extension.

Simple example:
page 1173 "Document Attachment Details"
It has the global variable
FromRecRef: RecordRef;
Or even:
SalesDocumentFlow: Boolean;
If I create a pageextension 50121 "Doc. Attach. Details Ext" extends "Document Attachment Details"
And use FromRecRef on page extension I get the error:
'FromRecRef' is inaccessible due to its protection level
If I create a global var in my pageextension with name FromRecRef.
I don't have the error anymore, but FromRecRef doesn't have any value.
So how it should be used, so we have access in a pageextension to a global variable in the page?

Hi @ccorreia83. As @kalberes suggested, use in your example:
protected var SalesDocumentFlow: Boolean;
then it becomes visible in the extensions. The same for procedures. For details please see https://docs.microsoft.com/en-us/dynamics365-release-plan/2019wave2/dynamics365-business-central/access-modifiers.

Hi @ccorreia83. As @kalberes suggested, use in your example:
protected var SalesDocumentFlow: Boolean;
then it becomes visible in the extensions. The same for procedures. For details please see https://docs.microsoft.com/en-us/dynamics365-release-plan/2019wave2/dynamics365-business-central/access-modifiers.

This means that original page has to have the variable declared as protected, so it can be accessed from a page extension.
But if I'm making a page extension if because I want to retrieve a variable of a standard page that I cannot declare the variable as protected.
So from my page extension I need to access to a variable that is in the original page that isn't marked as protected, so this way can't be used.
Or I'm seeing something differently?

I have the same question as @ccorreia83. My sandbox site is on the cloud. Create extension to extend "Payment Journal" page.
           action(GenerateEFT2)             {                 ApplicationArea = Basic, Suite;                 Caption = 'Test Generate EFT File';                 Enabled = NOT (AMCFormat = TRUE);                 Image = ExportFile;              }
And Visual Studio Code directly shows following error and does not allow to compile and publish.
	AMCFormat' is inaccessible due to its protection level,
Do I need to re-declare AMCFormat again in my code?

I have the same kind of problem.
I want to change or read the default global variable CurrentDocNo of the "General Journal" page.
But I could not find an solution. I could even add the same variable and it has no effect.
Any Ideas or something else I could do? (could be a problem while I pray here at my colleagues "DO NOT CHANGE THE BASE APP")
`pageextension 50005 "GeneralJournalTEST" extends "General Journal"
{
layout
{
// Add changes to page layout here
}
actions
{
    // Add changes to page actions here
}

trigger OnOpenPage()
begin
    CurrentDocNo := 'G00013';
end;

trigger OnAfterGetCurrRecord()
begin
    Message(CurrentDocNo);
end;

var
    CurrentDocNo: code[20];

}`

Same problem here as @ccorreia83, @Ray-Bao, and @aptMattKoe . I'm trying to extend Page 950 and make use of global variable TimeSheetHeader in my extension. VS tells me "'TimeSheetHeader' is inaccessible due to its protection level."
Wasn't the intention to make global variables in standard pages available in extensions? Or not? if not what are the risks?

Global variables will be accessible if they are marked as "protected". By default, they are not accessible from page extensions. This was done because these pages must be designed for extensibility. Please file file issues on https://github.com/microsoft/ALAppExtensions for additional extensibility.

Hi. thank you for the reply. I'm not sure that I follow. if base application pages are to be designed for extensibility, making global variables of base application pages not accessible seems to be contrary to your stated design/objective. what am I not understanding?

 base application pages are to be designed for extensibility the future tense is the correct one. They will have to be designed for extensibility, they are not extensible at the moment. Please file a request in the GitHub repository mentioned above.
The language and the extensibility of the Base Application are two separate concerns.


Add 'Reset password' UI

Related Issue or Background Info
Closes #1638
Related #1659
TODO

[x] fix error handling for radio buttons field on select verification page.

doesn't work bc it's onblur and there's no onblur for it
reference comment

[ ] Update component to conditionally show "Send another code" button on some instances

show on everything except authentication apps - how to control a component inside a component
reference comment

[ ] Fix SonarCloud duplication errors (email)

(Note: this was based off of the login branch so the commit history may be a little long, and the earlier commits are already merged)
Checklist for Author and Reviewer
UI

[ ] Any changes to the UI/UX are approved by design
[ ] Any new or updated content (e.g. error messages) are approved by design

Testingy

[ ] Includes a summary of what a code reviewer should verify

@cdevent I need some help with a few items in "TODO." Could you help with this?

@cdevent I need some help with a few items in "TODO." Could you help with this?

Sure! will look at it in my morning.

@nickclyde there's some refactor work in #1675, but I also did some refactoring in this PR. Should we make sure our refactors don't conflict? 😅  /cc @cdevent

@nickclyde there's some refactor work in #1675, but I also did some refactoring in this PR. Should we make sure our refactors don't conflict? 😅 /cc @cdevent

Oh, now I see that @nickclyde does almost all fixes. Do you need any of my input?

Thanks @cdevent. Committed the radio buttons error handling since that's a new UI. Not sure if conditionally show "Send another code" button is done in @nickclyde's PR, but hoping the email duplication is.

@cdevent could you take a look at the two items in "TODO" and suggest any updates?

@cdevent any chance you can fix the SonarCloud duplication issue?

@maya fixed.


Error "Failed to create output directory ."

I tried to fix this with many ideas, but still cant make it work. Any idea?

Can you try running aquatone with sudo or creating a directory for aquatone output at /tmp and set output dir to it? (-output /tmp/aquatone)

I solved, thanks. It was a error on my setup, my bad :)


Byte representation

Related to #35
Is your feature request related to a problem? Please describe.
We are somewhat restricted in regards to what we can do with bytes.
Describe the solution you'd like
Ideally something native to vanilla JS, C/C++ bridge or WASM.
Describe alternatives you've considered
Webpack so we can use class Buffer() from node. Not ideal.

We're updating our contributers and "mission statement" so to speak. Our ideal goal is to not use node, so we can maintain browser support. Without using webpack/browserify/et al

Uint8Array is a great runtime-agnostic representation of bytes imo.
Although I must ask: how is networking planned to take place without assuming Node as the target runtime and then browserifying for the browser? Is there an isomorphic TCP library? Basically I'm asking how p2p stuff is gonna go down in the browser.

Can you please elaborate on this? What are you trying to do with bytes and can't?

This is outdated tbh. Bytes 8array put us in the right direction

Does that mean we can close this?

not related to just this issue but:
I believe we're going to need to use a bundler of some sort, regardless if we use Buffer or not, to run this software on the web.
Web JS can't just simply import x from y nor can it require(z) without being linked together beforehand.

Mmm, this is true with plain HTML. Best case scenario is meant for react, angular etc...


Where are the templates and guidance for topic types?

I can't find the Quickstart template. I don't see anything listed in the TOC about topic types. We should add that, unless I've missed it.

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

ID: 0aae23d2-0a7b-4d83-23f3-34c419a8f230
Version Independent ID: 4cc300c8-116f-d89e-973c-ac069169949c
Content: Procedures and instructions - Microsoft Style Guide
Content Source: styleguide/procedures-instructions/index.md
Product: non-product-specific
GitHub Login: @pallep
Microsoft Alias: pallep

Sadly the templates are only available on the internal version of the style guide.

Hi @chcomley, Don above is correct. This is the external version of the style guide and it doesn't contain all of the same info.


Update portfolio

Pull Request Test Coverage Report for Build 357

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

Files with Coverage Reduction
New Missed Lines
%

src/main/java/seedu/address/model/person/Email.java
1
92.31%

src/main/java/seedu/address/logic/commands/EditCommand.java
10
89.63%

Totals

Change from base Build 352:
0.0%

Covered Lines:
1949

Relevant Lines:
2635

💛  - Coveralls


Web app is down

https://prettymapp.streamlit.app/
App is down

thank you!

thank you!

You're welcome. Great work


Fix ERR_SSL_KEY_USAGE_INCOMPATIBLE error

In Chrome/Brave I was getting an ERR_SSL_KEY_USAGE_INCOMPATIBLE error when trying to visit https://mysite.meh after installing the SSL certificate generated with mehserve ssl mysite.
After following this advice (changing the keyUsage parameter for the certificate generation) and re-installing the new certificate, the error disappeared!

Released in 2.0.1

2.0.2 contains another signing fix: https://github.com/benjie/mehserve/releases/tag/v2.0.2


Add config to enable/disable resolvers + listeners

Codecov Report

Merging #19 into master will decrease coverage by 19.93%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             master      #19       +/-   ##
=============================================
- Coverage     90.59%   70.65%   -19.94%
- Complexity       79       85        +6
=============================================
  Files            15       16        +1
  Lines           202      259       +57
=============================================
  Hits            183      183
- Misses           19       76       +57

Impacted Files
Coverage Δ
Complexity Δ

src/DependencyInjection/TerryApiExtension.php
0% <0%> (ø)
6 <0> (+5)
:arrow_up:

src/DependencyInjection/Configuration.php
0% <0%> (ø)
1 <1> (?)

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 6a90ec5...4c3e54a. Read the comment docs.


Hey there, just a couple questions.

I'm working on an app (https://github.com/mist-id/mist), and I've been using your wallet for testing (thank you very much, btw). I've had a couple of questions while working on it that I'm hoping you can shed some light on.

The wallet sends key_opts as sig. Looking at the spec, shouldn't this be verify? Or if not, then sign?
The returned VCs are wrapped in something like { verifiable_credential: [ vc: ... ] }. This isn't in the spec or anything unless I missed it. Is this a standard I should be aware of?

I'm working on an app (https://github.com/mist-id/mist), and I've been using your wallet for testing (thank you very much, btw). I've had a couple of questions while working on it that I'm hoping you can shed some light on.

The wallet sends key_opts as sig. Looking at the spec, shouldn't this be verify? Or if not, then sign?

Would you happen to have a link to the source code you mentiond. Be advised that currently our SDK is pretty much in flux and as a result our web and mobile/edge wallet as well. This has to do with us removing things like strict dependencies on DIDs and other improvements to be more in line with EIDAS2/ARF (like adding support for SD-JWT and mdl/mdoc).

The returned VCs are wrapped in something like { verifiable_credential: [ vc: ... ] }. This isn't in the spec or anything unless I missed it. Is this a standard I should be aware of?

What we are doing is basically mapping internally everything onto a VCM Datamodel 2 format. We support JSON-LD, JWTs, and in some branches also SD-JWTs and Mdocs. Then for our wallet to display things in a uniform way, we are basically mapping them all onto a json-ld like representation. Where we then map the original signature and payloads onto the proof object(s) in that credential.
The json-ld credential and JWT credential are of course mentioned in VCDM 1.1. The JWT is decoded into a json-ld credential, and then we add an artificial jwtProof2020 to it with a jwt key that is the original JWT encoded credential, so we can always get back to the original format. The vc key you mention is part of the VCDM 1.1 model. vp and vc are the objects you need in a presentation and credential JWT object respectively according to 1.1
Hope that helps. Happy to see the actual code path to your first question


[Hub Generated] Review request for Microsoft.AzureStack to add version preview/2020-06-01-preview

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[x] update existing version to fix swagger quality issue in s360
[x] Other, please clarify

Adding missing spec for list by subscription to preview and stable API versions

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
Service already supports these endpoints
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[x] No, no need to refresh for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
[ ] Ensure to copy the existing version into new directory structure for first commit (including refactoring) and then push new changes including version updates in separate commits. This is required to review the changes efficiently.
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

These ListBySubscription paths have been available in services in all API versions but were never added in the specs and so isn't an actual change in the service, they were marked as an S360 swagger validation issue because we were missing these paths here.

Hi @bbridges , the window of fixing S360 is closed and you have to approval from Breaking change review board as pointed out by https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/405/Window-to-Fix-Broken.

For python, the breaking change is expected.

The breaking changes are expected in go SDK

@bbridges , as the "newApiversionRequired" label indicates, you can raise up a new api version for the new api. The breaking changes will be allowed in a new api version and do not need to get approval from breaking change review board.


Provide CLI interface to apply import magic on a file?

Could be useful. I'd accept a patch that made this mojo happen.

I opened a PR with my take on an importmagic script. It's pretty basic but gets the job done.
Here's what it looks like:
$ importmagic
usage: importmagic [-h] [--refresh] [--exclude-current-path] file_name
importmagic: error: the following arguments are required: file_name
$ importmagic myfile.py
$ importmagic myfile.py --refresh

I'm sure one feature people would like would be the ability to say whether or not the file should be overwritten in-place (-i option). In fact it should probably be the default to print rather than overwrite.

Merged, thanks!


DataFrame display does not truncate columns

Currently, if I try to print a dataframe, rows are truncated with "..." after a few entries, but columns are displayed from first to last. This is problematic if I have a very high dimensional data, e.g. bioinformatics.
Is there a way to configure it so that only first columns show, and should this be the default behavior as with Pandas in Python kernel?

IJulia sets the default number of columns to 80 and passes :limit=>true, so it is up to the DataFrames.jl package to use this information—you should file an issue there.


DEQ - Spills app rebuild planning

Benefit
We need to determine the requirements and plan for funding for this project.
Acceptance Criteria

[ ] A signed SOW.

Sprint 1 Tasks

[ ] Check-in with DEQ and DTS about progress on the current spills integration
[ ] Draft SOW for the current spills widget integration into SalesForce

Sprint 2 Tasks
Continue/carryover tasks from Sprint 1 to

[ ] Check-in with DEQ and DTS about progress on the current spills integration
[ ] ~Draft SOW for the current spills widget integration into SalesForce~

Made some progress, but there are things that need to happen before we're ready to estimate and make final plans for a rebuild of the spills app/widget, namely:

Finalize current widget integration into SalesForce app #174
Get some feedback about any changes DEQ wishes to see in the production version of the current widget, in addition to their wishlist items
Estimate the work and get an agreement going


trying to convert huggingface whisper model to pytorch

i used the converter here:
https://github.com/pytorch-labs/gpt-fast/blob/main/scripts/convert_hf_checkpoint.py
but i get this error when trying to convert my huggingface checkpoint:
swarms@dpm4:~/gpt-fast/scripts$ python3 converthf_checkpoint.py --checkpoint_dir /home/swarms/checkpoint-4000/ --model
name large-v3
Traceback (most recent call last):
  File "/home/swarms/gpt-fast/scripts/convert_hf_checkpoint.py", line 132, in <module>
    convert_hf_checkpoint(
  File "/home/swarms/.local/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, kwargs)
  File "/home/swarms/gpt-fast/scripts/convert_hf_checkpoint.py", line 31, in convert_hf_checkpoint
    config = ModelArgs.from_name(model_name)
  File "/home/swarms/gpt-fast/model.py", line 55, in from_name
    return cls(transformer_configs[config[0]])
IndexError: list index out of range

We only support transformer based models, check the list of model we supported at:
https://github.com/pytorch-labs/gpt-fast/blob/c9f683edd4f89d3e81ed8f52387e866a245e3226/model.py#L60


chore(ecc-client-lit-ga4gh-tes): fix lint error

Description

This PR fixes the lint issue in the lit tes packages
Checklist

[x] My code follows the contributing guidelines of this project.
[x] I am aware that all my commits will be squashed into a single commit, using the PR title as the commit message.
[x] I have performed a self-review of my own code.
[x] I have commented my code in hard-to-understand areas.
[x] I have updated the user-facing documentation to describe any new or changed behavior.
[x] My changes generate no new warnings.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] I have not reduced the existing code coverage.

Comments

@SalihuDickson, just for consistency, can we turn 1 to warn instead?
Otherwise it LGTM :rocket:

@SalihuDickson, just for consistency, can we turn 1 to warn instead?
Otherwise it LGTM 🚀

done 👍🏾


Merge to live!

[Add-ins] Implement feedback on overview and quick start

Apply suggestions from code review

Co-Authored-By: David Chesnut<EMAIL_ADDRESS>
Update to sign in

Docs Build status updates of commit 001f6a4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/add-ins/index.md
:white_check_mark:Succeeded

docs/add-ins/quick-start.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


SR-6243 _fastEnumerationStorageMutationsPtr

Make _fastEnumerationStorageMutationsPtr internal in Shims.swift and make Foundation use it's own fileprivate _fastEnumerationStorageMutationsPtr

Resolves SR-6243.

The situation is quite similar to what you referred to, the @inlinable would leak the implementation detail into the user code. So, it's not needed here.

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 968ab59987d8892b64d71314fe2bbfcf42bc8593

Build failed
Swift Test OS X Platform
Git Sha - 968ab59987d8892b64d71314fe2bbfcf42bc8593

Sorry if I did not make it clear. @_fixed_layout was not necessary (since it's just a single pointer), but wouldn't hurt. @usableFromInline is necessary since these declarations are internal but are using in some inlineable code. @inlinable is the only attribute that was not necessary, and so your code was totally fine when I reviewed it. It's slightly better now without the redundant @_fixed_layout.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test

@moiseev ok, thanks :)

@Moximillian can you please fix the issue with the test?
/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/swift/validation-test/stdlib/Dictionary.swift:1905:31: error: ambiguous use of '_fastEnumerationStorageMutationsPtr'
16:20:56       theState.mutationsPtr = _fastEnumerationStorageMutationsPtr
16:20:56                               ^

@moiseev will attempt to use different variable name for the other file, in case that triggers the "ambiguous use" error

FWIW you could also use a fully-qualified name, i.e. prepend it with the module name Swift._fastEnumerationXXXX, to resolve ambiguities.

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 2a7bd5a827e5ccd7f4b9b0c4d6068cfdedcc08b9

Build failed
Swift Test Linux Platform
Git Sha - 2a7bd5a827e5ccd7f4b9b0c4d6068cfdedcc08b9

@Moximillian can you please squash the commits into one?

@moiseev squashed. It's quite curious that a fileprivate variable can cause ambiquity in the validation...

@swift-ci Please smoke test

@Moximillian both symbols were visible in the test because it's compiled with -disable-access-control. This is for the explanation purposes only. Please forget about this compiler option and don't tell anyone about it =)

@moiseev sure, I promise to forget :) And thanks for the help!


Updated 3 Azure Maps screenshots for the migrate google web services tutrorial

#assign: @eriklindeman
@eriklindeman

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


avoid double import of $env/dynamic/[mode] modules

Attempt to fix #5941. No test because the bug doesn't happen inside the workspace
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Will this prevent the user from being able to change the env files after server startup?

Changing .env will cause the dev server to be restarted


question: Having a hard time with authentication through Argo Tunnel

Hi!
I'm trying to use the caddy security plugin to provide authentication for a browser-based IDE (Theia Framework) I'm setting up for remote development (full code available here: https://github.com/TtheBC01/browser-ide).
When I access the application locally, the auth plugin works great, but when I throw an argo tunnel in front of it and try to access remotely, after I give the username, I get an unauthorized page (401).

This setup used to work great for me with the previous auth plugin, caddy-auth-jwt, so I'm just trying to figure out what I'm missing
in trying to upgrade my setup to caddy-security. Thank you for any help you might offer.

@TtheBC01 , what is the config? Please output /whoami contents.

ok, if i got to /whoami after authenticating locally I get
{
  "addr": "<IP_ADDRESS>",
  "authenticated": true,
  "email"<EMAIL_ADDRESS>  "exp":<PHONE_NUMBER>,
  "expires_at_utc": "Tue May 17 19:03:09 UTC 2022",
  "iat":<PHONE_NUMBER>,
  "iss": "http://localhost:8888/login",
  "issued_at_utc": "Tue May 17 18:03:09 UTC 2022",
  "jti": "BaTbQAfI76SzRaTCh4wQvMD4Lv6zv8Zr86X8UxzN6fCf",
  "nbf":<PHONE_NUMBER>,
  "not_before_utc": "Tue May 17 18:02:09 UTC 2022",
  "origin": "local",
  "roles": [
    "authp/admin"
  ],
  "sub": "admin"
}

@TtheBC01 , config?

This is the Caddyfile: https://github.com/TtheBC01/browser-ide/blob/main/Caddyfile

Sorry, is config different than Caddyfile?

@TtheBC01 , try adding cookie insecure on. I don't see your HTTPS config, so I am assuming it is related to the cookies.

Hmmm, that was a good idea, but still same problem. I guess I may have to live with the fact that anonymous tunnels won't work and I'll have to have TLS configured for a specific domain?

Hmmm, that was a good idea, but still same problem

@TtheBC01 , how about we get on the Google Meet at 5:30 EST today and I will take a look at your setup? It is hard to troubleshoot something like this in an issue.

Absolutely!

Absolutely!

Please send me an invite to greenpau|outlook.com

Done

Just wanted to come back to this thread and say that if you use Argo Tunnel authenticated against you Cloudflare account (instead of using an anonymous tunnel), then this issue does not arise. I was able get everything working properly by specifying a tunnel token with no changes to the Caddyfile.

@TtheBC01 , good stuff! I am still adding the ability to strip domain from the token. Currently, working on UI changes. Then, I will jump to this one.

@TtheBC01, I am looking to add testimonial sections to https://authcrunch.com. Could you please write one and send it to me at<EMAIL_ADDRESS>

done


Is unblocking of s0.2mdn.net still the case?

s0.2mdn.net seem pretty prevalent and blocking it I haven't found single site to break.
I would tried mtv.ca and cbs.com to recheck that whitelisting s0.2mdn.net is still needed, but those are geo-fenced and doesn't play in my region unfortunately.
Would you reconsider to remove s0.2mdn.net from unblock list, for example https://github.com/EnergizedProtection/unblock/blob/master/basic/formats/domains.txt ?
Thank you and cheers

bump


Hung updates AboutUs

Don't forget to add your Project Portfolio Page. Also, may I know why there are changes to the puml files?

Don't forget to add your Project Portfolio Page. Also, may I know why there are changes to the puml files?

I think it is for Documentation Diagrams, I implemented it last week but didn't make the pull request.
https://nus-cs2103-ay2122s1.github.io/tp/Documentation.html

Oh, are we supposed to touch the diagrams yet? Also, I think those two files already exist and are already part of the project; here is the style file and here is the undo sequence diagram. You can also see the undo sequence diagram in this section in the Developer Guide too. Were you planning to change those files? I think if you want to do that, you should update those files directly instead of adding new files. Also, maybe if you do still want to add the new files, maybe they should be in the docs/diagrams folder instead?
I am not sure if this needs to be done though. I think maybe we need to ask the other members. I am fine with your changes to the AboutUs page though, but you still need to add the Project Portfolio Page. Maybe you should do a separate PR for the diagrams, and just leave only the AboutUs stuff in this PR. After you do that, then I can probably merge your AboutUs PR.

Yea @jayasting98, you are right. I have removed the two unnecessary files, and added the Portfolio :smile:


Remove using emstype for determining the type given an ems instance

Added ExtManagementSystem#supports_port and #supports_authentication?
helper methods for the UI to query on specific supported features.
This is part of an effort to completely remove emstype column.  It is
overloaded for a number of uses, so I'm removing those uses one by one.

@jrafanie @kbrock @dclarizio Please review.

Much better than before.
Now, I'm gonna do that thing that annoys me:  I'm gonna comment on future-state stuff in a PR.
Here's where I'd like to see the supports_authentication? go.  We should have a way for a Provider (or maybe Manager at this level) to advertise which endpoints handle which services that are specific to ManageIQ's needs.  For instance, ManageIQ cares about:

inventory
adding new inventory items (e.g., provisioning)
operations on existing inventory items
collecting events
gathering metrics
fleecing (for those managers that have "fleeceable" objects like images, etc...)

So, it would be great if a manager could advertise:
Manager#events_endpoint

... and that would return an endpoint for connecting to the endpoint that can collect events.  And, that endpoint could also have authentication information associated with it.
Since we have a fairly well defined set of endpoints, we should normalize on that set.  That way, instead of asking if something supports_authentication?(:amqp) we can eventually ask the user to specify the different endpoints for the different ManageIQ services.  And, that endpoint list for a manager is dynamically built by the user instead of statically defined in the controller.
So, I think the supports_authentication? is a good step in that direction.  I just wanna keep this in mind (and get feedback, tear it up, etc...) as things keep moving forward.
Again, not a direct comment on this PR.  And, not suggesting this change.  Just something to keep in mind for future movement.

So, I think the supports_authentication? is a good step in that direction. I just wanna keep this in mind (and get feedback, tear it up, etc...) as things keep moving forward.

Yes, definitely.  I kind of had a little of that in mind as I was doing this change, so I'm glad I was thinking in the same direction.

wish travis was faster today. I really want to get this merged in :)

@blomquisg @kbrock
My only comment is that supports_port? is not clear in my mind what that means.  I believe this means the port is configurable, right?  If so, maybe configurable_port? is more intention revealing.
@Fryguy I merged your other PR and now this is conflicted, please rebase.

@jrafanie maybe requires_port? ?

I'll rebase after we decided on a method name.

@blomquisg, the port is not necessarily required though, just configurable...For, say, amazon, it's completely not needed.  I'm thinking about configurable_port? but then it's inconsistent with supports_authentication?, and configurable_authentication? with a param is just weird.  I think the consistency of the naming is important because then all methods like supports_ asks "does it have the capability of...".

Rebased.  I decided to stick with supports_ for now.  None of the alternatives seem to read any nicer.

LOL, how about supports_configurable_port?  :trollface:

Updated...should be ready to go now.

failed w/ region expected to not == 1.
kicked it again and hoping it was a random error.


feat: Support semaphore selectors. Fixes #7272

Signed-off-by: Denis<EMAIL_ADDRESS>Fixes #7272
Introducing an extension to the current synchronization mechanism that allows concurrency enforcement by workflow fields like labels, params, annotations, etc. Can be applied to semaphore and mutex.
NOTE: The interface is not final and can be discussed
CRD example:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: sync-wft-by-params
  labels:
    argo.sensor: github
    argo.sensor-event: push
spec:
  entrypoint: main
  templates:
    - name: main
      steps:
      - - name: main1
          template: sync-by-params
          arguments:
            parameters:
              - name: REPO_OWNER
                value: argoproj
              - name: REPO_NAME
                value: argo-workflows
              - name: GIT_BRANCH
                value: master
        - name: main2
          template: sync-by-params
          arguments:
            parameters:
              - name: REPO_OWNER
                value: denis-codefresh
              - name: REPO_NAME
                value: argo-workflows
              - name: GIT_BRANCH
                value: feature

    - name: sync-by-params
      inputs:
        parameters:
          - name: REPO_OWNER
          - name: REPO_NAME
          - name: GIT_BRANCH
      synchronization:
        semaphore:
          configMapKeyRef:
            name: my-config
            key: workflow
          selectors:
            - name: repoName
              template: "{{ inputs.parameters.REPO_OWNER }}/{{ inputs.parameters.REPO_NAME }}"
            - name: branch
              template: "{{ inputs.parameters.GIT_BRANCH }}"
      container:
        image: docker/whalesay:latest
        command: [sleep]
        args: ["5000"]
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: sync-config
data:
  workflow: "1"

After applying the workflow has the following status:
  nodes:
    sync-wft-by-params:
      children:
      - sync-wft-by-params-794660955
      displayName: sync-wft-by-params
      finishedAt: null
      id: sync-wft-by-params
      name: sync-wft-by-params
      phase: Running
      progress: 0/1
      startedAt: "2021-11-30T17:22:32Z"
      templateName: main
      templateScope: local/sync-wft-by-params
      type: Steps
    sync-wft-by-params-794660955:
      boundaryID: sync-wft-by-params
      children:
      - sync-wft-by-params-2114540733
      - sync-wft-by-params-2064207876
      displayName: '[0]'
      finishedAt: null
      id: sync-wft-by-params-794660955
      name: sync-wft-by-params[0]
      phase: Running
      progress: 0/1
      startedAt: "2021-11-30T17:22:32Z"
      templateScope: local/sync-wft-by-params
      type: StepGroup
    sync-wft-by-params-2064207876:
      boundaryID: sync-wft-by-params
      displayName: main2
      finishedAt: null
      id: sync-wft-by-params-2064207876
      inputs:
        parameters:
        - name: REPO_OWNER
          value: argoproj
        - name: REPO_NAME
          value: argo-workflows
        - name: GIT_BRANCH
          value: master
      message: 'Waiting for argo/ConfigMap/sync-config/workflow?repoName=argoproj/argo-workflows&branch=master
        lock. Lock status: 0/1 '
      name: sync-wft-by-params[0].main2
      phase: Pending
      startedAt: "2021-11-30T17:22:32Z"
      synchronizationStatus:
        waiting: argo/ConfigMap/sync-config/workflow?repoName=argoproj/argo-workflows&branch=master
      templateName: sync-by-params
      templateScope: local/sync-wft-by-params
      type: Pod
    sync-wft-by-params-2114540733:
      boundaryID: sync-wft-by-params
      displayName: main1
      finishedAt: null
      hostNodeName: k3d-argo-workflows-sandbox-server-0
      id: sync-wft-by-params-2114540733
      inputs:
        parameters:
        - name: REPO_OWNER
          value: argoproj
        - name: REPO_NAME
          value: argo-workflows
        - name: GIT_BRANCH
          value: master
      name: sync-wft-by-params[0].main1
      phase: Running
      progress: 0/1
      startedAt: "2021-11-30T17:22:32Z"
      templateName: sync-by-params
      templateScope: local/sync-wft-by-params
      type: Pod
  phase: Running
  progress: 0/1
  startedAt: "2021-11-30T17:22:32Z"
  synchronization:
    semaphore:
      holding:
      - holders:
        - sync-wft-by-params-2114540733
        semaphore: argo/ConfigMap/sync-config/workflow?repoName=argoproj/argo-workflows&branch=master
      waiting:
      - holders:
        - argo/sync-wft-by-params/sync-wft-by-params-2114540733
        semaphore: argo/ConfigMap/sync-config/workflow?repoName=argoproj/argo-workflows&branch=master

Rather than adding specific support for label selectors and parameter support in semaphores, I feel we should leverage our existing parameter substitution feature and enhance the semaphore feature to meet the requirements of the use case. The syntax I am proposing is:
    - name: sync-by-params
      inputs:
        parameters:
          - name: REPO_OWNER
          - name: REPO_NAME
          - name: GIT_BRANCH
      synchronization:
        semaphore:
          configMapKeyRef:
            name: my-config
            key: workflow-"{{ inputs.parameters.REPO_OWNER }}/{{ inputs.parameters.REPO_NAME }}/{{ inputs.parameters.GIT_BRANCH }}"
            sizeKey: my-semaphore-size  # an independent reference to a ConfigMap key containing a numeric value which get's synced to the normal semaphore key.

The changes we would need would be:

Introduce a sizeKey field. This is a numeric value which would get synchronized to the dynamic/parameterized key
auto create the semaphore key if it does not exist

@denis-codefresh I like the @jessesuen proposal.  We should make sure if sizekey is not present then. it should work as existing call flow to support the backward compatibility.

@jessesuen Thanks for sharing your thoughts here. I understood your idea but there are some points that I disagree with:

During the weekly sync, you said that you would like to see the semaphore keys updated (according to the chosen synchronization “selectors”) inside of the config map. I personally don’t see a value in this kind of observability. In config map we store the configured “weigth” of semaphore, not the current. So to understand the live state of locks and see how many holders it has, user still needs to go through the workflows and see what locking keys they are holding.
What is more crucial is that with this approach we need to update config map that was created BY USER, not by argo-workflows. It completely ruins the GitOps approach that might be taken to deploy argo workflows to the cluster.
Not a big deal, but IMHO it’s nice to have the separation between the config map key and sync “selectors” in the manifest. It looks more clear for me and makes the configuration more transparent. + it also utilises the same parameter substitution feature.

And I also thought about the "bucket" approach that @alexec has suggested. The one that we currently use to control ns/cluster parallelism.
I took a look at the current parallelism implementation and yes, it can be used for this purpose, but I don’t see any pros or cons in comparison with the synchronization mechanism.
But for me, it looks like it will be harder to implement it with a parallelism approach.
This is how I see it:

We need to introduce the new fields to workflow status to save a ref to acquired key and maintain it during the workflow lifetime.
We need to introduce new fields for workflow spec in order to configure the “bucket” size. It can’t be taken from controller config like in case with ns/cluster parallelism.
Not sure how it will overlap with existing synchronisation feature. It may be confusing to define workflow specific concurrency settings in 2 different places.
As a user I think I would like to expect “selector based” concurrency to be a part of synchronisation that I am already familiar with. The way how sync “selectors” implemented right now is fully compatible with “master” version.

And probably there are things that I missed.
Form the other hand is the implementation using synchronization that looks much more painless. We are not reinventing the wheel and utilizing the tool we already have.
Looking forward for further discussion!

@jessesuen @dinesh-rajaveeran , @sarabala1979 originally implemented this feature. Therefore, how about he works with Denis to come up with a design for this?

this would be very useful! ie argo-events is starting workflows for each message where the message contains target tablename that the workflow writes to and you want to specify max 4 parallel workflows running per tablename