OHHTTPStubs can't stub Alamofire

Swift 3, Xcode 8.2.1
I know there are a couple of issues resolved in the past regarding this, but none of the suggested solutions worked for me.  (https://github.com/AliSoftware/OHHTTPStubs/issues/126)
1.)

2.)
I don't call  Alamofire.request  at start up or in app delegate,  Alamofire.request is called after my app sends a login request.
Running following test  (login200.json is in  the test bundle)
    func testExample() {
        stub(condition: isHost("*********")) { request in
            return OHHTTPStubsResponse(
                fileAtPath: OHPathForFile("login200.json", type(of: self))!,
                statusCode: 200,
                headers: ["Content-Type":"application/json"]
            )
        }

        let expect = expectation(description: "Alamofire")

        LoginREST.loginWith(username: "dontmatter", password: "dontmatter") { (success, errorMessage) in
            if success == true
            {
                expect.fulfill()
            }
            else
            {
                XCTAssertNil(errorMessage, "Login error \(errorMessage)")
            }
        }

        waitForExpectations(timeout: 5.0, handler: nil)
    }

LoginREST class is
class LoginREST{

    class func loginWith(username: String, password: String,
                   completionClosure: @escaping (_ isSuccesfull :Bool , _ error :String) ->())
    {
        let parameters: Parameters = [
            "type": "password",
            "username": username,
            "password": password
        ]

        Alamofire.request(******, method: .post, parameters: parameters).validate()
            .validate(contentType: ["application/json"])
            .responseJSON() { response in
                switch response.result {

                case .success:
                    //debug print
                    if ProcessInfo.processInfo.environment["XCTestConfigurationFilePath"] == nil {
                        // Code only executes when tests are running
                        print("Validation Successful")
                    }

                    completionClosure(true,"")

                case .failure(let error):
                    // handle errors (including `validate` errors) here
                    print(error)
                    if let statusCode = response.response?.statusCode {
                        if statusCode == 401 {
                            print("yall")
                        }
                    }
                    completionClosure(false,"Invalid email and password combination")
                }
            }

I get
responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(401))

Obviously because of username: "dontmatter", password: "dontmatter" it sends and receives the actual response...
3.) I have added OHHTTPStubs to main project too (which I think is a terrible approach but it didn't solve the problem)
I think OHHTTPStubs is definitely getting called before any Alamofire. inits or requests

Could you try the same request without Alamofire to check if it's related to Alamofire or not?
Could you put breakpoints in the Alamofire code when the URLSession is created and one when OHHTTPStubs does list and do the swizzling to check the order when they are called?
Or just right before performing what you think is your first Alamofire request, check at that point the Alamofire's own URLSession's .configuration.protocolClasses If it contains the OHHTTPStubs protocol
Also could you check if OHHTTPStubs is just not installed or if it's installed but your condition to stub your requests is wrong? For example maybe you used a condition of isHost("http://example.com/") (which is not a host string anyway) instead of isHost("example.com").
You could for example replace your condition with a block always returning true, so it would stub all requests… and check with a breakpoint if the stub is called in that case. If that's the case that means the condition you use is incorrect.

I feel so dumb, you were right, Alamofire is fired before OHHTTPStubs, I missed a piece of code that runs to get app configs from the server before the login... My bad....
Thanks for the quick reply

Cool that you found the source, thanks for taking the time to reply and close! 👍


Return empty configuration from cloud observer

This was returning the previous config, which means when we vendor it into KCMO, the config can never be removed.
The intention was to return an empty configuration.

/cherry-pick release-4.16


Add note about DB performance to LDAP docs

The nature of LDAP syncs can put significant load on a database server. To let customers know we should add a note like this to the LDAP Sync Interval configuration docs

Note: Because LDAP syncs cause a large number of database read queries you should monitor database load during a sync to determine how often these syncs should happen in your environment.

Thanks, @icelander! Would you be open to adding the update to the doc?

@justinegeffen is this issue available?

It is, @yash2189! You're welcome to take it. :)

@justinegeffen one of my PR in mattermost-docs is yet to be reviewed , since I can't delete my existing repository is it fine if I raise a PR from the same repository?

@justinegeffen can you please review my PR #4027 ?
Thanks.

There shouldn't be any issues with opening a new PR from your forked repo as it's a separate file, although I stand corrected on that. The PR you previously submitted is awaiting review which may take a day or so but it has had an editorial review already. And I have reviewed your most recent PR as well. Thank you for your contributions and enthusiasm! :)

Thanks @justinegeffen for providing the opportunity :)


Add doc strings to snforge init template

I am open to any changes.

@cptartur In the code? Seems a bit excessive, we don't really have comments instructing to run scarb build or snforge test either.

@cptartur In the code? Seems a bit excessive, we don't really have comments instructing to run scarb build or snforge test either.

Right, but maybe a comment like that would improve the discoverability of scarb doc? Alternatively this could be mentioned somewhere else, maybe we should generate a README.md file with some commands?

@cptartur

maybe a comment like that would improve the discoverability of scarb doc

I am a bit afraid this is a rabbit hole 😓
We have a lot of cool futures, why not promote them all?

@cptartur

maybe a comment like that would improve the discoverability of scarb doc

I am a bit afraid this is a rabbit hole 😓 We have a lot of cool futures, why not promote them all?

I guess we can think about promoting them better if/when we implement forge cheatsheet. Good to merge for now.


Delete macOS triple hardcode

On macOS hostTriple hardcoded as x86_64-apple-macosx which may not reflect the real host triple. As far as I understand the latest Xcode version are shipped with -print-target-info compatible compiler which allows to get rid of this FIXME
Motivation:
Xcode ships with necessary -print-target-info option
Cleanup of small FIXME and misleading hardcoded value
Modifications:
Make a call to swift compiler on macOS to retrieve the triple information
Result:
macOS triple now reflects real value received from swift compiler

@swift-ci smoke test

@swift-ci smoke test

@swift-ci test windows

@MaxDesiatov seems like you may merge it now


[feat] Add .tar.zst support for Linux bulilds

Describe the problem
Currently on linux tauri builds appimage and .deb
It would be great to also have tar.zst compiled after the .deb and then finally the appimage.
Describe the solution you'd like
Build a .tar.zst
Alternatives considered
I use debtap to convert .deb into tar.zst each time building the app.
Additional context
None.

Sounds like https://github.com/tauri-apps/tauri/pull/4301 (and therefore https://github.com/tauri-apps/tauri/issues/3728), right?

Correct. So it's in progress I believe?

Yeah it'll be available as soon as it's audited.


Use schema to determine if we should camel case field names

This PR introduces a new configuration parameter to Schema, right now it only supports disabling camel casing, like so:
@strawberry.type
class Query:
    example_field: str = "Example"

schema = strawberry.Schema(
    query=Query, config=StrawberryConfig(auto_camel_case=True)
)

I've decided to make it a dataclass to make it easier to instantiate directly. We can change it to a normal class if that's preferred :)
To make the auto_camel_case work I need to introduce a GraphQLNameMixin class that adds a get_graphql_name(auto_camel_case: bool) method. This mixin is used in both StrawberryField and StrawberryArgument.
The get_graphql_name method is used in arguments (when converting the argument) and in the schema converter when creating the schema. If there's a graphql_name passed explicitly (like in strawberry.field(name="aName") that will be used, otherwise we use the python_name and convert it to camel case if the option is enabled.
Maybe in future we will get rid of the mixin as the logic for converting arguments could be moved away from arguments.py but I didn't want to move that away in this PR.
TODO: docs, but it is ready to review
Closes #542
Closes #850
Closes #1045
Closes #1016
Closes #1013

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)


Hugo extended BuildDate shows as unknown on Windows 10

Here's a minor bug.
I use hugo v0.74.3 and hugo extended v0.74.3 on Windows 10 64 Bit.
When I execute the version subcommand, I get the following output.

C:\Test> C:\Test\hugo_0.74.3_Windows-64bit\hugo.exe version
Hugo Static Site Generator v0.74.3-DA0437B4 windows/amd64 BuildDate: 2020-07-23T16:23:30Z

C:\Test> "C:\Test\hugo_extended_0.74.3_Windows-64bit\hugo.exe version
Hugo Static Site Generator v0.74.3/extended windows/amd64 BuildDate: unknown

We see that the regular version of Hugo shows a reasonable BuildDate, but the extended version of Hugo shows BuildDate: unknown.
Maybe you want to look into this.
As far as I know, v0.74.3 is currently the latest release of Hugo.
Thank you.

Unable to reproduce with v0.83.1.
hugo v0.83.1-5AFE0A57+extended windows/amd64 BuildDate=2021-05-02T14:38:05Z VendorInfo=gohugoio


feat(manager): add write key and validation

some description

I used sync.pool because allocating and freeing objects with high frequency can be relatively expensive. a common technique for improving performance is re-using memory.
sync.Pool is a thread-safe cache for re-using allocations.

I did everything that was said


Remove immutable in teams 2 - convert rest of fields

No more immutable in teams store 🎉.
cc @keybase/y2ksquad

Thanks @chrisnojima, made changed PTAL

@chrisnojima 🙇 made changes PTAL


Drop-down Permission Manager

Is your feature request related to a problem? Please describe.
Changing User permissions are weird as you just click the permission you currently have and if the server is far away like in my scenario you have to wait a couple of seconds for it to even load what you did and there is clear show of what role you changed them to.
Describe the solution you'd like
Change the permission changer to a drop-down selector.
Describe alternatives you've considered
A sound / vibration when the user changes the permission.
Additional context
It's just really weird because I get no response or confirmation to what I've changed it to nor that it's happened.

My bad I forgot to add the Label for enhancement.


Provide NXP SIG verify @ TAG KIT

Now fake NTAG215 Tags were found more in the market.
Please add "Verify UID signature" in this "TAG KIT".
It will be great helpful for makers.

@srluo good idea, will do!


Feature/asyncio

Omitted await
removed some requirements

Coverage remained the same at 25.753% when pulling 5f887d8a38cba4d1b982bab41a1825fd6e858fea on slazarov:feature/asyncio into 185b307aad5a1e6ffaad15c22a23a10cf334e538 on sammchardy:feature/asyncio.

Thanks @slazarov I need to work out how I'm going to release the asyncio version.
I still want to keep the websocket implementation for python2.7 as many people are using it.
I did implement a custom release option on python-idx to add particular features and requirements for python3.5+ but may need to create a separate repo for this version...
For now, can you separate code fixes from setup.py/requirements changes thanks.

Will do, best.


support embed urls

cancel this if you want. (my issue tickets are nearly always just ideas i think you might like which you can take up if you want)
Allow to attach soundcloud URLS to a model: https://tonehunt.org/servusjon/61e9d2a4-8c76-4a72-aee1-d29bd9b2ce95

youtube links too

I like the idea of supporting both audio and video URLs.
If the audio URL is SoundCloud it could embed.
If the video URL is YouTube it could embed.
Or if they are files they could be browser players.
I like the idea, will think how it can be added.


Cannot start msfconsole with cask metasploit

Please note that we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

[ ] are reporting a bug others will be able to reproduce and not asking a question. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh
[ ] ran a brew command and reproduced the problem with multiple formulae? If it's a problem with a single, official formula (not cask) please file this issue at Homebrew/homebrew-core: https://github.com/Homebrew/homebrew-core/issues/new/choose. If it's a brew cask problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
[ ] ran brew update and can still reproduce the problem?
[ ] ran brew doctor, fixed all issues and can still reproduce the problem?
[ ] ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)

install metaspolit
brew cask install metasploit (ok)
start msfconsole
msfconsole (bad)

What happened (include command output)

Command output

0:28:19 zhou [~] ✓ msfconsole
Traceback (most recent call last):
53: from /opt/metasploit-framework/bin/../embedded/framework/msfconsole:48:in <main>' 	52: from /opt/metasploit-framework/bin/../embedded/framework/msfconsole:48:in require'
51: from /opt/metasploit-framework/embedded/framework/lib/msf/core/payload_generator.rb:2:in <top (required)>' 	50: from /opt/metasploit-framework/embedded/framework/lib/msf/core/payload_generator.rb:2:in require'
49: from /opt/metasploit-framework/embedded/framework/lib/msf/core/payload/apk.rb:3:in <top (required)>' 	48: from /opt/metasploit-framework/embedded/framework/lib/msf/core/payload/apk.rb:3:in require'
47: from /opt/metasploit-framework/embedded/framework/lib/msf/core.rb:67:in <top (required)>' 	46: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in require'
45: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in load_dependency' 	44: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in block in require'
43: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require_with_backports' 	42: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require'
41: from /opt/metasploit-framework/embedded/framework/lib/msf/core/auxiliary.rb:4:in <top (required)>' 	40: from /opt/metasploit-framework/embedded/framework/lib/msf/core/auxiliary.rb:14:in module:Msf'
39: from /opt/metasploit-framework/embedded/framework/lib/msf/core/auxiliary.rb:16:in <class:Auxiliary>' 	38: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in require'
37: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in load_dependency' 	36: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in block in require'
35: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require_with_backports' 	34: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require'
33: from /opt/metasploit-framework/embedded/framework/lib/msf/core/auxiliary/mixins.rb:28:in <top (required)>' 	32: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in require'
31: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in load_dependency' 	30: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in block in require'
29: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require_with_backports' 	28: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require'
27: from /opt/metasploit-framework/embedded/framework/lib/msf/core/auxiliary/mqtt.rb:3:in <top (required)>' 	26: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in require'
25: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in load_dependency' 	24: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in block in require'
23: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require_with_backports' 	22: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require'
21: from /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit.rb:5:in <top (required)>' 	20: from /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit.rb:30:in module:Msf'
19: from /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit.rb:289:in <class:Exploit>' 	18: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in require'
17: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in load_dependency' 	16: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in block in require'
15: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require_with_backports' 	14: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require'
13: from /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit/mixins.rb:115:in <top (required)>' 	12: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in require'
11: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in load_dependency' 	10: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in block in require'
9: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require_with_backports' 	 8: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require'
7: from /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit/remote/browser_exploit_server.rb:23:in <top (required)>' 	 6: from /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit/remote/browser_exploit_server.rb:24:in module:Msf'
5: from /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit/remote/browser_exploit_server.rb:28:in <module:BrowserExploitServer>' 	 4: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in require'
3: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in load_dependency' 	 2: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in block in require'
1: from /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require_with_backports' /opt/metasploit-framework/embedded/lib/ruby/gems/2.6.0/gems/backports-3.15.0/lib/backports/std_lib.rb:9:in require': cannot load such file -- msf/core/exploit/http/server/html (LoadError)

What you expected to happen

Step-by-step reproduction instructions (by running brew commands)

From the issue template:

Please note that we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information.


Convert a Future to a series of AsyncSnapshot's outside of the widget tree

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
(I'll use Future for most of my examples throughout this feature request, though all this applies roughly the same to Stream)
A super common pattern (ex: AsyncNotifierProvider from Riverpod) is to fetch/initialize a controller asynchronously, store it in your SM, and then subscribe to it from a bunch of different places in your widget tree. Right now this is a hassle because Future does not expose synchronous state so each widget subtree that needs to bind to the async work has to use a FutureBuilder which is non ideal because:

It's highly verbose
It's tied to the widget tree so it doesn't let me access the current state of the async work purely from within my state management system
It causes a first frame "flash" of the initial data/no data state when a FutureBuilder is initialized with a Future that has already completed. See details: https://github.com/flutter/flutter/blob/5b47fef613e2d74ae44e1e22c2a3495294db180e/packages/flutter/lib/src/widgets/async.dart#L467

I can write my own custom logic within my state management to "bind" my controller to async work and expose the current state of the async work as an AsyncSnapshot (or equivalent) but I've now just reimplemented FutureBuilder's internal state machine. It's tedious to do this and really easy to introduce bugs.
Here's an example of reimplementing the snapshot state machine for streams from a controller:
https://github.com/alesalv/flutter_arch_comp/blob/43c8d89d4ebcfd314269d8e8af11745d5203a39b/lib/src/pokemon/controllers/pokemon_controller.dart#L15
Note the _onData etc methods that are more or less just one-off reimplementations of the AsyncSnapshot state machine in StreamBuilder.
RXDart solves this problem for Streams and Riverpod/other third party SM systems have their own custom controller class special cases to handle async initialization. The biggest problem here (beyond the downsides of requiring third party solutions to core needs) is that the packages don't implement a common interface, so different third party solutions are not inter-compatible.
Proposal
Expose a pure-dart listenable class that "binds" to a Future (and an equivalent for Stream) and exposes it's current state as an AsyncSnapshot.
Internally, the snapshot state machine logic in Future/StreamBuilder could be replaced with a listenable builder on top of this new class. Or, ideally, Future/StreamBuilder could be refactored to take in this class instead of Future/Stream respectively. This has the advantage of encouraging the developer to bind to the async work in their state management and thus avoid the "single frame flash" issue that comes from re-initializing a builder on async work that has already received data.
To give an idea of what this could look like, here's my proof of concept (emphasis on PoC, no promises that this is the ideal implementation and/or free of bugs):
class AsyncValueListenable<T> extends ValueListenable<AsyncSnapshot<T>>
    with ChangeNotifier {
  AsyncValueListenable(this._future)
      : _snap = const AsyncSnapshot.waiting(),
        _stream = null {
    unawaited(_subscribeToFuture());
  }

  AsyncValueListenable.fromStream(Stream<T> stream)
      : _snap = const AsyncSnapshot.waiting(),
        _future = null,
        _stream = stream {
    _subscribeToStream();
  }

  final Future<T>? _future;

  final Stream<T>? _stream;

  AsyncSnapshot<T> _snap;

  @override
  AsyncSnapshot<T> get value => _snap;

  T get requireValue => _snap.requireData;

  void _onStreamData(T event) {
    _setSnap(AsyncSnapshot.withData(ConnectionState.active, event));
  }

  Future<void> _subscribeToFuture() async {

    await _future!.then((data) {
      _setSnap(AsyncSnapshot.withData(ConnectionState.done, data));
    }).onError((error, stackTrace) {
      _setSnap(AsyncSnapshot.withError(ConnectionState.done, error));
    });
  }

  void _subscribeToStream() {
    _setSnap(_snap.inState(ConnectionState.waiting));
    _stream!.listen(_onStreamData, onError: (error, stackTrace) {
      _setSnap(AsyncSnapshot.withError(ConnectionState.done, error));
    }).onDone(() {
      _setSnap(_snap.inState(ConnectionState.done));
    });
  }

  void _setSnap(AsyncSnapshot<T> newSnap) {
    _snap = newSnap;
    notifyListeners();
  }
}

extension FutureNotifier<T> on Future<T> {
  AsyncValueListenable<T> asAsyncListenable() {
    return AsyncValueListenable(this);
  }
}

Now I can hold an AsyncValueListenable in my state and build off of it anywhere in my widget tree that has access to that state. Also, other parts of my state management system (eg callbacks outside of the widget tree) can synchronously access the current state of the async work via the async snapshot interface:
  // Somewhere in state-eg `initState` or a `provider`...
  final AsyncValueListenable myAsyncController = asyncGetController().asAsyncListenable();
  ...
  // In build.
  return ValueListenableBuilder(
    valueListenable: myState.myAsyncController,
    // Error, waiting, etc handling goes here.
    builder: (context, snap, child) { ... },
  );
  ...
  // In some callback where I know there's valid data.
  void myCallback() {
    doStuff(myState.myAsyncController.requirevalue);
  }

Note that this proposal plays very nicely with my similar proposal to add BuildContext.dependOnValueListenable( ... ):
https://github.com/flutter/flutter/issues/135050
Combined, these two issues would dramatically reduce verbosity and improve readability for a very common use-pattern.

I like this idea. Some improvements that came up in my head while looking at it:

we obviously need to fixup the variable names and docs for it
a sealed class with two implementers, one for Future and one for Stream would clean up some redundant stuff in either implementation

The problems identified are very real and the solution looks reasonable.
Is there any way to compose multiple of these reactive objects into new reactive objects? Think asyncMap, flatMap, and CombineLatestStream.combineN from rxdart

In my app, I have asyncMap /asyncExpand as extensions on ValueNotifier<AsyncSnapshot<T>> and map/expand as extensions on ValueNotifier<T>.
IMO this should be included in the Flutter framework as well (with or without this issue going in), but I didn't include it because I'm trying to die on only one hill at a time here 😉

This would solve a problem we are having as well trying to manage HTTP POST requests with hooks. About to reinvent the wheel with the code at the top 👍

Note that AsyncSnapshot and the proposed AsyncValueListenable are both great candidates for pulling out of the Flutter SDK so they can be used from pure Dart contexts. See following for the related conversation on pulling listenables out of Flutter:
https://github.com/dart-lang/sdk/issues/55816


Add topical event latest documents section

This adds a 'latest' documents section to the topical events page, which displays the latest documents (of any type) linked to the topical collection.

Collections Rendering
Whitehall Rendering

Trello card
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Looks ok but just a small suggestion on whether the 74 file commit could be broken down into smaller commits at all?

Looks ok but just a small suggestion on whether the 74 file commit could be broken down into smaller commits at all?

Hey @chao-xian thanks for having a look!
The vast majority of the 74 files are locale files that needed updating with default values. We could do this as part of a separate commit, but they're logically part of the changes from the other commit. I'm not sure the commits would make sense individually, and I think the actual logic changes in this PR are relatively small, just that we need to add default values in ~70 locale files in order to add a translation for one bit of the PR.
But happy to break this up if you think it makes sense 😄

Ah ok - might be worth adding that as part of the commit message to explain why. That's just a small suggestion but otherwise yeah that makes sense! 👍


Updated hyperlinks in README

maybe also consider opening the wiki and migrate https://github.com/Microsoft/UnitTestBoilerplateGenerator/wiki/Custom-Format-Tokens

Thanks!

Migrated the wiki as well.


Stake locks extracted out of TokenStaking into a library

This change allows us to save some bytecode space in TokenStaking for top-ups implementation. The contract size went down from 24926 to 22409 (-2517 bytes).
I have also introduced initTokenStaking function in initContracts.js to keep the details about TokenStaking library linking and deployment there and not pollute every unit test with the same logic.
Last but not least, LockUtils library has been moved to sit next to Locks library.

const TokenStaking = artifacts.require("TokenStaking.sol");

module.exports = async function() {
    let instance = await TokenStaking.deployed();

    let bytecode = instance.constructor._json.bytecode;
    let deployedBytecode = instance.constructor._json.deployedBytecode;

    let bytecodeSize = bytecode.length / 2; // size in bytes
    let deployedBytecodeSize = deployedBytecode.length / 2; // size in bytes

    console.log(
      "TokenStaking size of bytecode in bytes = ",
      bytecodeSize
    );
    console.log(
      "TokenStaking size of deployed bytecode in bytes = ",
      deployedBytecodeSize
    );
    console.log(
      "TokenStaking initialization and constructor code in bytes = ",
      bytecodeSize - deployedBytecodeSize
    );
}

Before:
TokenStaking size of bytecode in bytes =  24926
TokenStaking size of deployed bytecode in bytes =  24434
TokenStaking initialization and constructor code in bytes =  492

After:
TokenStaking size of bytecode in bytes =  22409
TokenStaking size of deployed bytecode in bytes =  21919
TokenStaking initialization and constructor code in bytes =  490


Getting started with the VS Code extension

It would be nice if we would have a welcome screen for the VS Code extension. Otherwise, a user does probably not know what to do with it. So we need to define a series of steps for implementing something similar to:
https://github.com/microsoft/vscode-extension-samples/tree/main/getting-started-sample
Possible steps could be:

Create new Hyperbook aka. run command hyperbook.new
Edit index.md in the folder book
Create new page in the book folder
Insert a snippet
Change the frontmatter of the new page
Done

Maybe we also should add steps about syncing the Hyperbook to a git remote and triggering the pipeline.

For other common operations like adding a logo, changing the brand color etc. we should create videos and add a guide to the documentation.


run sudo commands as root

devin user can't run sudo commands which prevent it from installing software like nodejs
rather than install the sudo binary and modifying visudo file, i thought we could just do this
alternatively we could just default the docker user as root?

This seems like it might be a little unreliable. E.g. the command could be echo 'y' | sudo apt-get install foo
There are also sometimes problems with running one command as sudo, then trying to use the result as a regular user. E.g. file ownership might be wrong.
Curious what others think--making devin a sudoer might be a more reliable way to do this. But you're right on the password requirement...

That's a good point. I think including sudo in the docker image is the way to go. Regarding passwords, there's a NOPASSWD config for visudo that we will can use

We can probably tweak the sandbox's dockerfile to make the devin user into the sudoer's group, then apply the NOPASSWD config? Not sure allowing devin user to have access to sudo will have any unintended consequences (e.g., devin creates root files in the mount directly where the outside human user cannot read).

Only issue with sudo is that the container uses the same userspace as the host system (IIUC), so that if there were a bug allowing devin to escape the container, he'd have root on the host system. But that would involve:

A Docker bug allowing container escape it happens!
An attacker getting OpenDevin to execute malicious code

Only issue with sudo is that the container uses the same userspace as the host system (IIUC), so that if there were a bug allowing devin to escape the container, he'd have root on the host system.

How about using user namespace with re-mapping? https://docs.docker.com/engine/security/userns-remap/

Looks promising!
Honestly I think near-term it's fine to run as sudo, if that improves quality. But we should have a long-term issue open to figure this out.

Sounds like we should abandon this one, and maybe turn off RUN_AS_DEVIN for everyone


Present all redirects consistently

This PR ensures that all redirects in publishing api are treat consistently in terms of how they are presented downstream.
Context
Redirects can be represented in publishing api in one of two ways:

As an unpublished edition, with an unpublishing record with a type of 'redirect'. These result from an 'unpublish' request to publishing api.
As a published edition, with a schema name and document type of 'redirect'. These result from a 'put content' request to publishing api.

We think that there is a use case for both, with 1) primarily being for pieces of content that were previously live on gov.uk and now redirected, and 2) being for urls that were never pieces of content on gov.uk, but where we want to ensure a redirect occurs. In practice, we think we have a lot of cases of 2) which should in fact be 1), because publishing apps call publishing api inconsistently in the case of redirects.
While both result in the same behaviour on gov.uk i.e. a redirected page, they are treated inconsistently in publishing api, which determines the presenter to use to represent the edition downstream (to content store and to the rabbit mq queues) based on whether it is unpublished or not. This means that for redirects that fall into the second category, we treat them as normal bits of live content. This ends up writing content which fails schema validation.
What's the impact of the current situation / what are we fixing
This schema validation does not stop anything from being published, but it does result in us logging errors (this is how this was originally noticed) - see this example. Additionally, having content in a state that doesn't match what we say about it in schemas is confusing.
Considerations with this PR for the reviewer
I think this change will not cause issues. One thing I did think about was whether we'd lose any important information from switching some content items from the edition presenter to the more sparse redirect presenter.
Here's an example of a published redirect content item: https://www.gov.uk/api/content/topic/immigration-operational-guidance
Here's an example of an unpublished redirect content item:
https://www.gov.uk/api/content/guidance/apply-to-join-the-physics-itt-for-engineers-pilot
Looking at these two specific examples, it looks like we're not going to be losing any useful information by switching the presenter - we lose links, but this is good since they don't exist in the schema and don't make sense for a redirect. I've added in the first published at date in this PR in case useful for metadata on the redirect, but it's not strictly necessary.
So I think this is all OK, but would welcome any thoughts about unintended consequences.
Trello
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
This application is owned by the publishing platform team. Please let us know in #govuk-publishing-platform when you raise any PRs.
Follow these steps if you are doing a Rails upgrade.

I think this change will not cause issues. One thing I did think about was whether we'd lose any important information from switching some content items from the edition presenter to the more sparse redirect presenter.
Here's an example of a published redirect content item: https://www.gov.uk/api/content/topic/immigration-operational-guidance Here's an example of an unpublished redirect content item: https://www.gov.uk/api/content/guidance/apply-to-join-the-physics-itt-for-engineers-pilot
Looking at these two specific examples, it looks like we're not going to be losing any useful information by switching the presenter - we lose links, but this is good since they don't exist in the schema and don't make sense for a redirect. I've added in the first published at date in this PR in case useful for metadata on the redirect, but it's not strictly necessary.

I agree.  I can't see anything that would break as I can't see the links actually being used anywhere.


Segmentation fault when calling create_input_vcf through API or CLI

Dear sbslee,
When I try to use create_input_vcf function the program crashes with 'Segmentation fault'. I have tried the API in Python and just CLI, both with standard parameters and an own test bam and reference fasta. This also happens when calling this function in the GeT-RM WGS tutorial of your documentation. Is there a way to figure out what the actual underlying problem could be here? Many Thanks!
>>> pypgx.api.utils.create_input_vcf(out_vcf, fasta, bams, assembly='GRCh37', genes=None, exclude=False, dir_path=None, max_depth=250) Segmentation fault
$ pypgx create-input-vcf out.vcf.gz bwa06_1KGRef_PhiX/hs37d5_PhiX.fa blood_*_merged.mdup.bam Segmentation fault
$ pypgx create-input-vcf grch37-variants.vcf.gz genome.fa grch37-bam/*.bam Segmentation fault

@sebapir,
Thanks for the question. Can you show me the output of the command $ conda list? I need to see the list of packages installed in your conda environment and their versions.
I believe this issue is caused because you're currently using an outdated version of the pysam package. For details, please see this bug report I raised to the pysam developers. The latest version contains the fix for the issue. Therefore, please make sure you are using the latest version for each of the required packages.

Please reopen it if the problem persists after reinstalling.

Updating pysam to the latest version worked. Thank you!


Bump the version for 1.3.2 opensearch-dashboards release

Is your feature request related to a problem?
Post Release activity https://github.com/opensearch-project/opensearch-build/issues/1885 -
We need to bump the version for 1.3.2 in 1.x and 1.3 branches for 1.3.2 releases wrt to the release issue - https://github.com/opensearch-project/opensearch-build/issues/1882
ETA - 04/14/2022

Please help close this issue as #231 was merged.

Closing this issue https://github.com/opensearch-project/alerting-dashboards-plugin/pull/231 has been merged.


'React/RCTBridgeDelegate.h' file not found

Description
I'm trying to run my project on xcode/yarn ios but I get an error of not finding 'React/RCTBridgeDelegate.h'
Steps to reproduce
yarn
cd ios
pod deintegrate
pod install
try yarn ios
React Native Version
0.72
Affected Platforms
Runtime - iOS
Output of npx react-native info
System:
  OS: macOS 14.5
  CPU: (8) arm64 Apple M1
  Memory: 150.69 MB / 8.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.19.0
    path: ~/.nvm/versions/node/v18.19.0/bin/node
  Yarn:
    version: 1.22.19
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.2.3
    path: ~/.nvm/versions/node/v18.19.0/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.3
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.4
      - iOS 17.4
      - macOS 14.4
      - tvOS 17.4
      - visionOS 1.1
      - watchOS 10.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2023.1 AI-231.9392.1.2311.11330709
  Xcode:
    version: 15.3/15E204a
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.21
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native: Not Found
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: false
  newArchEnabled: false

Stacktrace or Logs
x

Reproducer
x
Screenshots and Videos

React native version 0.72
node 18.19.0

Duplicates https://github.com/facebook/react-native/issues/35831


Same error in the demo site: get "x.x.x.x:8080 says Error: Network Error"

Can someone look at the this issue("https://github.com/cdqa-suite/cdQA-ui/issues/11")?  Same error showing up in the demo site("https://cdqa-suite.github.io/cdQA-website/#demo") as well, FYI, thanks!

Closing the issue here, as the discussion is being done on cdqa-suite/cdQA-ui#11


OSX build from source

I am trying to build clingo from source on Early 2015 Macbook Pro with MacOS High Sierra 10.13.5.
After downloading the code and updating submodules, I can create the build configuration with
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release. When I run cmake --build build, I encounter with this error:
[ 12%] Built target libpotassco
[ 14%] Built target lpconvert
[ 42%] Built target libclasp
[ 44%] Built target clasp
[ 46%] Built target libreify
[ 47%] Building CXX object libgringo/CMakeFiles/libgringo.dir/src/ground/instantiation.cc.o
In file included from /home/bozkurth/work/clingo/libgringo/gringo/output/statements.hh:29:0,
from /home/bozkurth/work/clingo/libgringo/gringo/output/output.hh:29,
from /home/bozkurth/work/clingo/libgringo/src/ground/instantiation.cc:26:
/home/bozkurth/work/clingo/libgringo/gringo/output/literals.hh:504:22: error: function 'Gringo::Output::DisjointElement& Gringo::Output::DisjointElement::operator=(Gringo::Output::DisjointElement&&)' defaulted on its first declaration with an exception-specification that differs from the implicit declaration 'Gringo::Output::DisjointElement& Gringo::Output::DisjointElement::operator=(Gringo::Output::DisjointElement&&)'
DisjointElement &operator=(DisjointElement &&) noexcept = default;
^
/home/bozkurth/work/clingo/libgringo/gringo/output/literals.hh:524:19: error: function 'Gringo::Output::DisjointAtom& Gringo::Output::DisjointAtom::operator=(Gringo::Output::DisjointAtom&&)' defaulted on its first declaration with an exception-specification that differs from the implicit declaration 'Gringo::Output::DisjointAtom& Gringo::Output::DisjointAtom::operator=(Gringo::Output::DisjointAtom&&)'
DisjointAtom &operator=(DisjointAtom &&) noexcept = default;
^
libgringo/CMakeFiles/libgringo.dir/build.make:149: recipe for target 'libgringo/CMakeFiles/libgringo.dir/src/ground/instantiation.cc.o' failed
make[2]: *** [libgringo/CMakeFiles/libgringo.dir/src/ground/instantiation.cc.o] Error 1
CMakeFiles/Makefile2:473: recipe for target 'libgringo/CMakeFiles/libgringo.dir/all' failed
make[1]: *** [libgringo/CMakeFiles/libgringo.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Can't tell from the log why this is happening. My guess is that the compiler you are using is too old. When I am running cmake, I get the following:
cmake ..
-- The C compiler identification is AppleClang <IP_ADDRESS>20039
-- The CXX compiler identification is AppleClang <IP_ADDRESS>20039

Make sure your xcode installation is new enough.

I have stated the problem wrong.
The log in my first post is from my remote machine which uses Ubuntu with
cmake .. -- The C compiler identification is GNU 4.8.5 -- The CXX compiler identification is GNU 4.8.5
On my machine, I get the same output as yours:
cmake .. -- The C compiler identification is AppleClang <IP_ADDRESS>20039 -- The CXX compiler identification is AppleClang <IP_ADDRESS>20039
And the error log is:
[ 10%] Building CXX object clasp/libpotassco/src/CMakeFiles/libpotassco.dir/string_convert.cpp.o /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:58:9: error: ‘locale_t’ does not name a type  typedef locale_t my_locale_t;          ^ /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:59:8: error: ‘my_locale_t’ does not name a type  inline my_locale_t default_locale() { return newlocale(LC_ALL_MASK, "C", 0); }         ^ /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:63:2: error: ‘my_locale_t’ does not name a type   my_locale_t loc_;   ^ /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp: In destructor ‘LocaleHolder::~LocaleHolder()’: /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:62:31: error: ‘loc_’ was not declared in this scope   ~LocaleHolder() { freelocale(loc_);  }                                ^ /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:62:35: error: ‘freelocale’ was not declared in this scope   ~LocaleHolder() { freelocale(loc_);  }                                    ^ /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp: At global scope: /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:64:39: error: ‘default_locale’ was not declared in this scope  } default_locale_g = { default_locale() };                                        ^ /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp: In function ‘int Potassco::xconvert(const char*, double&, const char**, int)’: /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:230:43: error: ‘struct LocaleHolder’ has no member named ‘loc_’   out = strtod_l(x, &err, default_locale_g.loc_);                                            ^ /Users/bozkurth/Work/hiwi/clingo_swig/clingo/clasp/libpotassco/src/string_convert.cpp:230:47: error: ‘strtod_l’ was not declared in this scope   out = strtod_l(x, &err, default_locale_g.loc_);                                                ^ make[2]: *** [clasp/libpotassco/src/CMakeFiles/libpotassco.dir/string_convert.cpp.o] Error 1 make[1]: *** [clasp/libpotassco/src/CMakeFiles/libpotassco.dir/all] Error 2 make: *** [all] Error 2

You need at least gcc 4.9. I gave up supporting version 4.8 long ago.
The errors on MacOS I cannot reproduce. I have the same compiler here. Looks like something with your includes goes wrong.

One more thing that comes to my mind is that you might have to run xcode-select --install to install the latest xcode command line tools.

I am closing this because I cannot reproduce the issue. Feel free to reopen if you have more information.


Did you test CRUNet 116 face model on Megaface?

@IrvingShu Yes, we test it on Megaface challenge 1. The performance can be improved, if you interested in this architecture, you can try it once we release this MXNet version of modified CRUNet 116.

@bruinxiong how about the megaface result?


Update example to use ref instead of state for keycloak existence check

The example provided causes an infinite redirect loop, similar to the the one described here and in many other instances with keycloak and the keycloak-js module.
In the example provided the keycloak existence check on this line causes an extra render in the app, which causes keycloak to redirect infinitely.
I resolved this by creating a new ref called 'didInit' (default value of false), which i set to true alongside keycloak init. Checking for the existence of this ref instead of the 'keycloak' state-stored variable resolves the extra render, which allows keycloak to work smoothly.
If there is a preferred workaround please let me know, otherwise I advise updating the example to use a ref as I described.

Nice! Would you like to open a PR to fix the documentation?

@fzaninotto I made the changes in a branch but I don't have access to push. Not sure if it's an access thing or I just don't have my credentials correct. I don't normally have issues pushing.

You have to fork the repository first.

@ttante Could you please provide a snippet containing your changes? Sadly I also encountered the infinite loop problem

I believe I resolved the issue thanks to an awaiting pull request:
https://github.com/marmelab/ra-keycloak/pull/5

Not needed anymore with v2


Possible XSS bug

Describe the bug
Create or edit a page
Steps To Reproduce
Steps to reproduce the behavior:

create or edit a page
add some text hit enter
add malicious or even innocuous javascript
you get the pop up on save or any refresh.

Expected behavior
This should be filtered and sanitized so it doesn't actually execute.
Screenshots
Attached

Your Configuration (please complete the following information):

Exact BookStack Version (Found in settings): BookStack v0.26.2

PHP Version: 7.2.19

Hosting Method (Nginx/Apache/Docker): Apache

Additional context
I have none.

Thanks for raising this @billford. Looks like my xpath queries were a bit weak. I've applied c732970f6e19f14a1107b7429cbf387bcb7848b3 which should cover this while increasing the range of checks in tests.
I have just deployed BookStack v0.26.3 to distribute this update.
Thanks again!

I don't think this is quite fixed (but this may be meant as a feature so I'm not sure)
iframe tags in the edit page still allow for XSS style entries. Interestingly enough that works on both the preview and when you save it.  Screenshots attached

Mutated XSS works as well:
<a a=" but only in the editor function.

Thanks for the extra finds @billford. Have marked for the next release to ensure I don't forget to patch these cases but will probably tackle sooner than that.

I have just deployed v0.26.4 which adds extra escaping for iframes with JavaScript URL's. I also realised that iframes with base64 data URLs, that include script tags, could be used to fire JS so I also check for those.
I'm not as worried about the editor due to the lower frequency but I'll leave this open as a reminder to address it.

Since the MD editor display was sandboxed in 7cc17934a87714fb7a01009f8c8dc059f0577b2d I'll close this off.


Support non-git kustomize yamls

Issue
We have thousands of clusters using Flux right now and for us, it's not feasible for every cluster to hit our git repository due to git server load constraints & throttling. To solve this issue, we replicate our git servers to a gitsrv pod on each of the clusters and have Flux hit the local git endpoint. However, this solution hits a limitation where if we want different services to have different release cadences, then we need to create a local git mirror per service, which is less than ideal.
Suggested solution
Kustomize controller, like Flux, has the above limitation as it assumes the source data is a git repository (ignoring Helm as we don't use it). Would it be possible to support a source that is an external link to just the kustomize yaml? This way we can push our kustomize yamls into different (regional) storage accounts and just reference the URL from our clusters (the Kustomization resource could reference it directly even).
I know this strays away from "pure GitOps" (centralize everything in git) but was hoping to get your guys' thoughts on this. I believe other production scenarios will have similar constraints if there are many clusters being run. If supporting a Kustomize source seems reasonable, I'm happy to contribute the code!

Kustomize controller, like Flux, has the above limitation as it assumes the source data is a git repository

The kustomize-controller makes no such assumption, what it needs is an artifact with manifests that source-controller provides.

Would it be possible to support a source that is an external link to just the kustomize yaml?

I guess you are referring to the Kubernetes manifests not just a kustomization yaml. We could implement other sources in source-controller that use the S3 protocol. Instead of a Git repository, the manifests could be fetched from a bucket: Minio, AWS S3., GCB bucket, Azure blob??


UnsatisfiedLinkError

I am using this module with SDK 7.5.1.GA
Some devices with Android 8 doesn't start the app. I can see in the device logs:
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN8titanium13TypeConverter18javaLongToJsNumberEPN2v87IsolateEx" referenced by "/data/app/com.myapp-B9qzXDFh5_Fnv9ruia5JsQ==/lib/arm64/libti.inappbilling.so"
Does anyone else have this problem? How to solve it?
Is it related to this issue?
https://jira.appcelerator.org/browse/TIMOB-26871

I am surprised that no one else has this problem. Doesn't work with SDK 8.0.0 either.
Seems that something has changed with type conversion since SDK 7.5.0. As quick workaround I have changed "purchaseTime" from "long" to "int" and it works now.

You have to use Long instead of  long

ah - nice one! I think this may have only been failing for me on Android 9 and the purchaseTime fix to Long seems to have resolved it.

Hi,
I am facing the same issue. How do I download the latest version of this module?

@pritishgeorge, I attached a fixed build in a pull request here:
https://github.com/jkotchoff/ti.inappbilling/releases/tag/5.0.1

Hmm, be careful if you use the billing module I compiled - it seems to work for Android 8 but crashes on Android 7. I'm rolling my project back to Ti SDK 7.5.1.GA because this billing module just isn't working with Android using Ti SDK 8.0.1.GA.

@danny005, I am also experiencing crashes with this module in 7.5.1.GA. I'm going to roll back to 7.5.0.GA which seems to be the only Titanium SDK that supports this billing module.
For your reference, 7.5.0.GA has a critical issue with deep links so i'm not sure if there's a working appcelerator build atm that supports both deep links and in-app billing on android:
https://jira.appcelerator.org/browse/TIMOB-26625

@jkotchoff thanks for providing the updated version. Were you ever able to get it to work with Android 7? That seems to be crashing for me still, even on Titanium SDK 8.2.1. I'm wondering if anyone has solved this?


refactoring max and min, etc.

This pull request gets rid of nat.diff (which duplicated nat.dist), separates lattices from order (we will use min and max for linear orders, inf and sup for lattices), and makes nat an instance of discrete_linear_order, so it shares properties of min and max with the other number classes. It also renames some theorems involving max and min.

I almost forgot. When I ran ctest, two tests failed:
The following tests FAILED:
         23 - show_goal_bag (Failed)
        848 - leanittest_num2.input (Failed)
Errors while running CTest

The second one always fails for me, so I ignore it. But I have never seen the first one before. I found a script show_goal_bag.sh in tests/extras, but I could not figure out what to do with it. If there is something I should do, please let me know.


Update ver. 0.4 to the specification

Signed-off-by: Stephen Curran<EMAIL_ADDRESS>

An update to the specification as per #106.
Note that the names of the items in the DID Log Entry object remain long form -- versionId, versionTime, parameters, state and proof.  There was some discussion of shortening them, but I plan to do that in a subsequent commit once we can have a discussion of the names to use.  Changing them from the current names to shorter versions will be easier from this point.
To be discussed at the 2024.09.26 did:tdw meeting -- agenda here.
Feedback ahead of the meeting welcome -- anything unexpected in this?

I've now updated the examples, per the implementation from the Python version.  In theory, this is now complete.

Applied all the changes noted by @martipos and then removed the remaining instances of “item” used in the specification and related files.  I had thought that was the right term in JSON.  I’ve been using it for a while in many places, so I have now retrained myself! :-)

Added to the specification that the versionTime timestamp MUST be UTC time zone — per the suggestion in #112.


Feat(kclvm-version): change new checksum for new version.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

2. What is the scope of this PR (e.g. component or file name):
kclvm-version
3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

change check sum from "e07ed7af0d9bd1e86a3131714e4bd20c" to "c5bd1f3a5d6db8c676bafddb6e643660".
4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[x] Other

6. Release note

Please refer to Release Notes Language Style Guide to write a quality release note.
None

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
435 unchanged lines in 6 files lost coverage.
Overall coverage increased (+1.07%) to 60.502%

Files with Coverage Reduction
New Missed Lines
%

kclvm/lexer/src/lib.rs
1
78.65%

kclvm/parser/src/lexer/indent.rs
4
78.31%

kclvm/3rdparty/rustc_span/src/analyze_source_file.rs
10
75.26%

kclvm/parser/src/parser/int.rs
43
56.12%

kclvm/parser/src/lexer/mod.rs
83
81.09%

kclvm/sema/src/resolver/global.rs
294
61.42%

Totals

Change from base Build<PHONE_NUMBER>:
1.07%

Covered Lines:
20751

Relevant Lines:
34298

💛  - Coveralls


Trouble with Themes plugin

With the latest updates on Betterbags, the themes plugin not working correctly, the theme still works on the bags but without the clickable icon on the upper left corner. Also, when you open the bank there is no background with it, you just see the contents of the bank.

Fixed with this commit: https://github.com/AlexHaible/BetterBags-Themes/commit/4350de795f00d546064f583e30dee78dc86068e1
Also, Themes has it's own issue tracker. This one is for Teleporters. ;)


Added permanent discord link

Have replaced the discord links with https://discord.gg/scala (permanent link, never expires)
Fix #3590

Since this is no direct link to the group, the text should now include some instruction containing the name of the Mill group.
I also suggest, to have a "community" landing page on the Mill site, and only maintain a single discord link there.

Also, Mill now has it's own #mill channel.

Let me try updating the "dont expire" discord link one more time before we fall back to generic Scala link https://github.com/com-lihaoyi/mill/pull/3758

Superseded by https://github.com/com-lihaoyi/mill/pull/3758


Lot of untracked files pollute working directory

There are a lot of untracked files currently in the working directory and it makes it difficult to use the GUI for source controls in an IDE like IntelliJ. It is recommended to add such files to .gitignore.
cp.txt
experimentation/tools/sorald/__pycache__/
experimentation/tools/sorald/_helpers/__pycache__/
experimentation/tools/sorald/legacy/__pycache__/
experimentation/tools/soraldscripts.egg-info/
experimentation/tools/tests/__pycache__/
src/test/resources/scenario_test_files/classpath-dependent-project/spoon.classpath.tmp

I suggest just grabbing the Python and Java gitignores and putting them in our gitignore: https://github.com/github/gitignore


[dv/common] add common mem cg

Would be useful for a covergroup similar to subword_access_cg in #6720 to be located in the tl_agent_cov to provide common functional coverage collection for general memories.
This needs #6726 to be resolved first.

Reassigning to @weicaiyang as the linked task #6726 isn't quite done yet.


Add static Kind 2 binary to extern.zip

This PR includes a statically-linked Linux binary of Kind 2 to extern.zip. It does that by extracting the binary from Kind 2 DockerHub image, which is now based on Alpine Linux. This distro uses the musl C standard library which allow us to build a binary without any dynamically-linked library.

I don't mind these changes, but have you considered another approach where you change the way the release workflow builds kind2 to use the same way you build the static docker kind2 binary? Then both the macos and ubuntu binaries would be built exactly the same way as the docker kind2 binary.

Unfortunately, the technique I used here only works for the Linux platform :(
The fact that Kind 2 uses the Zmq library makes very hard to build a statically-linked binary for macOS using the OCaml compiler.

Also, I suspect the docker kind2 binary runs on only Ubuntu 21.04 or later; this workflow builds a kind2 binary that can be run on Ubuntu 20.04 LTS.

On the contrary, the whole point of this change is to make the included Kind 2 binary compatible with as many Linux distros as possible.


Restore internal hyperlinks in downloadable documents

From Lauren McNicoll,
Internal hyperlinks should be restored in the downloadable documents e.g. ‘Metals and mining’ in the table of contents should point to the corresponding para in the document

has been fixed


Can log in with password, cannot log in with ssh private key

Version: Probably <IP_ADDRESS>3 (I didn't install it)
OS/Distro: Bright Cluster Manager 7.0, Based on Scientific Linux release 6
Issue/Impact: I can log in with my username/password from AD using ssh. However, I cannot log in using ssh with a private key that is correctly stored in .ssh/authorized_keys, unless I am simultaneously already logged in using ssh on a separate connection, or have recently been logged in.
For instance, if I have left the server without logging in for a while, and try to log in using ssh with a private key, then it will fail, reliably and repeatedly. If I then log in without the private key, and use my password instead, then it will succeed. If I then try to log in using the private key, it will also succeed.
The PBIS configuration uses a RequireMembershipOf with a group that I am a member of. When logging in fails, then a message appear in /var/log/secure saying:
sshd[3179207]: [lsass-pam] [module:pam_lsass]User mw501 is denied access because they are not in the 'require membership of' list

However, I have observed this happening, while at the same time a "getent group groupname" correctly states that I am a member of the correct group. Likewise, my cron jobs all fail to run, and a message in /var/log/secure states:
crond[2577107]: [lsass-pam] [module:pam_lsass]User mw501 is denied access because they are not in the 'require membership of' list

But when I log in via ssh using my password, then my cron jobs start running again.

systemctl status lwsmd.service - This server doesn't have systemctl.

/opt/pbis/bin/lwsm list

lwreg          running (container: 1045927)
dcerpc         stopped
eventlog       running (container: 1045963)
lsass          running (container: 3759534)
lwio           running (container: 1046030)
netlogon       running (container: 1045997)
rdr            running (io: 1046030)
reapsysl       running (container: 1046114)
usermonitor    stopped

/opt/pbis/bin/domainjoin-cli query

Name = <correct server name>
Domain = <correct AD domain>
Distinguished Name = <correct DN>

pbis status - There is no "pbis" in the path.
/opt/pbis/bin/enum-users - This returns a very long list of users.
attach logs

/opt/pbis/bin/lwsm set-log-target -p lsass -  file /tmp/lsass.log
This returns:

Error: LW_ERROR_NO_SUCH_SERVICE (41204)
No service with the specified name exists

Can you post your /etc/nsswitch.conf file and your pam stack for auth?

Please upgrade to Active Directory Bridge Enterprise. If the issue still exists then please submit a ticket to our service team and we’ll have a look for you.
pbis-open will longer receive updates and will be archived. Closing all outstanding issues. Please consider BeyondTrust Active Directory Bridge for continued support.
https://www.beyondtrust.com/privilege-management/active-directory-bridge


Extract request builder

What
The operations in Objective-Cloudant have a lot of copy and paste code
used to build requests. This commit introduces a builder for the
NSURLRequest used to make the request to Cloudant. The idea is to remove
boilerplate code from the operations, in order to bring each operation
closer to the ideal of having only the code it needs and no more.
How
The builder takes a CDTCouchOperation in its constructor. The
CDTCouchOperation has been updated to expose information required to
build the HTTP request as properties. Subclasses are expected to
override these properties as required for their specific requests.
For example, all operations will override the httpPath property.
The builder reads this information into private properties at init
time which are later used to build the request.
Testing
This is a refactor; no new tests were added. We could add some tests for the new class, but I'm not sure they're necessary.
Reviewers
reviewer @rhyshort

@rhyshort I addressed your comments:

Properties made readonly in 79cf597
Moved all request properties to a protocol defining a delegate of CDTOperationRequestBuilder in bc46388 with cleanup in 747fb90.
Fixed a place where I used properties rather than ivars in an init in f896038.

+1

+1

Rewritten history, waiting for travis, then merging.


feat: supoprt check equality of schema and arrow schema

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
To support iceberg sink(#10875), we need to check the equality of schema before create the writer.
Icelake support to convert to its schema to the arrow schema, so this pr implement a function to check the equality between schema and arrow schema.

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR contains user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

FYI there is an existing mapping between our DataType and arrow as part of UDF:
https://github.com/risingwavelabs/risingwave/blob/main/src/common/src/array/arrow.rs
To sink an internal DataType into an arrow one, there are some additional questions to answer:

Is it okay to sink a Time (always microsecond as i64) into Time64(nano)?

Maybe ok, by * 1000 without overflow

Is it okay to sink a Time (always microsecond as i64) into Time64(milli or sec)?

Maybe ok, by rounding

Is it okay to sink a Time (always microsecond as i64) into Time32(milli or sec)?

Maybe ok, by rounding without overflow

Is it okay to sink a Time (always microsecond as i64) into Time32(micro or nano)?

Can overflow

Note that following the same rationale above, ingesting from a Time32(micro or nano) source is totally ok. That is, the mapping here may not be called with unidirectional words like "equality" or "similar", but directional words like from/source and into/sink.
Some other types to note:

Timestamp is equivalent to Timestamp(micro, None)
Timestamptz is equivalent to Timestamp(micro, Some("UTC")), or we can also support timezone conversion if non-UTC is given
Interval is closest to Interval(MonthDayNano) rather than Duration
Bytea to FixedSizeBinary may lead to truncation (also FixedSizeList)
Varchar can be mapped to Utf8
current dynamic scale Decimal need a static scale Decimal256(56, 28) without loss of precision. The UDF implementation is just experimental
UDF uses a trick to handle jsonb and rw_int256:

varchar is Utf8 and jsonb is LargeUtf8
decimal is Decimal128 and rw_int256 is Decimal256

FYI there is an existing mapping between our DataType and arrow as part of UDF:
https://github.com/risingwavelabs/risingwave/blob/main/src/common/src/array/arrow.rs

Thanks! We can directly reuse it.

To sink an internal DataType into an arrow one, there are some additional questions to answer:
Is it okay to sink a Time (always microsecond as i64) into Time64(nano)?
Maybe ok, by * 1000 without overflow
Is it okay to sink a Time (always microsecond as i64) into Time64(milli or sec)?
Maybe ok, by rounding
Is it okay to sink a Time (always microsecond as i64) into Time32(milli or sec)?
Maybe ok, by rounding without overflow
Is it okay to sink a Time (always microsecond as i64) into Time32(micro or nano)?
Can overflow

Good question. As you say, when we convert the internal data to arrow one, it's possible cause the data is not the same(e.g. rounding or overflow). I think we can let the user choose omit or insert the inconsistent data in this case.

Linking to the types supported by iceberg here:
https://iceberg.apache.org/docs/latest/schemas/
https://iceberg.apache.org/spec/#schemas-and-data-types
It seems the following types corresponds well: boolean, int32, int64, float32, float64, date, time, timestamp, timestamptz, string, binary, list, struct
Then some types only exists on our side:

int16 may be stored in int32 (or even int64?)
interval seems not presentable. Options: (a) report error (b) as string (c) as fixed(16) or binary
jsonb maybe as string

Some types only exists in iceberg:

fixed(L): (a) report error (b) bytea with truncation
map<K, V>: (a) report error because hstore is not supported

Similar but different type: decimal
Maybe allow sinking into any decimal(p, s), with rounding when not enough scale, and runtime overflow error / skip when not enough precision.
Example: we may have 1e28 and 1e-28 in the same column, which is impossible in iceberg

When the iceberg column is decimal(38, <=9), it can hold 1e28 but need to round 1e-28 to 0
When the iceberg column is decimal(38, >=28), it can hold 1e-28 losslessly but 1e28 would be overflow error
For scale 10..=27, it would overflow for 1e28 and round 1e-28 to 0


PS Term Mapping not working between 2013 and SPO

Category
[X] Bug
[ ] Enhancement
Problem Area
[ ] Page Transformation: Error during the setup/use of the Page Transformation UI solution (did you check our troubleshooting guide?)
[X] Page Transformation: Error during the use of page transformation from PnP PowerShell
[ ] Page Transformation: Error during the use of page transformation from .Net
[ ] Page Transformation: Page is not looking correct after transformation
[ ] Modernization Scanner: something went wrong...
Mapping not working between 2013 and SPO when specifying the mapping file.
ConvertTo-PnPClientSidePage -Identity "Quality-Cherry-Cake.aspx" -PublishingPage `
    -TargetConnection $spOnlineConn -Connection $sp13Conn `
    -Overwrite `
    -PageLayoutMapping C:\temp\Demo\custompagelayoutmapping-f3629db3-3e4d-48c4-b904-6fffab6dbb65-quality-cherry-cake.xml `
    -UserMappingFile C:\temp\Demo\usermapping.csv `
    -UrlMappingFile C:\temp\Demo\urlmapping.csv `
    -TermMappingFile C:\temp\Demo\termmapping.csv `
    -PostAsNews `
    -DisablePageComments `
    -LogType File -LogVerbose -LogFolder C:\temp\Demo\

Error: Copying taxonomy field IntranetContentCategory skipped because it's empty
Source contains data.

This was an environment glitch. Closing.


Support payjoin for automatic timelock refresh

@edouardparis mentioned receiving payjoin for automatic relative timelock refresh at Bitcoin 2023. Since payjoin enables output substitution during receipt, timelocked coins can be spent into a fresh timelock at the same time as incoming payment. The sender even subsidies the transaction fees. the rust-payjoin crate may facilitate this upgrade in Liana. A relay server as in serverless payjoin may be used to enable this feature without requiring the end-user to run Tor or host a server.
Note before taproot miniscript this is strictly a fee savings and UX improvement. Before taproot-miniscript the timelock script output would be distinguishable from single-sig change.

https://payjoin.org/docs/how-it-works/payjoin-v2-bip-77/


[#187212155] Update /search to consume "queued" pages and return executing next_page_url

Currently, we're experiencing the following problem in our frontend e2e/journey test suites.
sequenceDiagram
DLFE ->> CLS: POST with search query
CLS ->> DCT: Add ga4gh-search-authorization header & relay POST request
DCT ->> Gatekeeper: Translate to Trino API with x-trino-extra-credentials
Gatekeeper ->> Trino: Relay Trino request
note over SAC plugin, CLS: (same chain of events back)
DLFE ->> CLS: GET next_page_url
CLS ->> DCT: Relay without adding ga4gh-search-authorization header
DCT ->> Gatekeeper: Translate to Trino API
Gatekeeper ->> Trino: Relay Trino request
note over SAC plugin, CLS: (same chain of events back)
Trino ->> SAC plugin: <async> check permissions on catalogs, schemas, tables
note over SAC plugin: (async) we find out
the token is revoked
SAC plugin ->> Trino: 401 expired token exception
DLFE ->> CLS: GET next_page_url
CLS ->> DCT: Relay without adding ga4gh-search-authorization header
DCT ->> Gatekeeper: Translate to Trino API
Gatekeeper ->> Trino: Relay Trino request
note over Trino: SAC rejected, so return 401
note over Trino, CLS: 401 propagates back
CLS ->> DLFE: 401 error
note over DLFE: The ApiRelayService in DLFE retries the
GET next_page_url 2 times
as that's the URL that resulted in the 401/403

To solve this issue, we're thinking that when someone submits a search query to DCT, DCT will submit it to Trino, and then follow the next_page_url till the status !=queued and then return that as the next_page_url. This will address the above issue, as DLFE will now get the 401/403 on the POST request so it will retry the search request itself, and there will be less network requests for the clients that call DCT (via whatever entry point)

I discovered that GitHub renders inline Mermaid diagrams so I updated the sequence laid out in this PR's description to show as a rendered chart.

I discovered that GitHub renders inline Mermaid diagrams so I updated the sequence laid out in this PR's description to show as a rendered chart.

WHAT! That is so cool!


feat: add international option to Phone

Description

Add international Phone question option to force display country code in Phone input
Related Issue

Closes https://github.com/onebeyond/react-form-builder/issues/204
Motivation and Context

How Has This Been Tested?

Unit test case to check if country prefix is appended to Phone input by default when international flag provided.
Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@SocketSecurity ignore<EMAIL_ADDRESS>@SocketSecurity ignore<EMAIL_ADDRESS>

@all-contributors please add @matyasjay for code


About Scenarios in training data

Hi, you mentioned that you include 7 different Scenarios when trainning, according to my undertanding, the event are triggered by "other_actors" in the scenario files, but it seems that your scenario files for each town does not contain other_actors. Is my understanding correct and could you please clarify this? Thank you in advance!

That's a good question. While experimenting with CARLA 0.9.10, I had observed that the events are triggered by background agents, not the agents defined in 'other_actors'. I was also surprised by this and a nice way you could verify this is to spawn a single scenario (without any 'other_actors' but make sure there are background agents) yourself. You should be able to see the scenarios spawning correctly. Another interesting thing to do would be to remove any background agents but add a single agent in 'other_actors'. I suspect that in this case 'other_actors' would be used to spawn the scenario. I had not tested this specific case so you could try to verify this too. I don't know if the behavior of the scenarios has changed in the newer CARLA versions.

Oh that is surprising since I think the background agents are spawned randomly

I think it's not exactly the background agents but the agents are explicitly specified in the definition of the scenarios, e.g. check follow_leading_vehicle.py

Oh I see. Thank you very much! Congratulations on your good places with transfuser based methods on Carla challenge :)


Page not found when using parser

Hello Team,
I cloned the parser repo and did a npm install. I was able to load the example in my browser as well. When I navigate from homepage example to a link like '/blog/42' it works, however when I hit that url directly in the browser, it throws me a 404. I also went through a guide mentioned in elmseeds video tutorial, however I am unable to find a workaround.
Any suggestion, workaround or pointers would be appreciated. Thank you.
Update: I am able to make it work under development environment by using a dev config option in the webpack config file to redirect 404s to index page. However when I build the files the same behavior is not produced. Does that suggest I would need a redirection proxy on a prod enviroment.

That's a great question, I am facing the same issue (new in Elm). Deep links shared by someone via copy-paste is the reason client side routing exists. We could just change HTML without changing URL, but we want users to deep link to application's state... right?
How should I approach this problem?

First and foremost, I don't believe that your issue is something than can be fixed by changing how url-parser works. This issue is related to how the elm-reactor works.
I'll do my best to help in this case, but it's important to note that this issue will probably be closed due to the fact that it's not something that the library author can fix for you.
This issue is related to what the elm-reactor decides to send you when you make an http request to it. Let me try to break it down:

Clone the url-parser repo
Enter url-parser/examples directory
Run elm-reactor
Navigate to http://localhost:8000/Example.elm in your web browser
What happens next?

Well, elm-reactor is running a web server for you -- so when you navigate to http://localhost:8000/Example.elm it makes an http request. You can see that if you open your chrome dev tools:

As you can see, it's serving an html file which runs Example.elm's main. So far so good. Now let's click on a few things:

I clicked on the links on the Example.elm page and it generated some history under that history header. It's important to note that clicking on these links did not cause http requests to the elm-reactor server. You can read up on how this works here: https://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page
Cool! Now the final part. I'm going to manually navigate to http://localhost:8000/blog/42 by changing what's in my browsers url nav:

And we've finally reached what this issue is about. As you can see by the image, navigating to http://localhost:8000/blog/42 by changing the url manually in your browser causes an http request to the elm-reactor server. The elm-reactor server does not know what you are looking for because the elm-reactor only serves your *.elm files (like Example.elm).
If this all makes sense so far, you'll see that your issue is related to how the elm-reactor chooses to serve things and not related to url-parser.
If you want a bit more proof that url-parser works and it's the fault of the server, pull down this gist and try it on your own machine:
https://gist.github.com/john-kelly/be546ca3e9c26599a0203d392ae8457c

Yes, totally makes sense.
I also found some help outside of GitHub and for production - it will work behind Nginx with all requests redirected to index. For development I might use elm-webpack-loader and webpack-dev-server with historyApiFallback flag.
Now I get it why it would be closed. But I think adding that information to README (or in-code comments) would be great as this example is one of the first ones that Elm beginners see.

Seems like the root issue is resolved. If you want some other change, make an issue that describes it specifically with concrete suggestions and reasoning. (Not just a link to some other discussion.)


[Accessibility] Three finger scrolling does not announce new content

b/166078444
On iOS, when voiceover is on, swiping with three fingers will scroll a list but won't announce the new content.
The expected behavior is to announce the new content.
http://rcll/gGOBtiISOHpYegP2VDqs8O/c5mHNexqXT3BpPV9xJAwBV [internal only]
Comparison with native list:
http://rcll/gGOBtiISOHpYegP2VDqs8O/d2RkZZDhUx1QdMFfdpdXEI [internal only]

When clicking on the links I get "You're not authorized to access this page."

Odd. I used to be able to access these. Asked for access.

Unassign myself since i don't have time to work on this.  Maybe able to solve by providing UIScrollViewAccessibilityDelegate  to the FlutterScrollableSemanticsObject
https://developer.apple.com/documentation/uikit/uiscrollviewaccessibilitydelegate?language=objc

Any plan to look at this issue in future? 🙂