Using the Razor inject directive

I was hopeful that I could use the Razor @inject directive to inject services that I registered with the Statiq bootstrapper into my Razor pages. Unfortunately, when I execute my pipeline, I get the following error message:
Error while executing module RenderRazor in PagesPipeline/PostProcess: No service for type 'xxx.Common.Data.Dao.IStoresDao' has been registered.

Looking at the source code, it appears that inside the RazorCompiler constructor you build up a separate list of services which is required for the Razor rendering pipeline.
Do you think that it would be possible to extend the current Razor implementation to somehow customize these services?
My thinking is that it would be great if one can do something along the following lines:
new RenderRazor()
    .WithServices(serviceCollection => { ... }))

I am not sure whether there are technical issue preventing this, but if not, I am willing to create a PR for this with your guidance as to how you see this working.

That's absolutely something I'd expect to work. The separate service collection in the Razor module is a holdover from Wyam when there wasn't a central container. I've got a note somewhere to revisit that but you beat me to it :).
Let me see if I can have the Razor module support the main service collection for the next release - it lines up nicely with some other work I'm doing on module/library initialization.

Got this working now, just need to do a little cleanup. Look for a new release later tonight, it's been long enough anyway so a version bump is in order regardless.
The way it works under the hood is that there's a new IInitializer interface that any library can implement. The Bootstrapper (but only if using the Bootstrapper) will find those implementations and run them automatically. The Statiq.Razor library contains an initializer implementation that will get automatically run when using the Bootstrapper and it registers all the extra Razor services into the primary service collection. Then when the RenderRazor module is executed, it checks if the required Razor services have been registered with the primary container and if so, it uses it. If not it creates a secondary container as before to register the Razor services in as a fallback and uses that.
TL;DR: as long as you're using the Bootstrapper your Razor views will have access to any services registered with the primary container:
public static class Program
{
    public static async Task<int> Main(string[] args) =>
        await Bootstrapper.Factory
            .ConfigureServices(x => x.AddSingleton<IMyService, MyServiceImpl>())
            .RunAsync();
}

@inject IMyService MyService

Great stuff. Thank you @daveaglick

👍 alpha.29 just released

Thanks again Dave 👍


download_strategy: use tar xf.

The flags and separate - aren't required on 10.5 which is the oldest version of macOS we support (and it looks nicer this way).

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Thank you!


No multiscreen support

It takes one screen instead of working on multiple screen configurations

Added basic support for multiple monitors (ability to draw on any displays + all displays are captured when taking a screenshot)


Timescale services inside VPC have blank hostname

Version: 0.3.0
Description of this issue:
When accessing read-only attributes for the timescale service, services inside a VPC return a blank hostname and wrong port.
How to reproduce:
After creating a timescale service with Terraform, attach it to a VPC through Timescale Cloud (This is currently not possible using Terraform.)
Access the hostname and port attributes for the given service - they are either empty or wrong.
Expected behavior: Hostname and port update after attaching service to VPC as they do in Timescale Cloud's UI.

Hello @nostromoJohn ,
Thank you for your feedback. v0.3.1 should fix this issue and read hostname and port correctly in case there is a VPC attached to the service.


Search filters

Hi
I could be very nice to be able to restrict searching with folder and/or tag.
I know that we can already do it with tag but the selection isn't persistent after raycast close.
My workflow invole using obsidian and raycast plugin to quickly see work projects. So I don't want to see projects with certain tags or in certain folder.
By the way, great plugin, very useful, thanks a lot !

I think it's a good idea. Maybe as a setting so users can opt in to it?
Would you be interesting in making a PR for it? It would require:

Search for instances of <List.Dropdown and figure out which would benefit from this feature
Add a settings option to each relevant command
Check the value of the user setting and enable/disable dropdown persist (docs here)

I can try to look at it but honestly I'm not into code so I don't know if I'll achieve to do that.


[Swift 5.9] Using shorthand syntax to reference @MainActor isolated method from non isolated context raises error

Description

Accessing the init method of a @MainActor isolated object to store as a closure raises an isolation error since Swift 5.9.
Steps to reproduce

@MainActor
struct Component {
    init() {}
}

struct Builder<T> {
    private let builder: @MainActor () -> T

    init(
        builder: @MainActor @escaping () -> T
    ) {
        self.builder = builder
    }

    @MainActor
    func build() -> T {
        builder()
    }
}

let _ = Builder { Component() } // OK
let _ = Builder(builder: Component.init) // KO: Call to main actor-isolated initializer 'init()' in a synchronous nonisolated context

Expected behavior

I would expect the last line to compile successfully as it used to prior to Swift 5.9

Environment

Swift compiler version info
swift-driver version: 1.87.1 Apple Swift version 5.9 (swiftlang-<IP_ADDRESS>.106 clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx13.0
Xcode version info
Xcode 15.0
Build version 15A5229h
Deployment target:
iOS 15.0

A related issue to this is that it's possible to completely bypass the @MainActor isolation.
@MainActor
struct Component {
    init() {}
}

final class ClosureContainer {
    var foo: (() -> Component)?
    var bar: (() -> Component)?

    init() {
        // Store closure in a MainActor context
        Task { @MainActor in
            self.foo = { Component() }
            self.bar = Component.init
        }
    }

    // Calling @MainActor isolated initializers in a non isolated context
    func run() {
        _ = foo?()
        _ = bar?()
    }
}

Expected behavior
It should be a compiler error to store a @MainActor closure without the closure being marked @MainActor.
** Environment**
Swift compiler version info
swift-driver version: Swift 5.9.2 (<IP_ADDRESS>.51)
Target: arm64-apple-macosx13.0
Xcode version info
Xcode 15.1 beta 2
Build version 15C5042i
Deployment target:
iOS 17.2

I can replicate the original issue in XCode 15.1 beta 2.

Bumping this issue. Having to find workarounds

I think this is a duplicate of #67581

Duplicate of https://github.com/apple/swift/issues/67581


added shouldAcceptNewConnection callback

added callback (use in shouldAcceptNewConnection obj-c method) option for creating a new VirtioSocketListener

The connections used here are temporary and will be treated as callbacks.

I'll reimplement https://github.com/cfergeau/vz/commit/ecfbaa7942c6225c6bff06fc2256e10eb8202b9c on top of this next week, and let you know how far I managed to go ^^
When you say

The connections used here are temporary and will be treated as callbacks.
do you mean that in the shouldAcceptNewConnection callback, conn.FileDescriptor (and conn in general) is only valid for until the callback returns, and that if we want to keep using it, we have to copy it? (for example, with syscall.Dup() as I'm doing in my code)?

@cfergeau thanks for your comment!
Yes, I mean that. because the document is said

A typical implementation verifies that a connection between the specified ports is permissible. Return a result as quickly as possible, and don’t perform any long-running operations in this method.

However, for some reason, I found that I could not check the contents of the connection even within the callback. So I am going to revise it with the following policy.

shouldAcceptNewConnection must return true and the connection will be duplicated (with syscall.Dup()).
the listener creates an async handler like HTTP handler when initialized by vz.NewVirtioSocketListener
the dup connection will be passed to the handler and vz user use the connection.

I have seen a crash like the one described https://github.com/Code-Hex/vz/issues/13
I think this is caused by the thread between libdispatch (which is handled by Objective-C) and Go, or a problem on the VM side.
I would like to discuss and investigate the cause of this on the above issues.

However, for some reason, I found that I could not check the contents of the connection even within the callback.

Within the callback, you cannot do much with the file descriptor, or the net.Conn built from it. Imo it's because the file descriptor only becomes valid after true is returned from shouldAcceptConnection

shouldAcceptNewConnection must return true and the connection will be duplicated (with syscall.Dup()).
the listener creates an async handler like HTTP handler when initialized by vz.NewVirtioSocketListener
the dup connection will be passed to the handler and vz user use the connection.

This works for me, though in my opinion this makes the API a bit strange. It's no longer close to the virtualization framework API, bu it's also different from standard golang API (net.Conn and net.Listener). I can easily reimplement net.Listener on top of this, but this means duplicating the go channel code in git master. shouldAcceptConnection pushes to dupCh when there's a new connection to invoke my callback, and my callback pushes to listener.incomingConnectionsCh to wake up Accept()
Might be worth turning VirtioSocketListener into a real net.Listener now that VirtioSocketConnection implements net.Conn.
One advantage is that it's expected that the connection returned from Accept() has to be Close()d after use, while it's not really common that you are passed a net.Conn as an argument, and you have to remember to close it.
An alternative API could be to remove dupCh, directly call user callbacks from shouldAcceptNewConnectionHandler, but don't make a net.Conn available directly. User would have to call some helper method to convert from VirtioSocketConnection to net.Conn. This would make it explicit that you own this new connection.
I am just thinking out loud, the current API works for me even if it does not feel optimal :)


RTC time not set when rsyncing

It seems that setting the time with non pyboard boards always fails. This is because rtc.datetime() exists only in pyb.RTC while in machine.RTC it is replaced with rtc.init().
I noticed this while debugging why all my files are always uploaded when doing an rsync. I am using Loboris fork with an M5Stack.

Thanks for the report. I'll look into it.

This should be fixed in 0.0.20
The ESP8266 still uses rtc.datetime() so rshell has to try both

Thanks! I am traveling for a week and unable to test on my board at the moment. Will test when I get back.


[Feature]: support more command-line flags

What problem does this feature solve?
Rspack currently missing some cli flags which cause some migration pain for users, see https://birtles.blog/2024/08/14/lessons-learned-switching-to-rspack/#command-line-flags

Rspack CLI includes a built-in dev server but unfortunately, the command-line flags differ from webpack-dev-server in a few places, notably missing options like --port and --hot/--no-hot.
To handle such cases I ended up using various --env values and checking them in rspack.config.js’s configuration function. This seems like a potentially unnecessary point of friction that could be eased in a future release.

we can align more flags  to make migration easier
What does the proposed API of configuration look like?
seems no need to support all flags(some flags are rarely used and hard to understand), but we can support some common flags like
--port
--hot | --no-hot
--host

Can you answer my question? I see these two variables below, but it doesn't seem to have been actually used?
https://github.com/web-infra-dev/rspack/blob/fd631fa1193dd95437fe0d50f8cc5dd4d8a033fb/packages/rspack-cli/src/commands/serve.ts#L46-L47

Can you answer my question? I see these two variables below, but it doesn't seem to have been actually used?
https://github.com/web-infra-dev/rspack/blob/fd631fa1193dd95437fe0d50f8cc5dd4d8a033fb/packages/rspack-cli/src/commands/serve.ts#L46-L47
it's used here, if multi compiler specify same port, it will throw error

it's used here, if multi compiler specify same port, it will throw error

https://github.com/web-infra-dev/rspack/blob/fd631fa1193dd95437fe0d50f8cc5dd4d8a033fb/packages/rspack-cli/src/commands/serve.ts#L101-L107
But it doesn't seem to be used anywhere else except here. usedPorts seems to be absolutely empty.

it's used here, if multi compiler specify same port, it will throw error

https://github.com/web-infra-dev/rspack/blob/fd631fa1193dd95437fe0d50f8cc5dd4d8a033fb/packages/rspack-cli/src/commands/serve.ts#L101-L107
But it doesn't seem to be used anywhere else except here. usedPorts seems to be absolutely empty.

why the push will update usedports

why the push will update usedports

This is where I am confused, this code seems meaningless.

if you have two compiler and both use same port，during loop the usedports is updated so it can be used to detect conflict in next iteration


[FIX] Fixed CORS problem when using credentials on Elastic

All good to go ! The interaction with elasticsearch works again without any CORS problem !


Feature Request:  "manage.py" to purge old page revisions

When you "save a draft," as of course you do many times when working on a new page, it appears that the draft pages are never cleaned-up.  This can cause the database file to grow quite large.
We need a very convenient manage.py command option to purge the database of all page revisions that are not the current ones.  Only the most-recent version (published or not) should remain.

Thanks for the suggestion @SundialServices! Just to note that we'd additionally need to preserve revisions that are submitted for moderation, and ones that are scheduled for publishing with a future go-live date.

"Entirely agreeing with the foregoing ..." here for now – and, strictly for the record – is a simple-minded sqlite3 query that "gets the job done" ... for me ... right now ...
delete from wagtailcore_pagerevision
  where id in (select r.id from wagtailcore_pagerevision r
    left join wagtailcore_page p on r.id=p.live_revision_id
    where p.live_revision_id is null);

MARK
How might I remove old revisions from the Wagtail database? I see that every time I make a change the previous revision of the page is kept in the database ... very nice, but how do I "take out the trash?"
In other words: "okay, this page is now finished, and I don't wish to keep previous revisions of it anymore." You'd think this would be easy – but, where is it?

769625 rows affected in 21 m 41 s 934 ms

If anyone contributes this feature, I suggest an optional --days-older-than argument, so that it could be run on a nightly schedule:
./manage.py purge_revisions --days-older-than=14
Note that revisions that are submitted for moderation, and ones that are scheduled for publishing with a future go-live date should be preserved even if they are older than --days-older-than.

Does this look right? If so I'll make a PR with a management command.
import datetime as dt
from wagtail.core.models import PageRevision

def purge_revisions(days=None):
    # exclude revisions which have been submitted for moderation
    purgable_revisions = PageRevision.objects.exclude(
        submitted_for_moderation=True
    ).exclude(
        # and exclude revisions with an approved_go_live_at date
        approved_go_live_at__isnull=False
    )

    if days:
        purgable_until = dt.datetime.now() - dt.timedelta(days=days)
        # only include revisions which were created before the cut off date
        purgable_revisions = purgable_revisions.filter(created_at__lt=purgable_until)

    deleted_revisions_count = 0

    for revision in purgable_revisions:
        # don't delete the latest revision for any page
        if not revision.is_latest_revision():
            revision.delete()
            deleted_revisions_count += 1

    return deleted_revisions_count

Once the feature/workflow branch is merged, PageRevision.submitted_for_moderation will only be used for legacy pages going through the old style moderation system. New pages will be submitted to the workflow system, so an additional check will be required.
Strictly speaking, a check for whether the revision itself is in moderation would simply mean excluding any PageRevision linked to a TaskState with status of TaskState.STATUS_IN_PROGRESS. However, in order to maintain a coherent history of the current workflow, I think it would be nicer to delete only revisions with no in progress WorkflowState instead. This could be done as follows:
import datetime as dt
from wagtail.core.models import PageRevision, WorkflowState

def purge_revisions(days=None):
    # exclude revisions which have been submitted for moderation
    purgable_revisions = PageRevision.objects.exclude(
        submitted_for_moderation=True
    ).exclude(
        # and exclude revisions with an approved_go_live_at date
        approved_go_live_at__isnull=False
    ).exclude(
        task_states__workflow_state__status=WorkflowState.STATUS_IN_PROGRESS
    )

    if days:
        purgable_until = dt.datetime.now() - dt.timedelta(days=days)
        # only include revisions which were created before the cut off date
        purgable_revisions = purgable_revisions.filter(created_at__lt=purgable_until)

    deleted_revisions_count = 0

    for revision in purgable_revisions:
        # don't delete the latest revision for any page
        if not revision.is_latest_revision():
            revision.delete()
            deleted_revisions_count += 1

    return deleted_revisions_count

Thanks @jacobtoppm! And something like this to check for Workflow support?
try:
    from wagtail.core.models import WorkflowState
    workflow_support = True
except ImportError:
    workflow_support = False

def purge_revisions(days=None):
    # exclude revisions which have been submitted for moderation in the old system
    purgable_revisions = PageRevision.objects.exclude(
        submitted_for_moderation=True
    ).exclude(
        # and exclude revisions with an approved_go_live_at date
        approved_go_live_at__isnull=False)

    if workflow_support:
        purgable_revisions = purgable_revisions.exclude(
        # and exclude revisions linked to an in progress workflow state
        task_states__workflow_state__status=WorkflowState.STATUS_IN_PROGRESS
    )

No problem - yes, that looks good to me!


Script release notes gathering

The code quality is terrible but anyway, it worked for gathering the release note for v0.9.8-rc.1.
Resolves #857

Merging this to apply changes made in travis.yml


chore: switch to poetry

coverage: 87.877% (-6.0%) from 93.839% when pulling 6e99b3c09f866f5c90471ec2ba9e23fa8afbf2d8 on chore/poetry into 4c2662a10d2ba86026c91e99a78a5ca99a7aedec on main.


Fix issue placing a factory that has been previously built and picked up

I believe this PR should not be merged. It makes building factorissimos with bots much harder.
This issue is caused by an engine bug which will soon be fixed: https://forums.factorio.com/viewtopic.php?f=23&t=116862


Redundant error checking in ListArray, BooleanArray, BinaryArray and PrimitiveArray

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
https://github.com/apache/arrow-rs/pull/1546 revealed that several Array types have error checking that is now redundant with ArrayData::validate_full().
Describe the solution you'd like
Remove the redudant error checks and stop ignoring them during force validate run:
    #[cfg(not(feature = "force_validate"))]

The tests should continue to pass when run with
cargo test --features=force_validate -p arrow

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I believe this is no longer the case, feel free to reopen if I am mistaken


Feature/97 matchmaking agent api

WHAT
This container separates the Matchmaking Agent's functionality from the Agent Plane Container. As a result, the RDF Store is disjoined from the public-facing Agent Plane container.
WHY
It caters for the need of small and medium sized companies who want to directly upload/provide use case data as well as for security-aware companies who want to separate data storage from public API even for meta-data. This container also has the ability to be used by the Simple Graph Exchanger Feature, adding the ability to host business data from the RDF Store over the Matchmaking Agent Communication between the Agent Plane Container and the Matchmaking Agent by a REST API on the docker (internal) network.
FURTHER NOTES
To make use of the matchmaking agent set the right dataplane.properties settings in tx-knowledge-agents-edc (agent-plane-protocol)
Closes #
Feature97

Hey, I would also suggest implementing the dependencies workflow to have an automated check on each PR like here. This would make sure that we don't merge PRs that have outdated DEPENDENCIES files. Also can you clarify here how the dependencies work in this repo? Are they consolidated into a single file?

This is mostly a migration/carveout of code from https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/agent-plane/agent-plane-protocol/src/main/java/org/eclipse/tractusx/agents/edc into a new servlet container (glassfish) together with some EDC client stubs (to render it independent of EDC). It represents a new product/chart which provides external agent functionality (SPARQL engine, federated catalogue) independent of EDC (data plane) such that it can be used to host business data as well without being exposed to the dataspace/public internet. As such it represents a big advantage for security architecture. Copyright attachments and dependencies have been rechecked, such that no fresh IP check needs to made.
see also eclipse-tractusx/knowledge-agents-edc#184

Hi @drcgjung, even though it is a migration, an IP check is necessary as the contribution is coming from catenax-ng and the number of line changes are way above 1000. See TRG7.03 for more info.

This is mostly a migration/carveout of code from https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/agent-plane/agent-plane-protocol/src/main/java/org/eclipse/tractusx/agents/edc into a new servlet container (glassfish) together with some EDC client stubs (to render it independent of EDC). It represents a new product/chart which provides external agent functionality (SPARQL engine, federated catalogue) independent of EDC (data plane) such that it can be used to host business data as well without being exposed to the dataspace/public internet. As such it represents a big advantage for security architecture. Copyright attachments and dependencies have been rechecked, such that no fresh IP check needs to made.
see also eclipse-tractusx/knowledge-agents-edc#184

I would agree if you would have had smaller and more focused PRs doing clearly only one thing and not multiply things. Or if you would have developed this IN eclipse-tractusx (a branch) and not from an outside repository.
This definitly needs an IP check and proper procedure

I've opened the IP ticket, you can it's track the progress here.

Hey, I would also suggest implementing the dependencies workflow to have an automated check on each PR like here. This would make sure that we don't merge PRs that have outdated DEPENDENCIES files. Also can you clarify here how the dependencies work in this repo? Are they consolidated into a single file?

will do

This is mostly a migration/carveout of code from https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/agent-plane/agent-plane-protocol/src/main/java/org/eclipse/tractusx/agents/edc into a new servlet container (glassfish) together with some EDC client stubs (to render it independent of EDC). It represents a new product/chart which provides external agent functionality (SPARQL engine, federated catalogue) independent of EDC (data plane) such that it can be used to host business data as well without being exposed to the dataspace/public internet. As such it represents a big advantage for security architecture. Copyright attachments and dependencies have been rechecked, such that no fresh IP check needs to made.
see also eclipse-tractusx/knowledge-agents-edc#184

Hi @drcgjung, even though it is a migration, an IP check is necessary as the contribution is coming from catenax-ng and the number of line changes are way above 1000. See TRG7.03 for more info.

I though so. Yes, lets do an IP check on the patch text.


Basic Questions: Drawing and Moving

Hi
Sorry in advance for the basic questions, I'm New to Skia and graphics generally.
To learn more I am creating a basic drawing program.
I hold a list of DrawingObjects: each has a BoundsRect and Path and Paint properties. This works great.. I can draw to an SKPaintobox Canvas by iterating through my list and drawing each object in the Draw event.
So now I would like to move an object with mousemove.
Some questions, please.
I move the DrawingObject by recalculating the BoundsRect.. Is this correct? Is there a better way?
When I move one object I have to redraw (from mousemove event) the whole SKpaintbox, This causes a lot of flickering! is there a better way?
Does SKia have layers? I have found mention but no examples.
Reading a bit more , Should I transform the path rather than move the bounds and recalculate the path?
Sorry for the dum questions.
Many thanks
Alan

Hi @JediThumper, it's okay to post any kind of questions. We are also available in the Telegram group for quick questions: https://t.me/skia4delphi
Your problem will probably be solved by changing the DoubleBuffered property to True in your SkPaintBox's parent control.

Thank you DoubleBuffered Fixed the problem.
Will move questions to Telegram


Update README setup flow to include Manage Messages permissions

Is your feature request related to a problem? Please describe.
After merging #27, anyone who wants to setup the bot and use that command will require special permissions to "Manage Messages", as the bot will "clear" emojis when formatting strings.
Describe the solution you'd like
Update the README with information similar to what was said here: https://github.com/bradtaniguchi/discord-bot-test/pull/27#issuecomment-630631179
We should update the README's step by step docs to include this setting, when adding the bot to a discord server/guild.
Describe alternatives you've considered
We could update the bot to not even rely on this permission to make maintaining it simpler.

Updating the Readme right now.... feel free to assign it to me!


Doesn't animate in, but animates out

Describe the bug
I have my WrappingHStack on a view which animates in by sliding. Everything slides, except for the WrappingHStack contents, which just instantly appear in place when the view begins to animate. However, when the view animates away/out, everything slides, including the WrappingHStack
Expected behavior
The WrappingHStack should slide in along with all other content
Context:

WrappingHStack version: 2.2.9
Model: iPhone 14
OS: iOS 16.3.1

Can you post a simplified example?

Sure, here is my example:
WrappingHStack(0..<self.words.count, id:\.self, alignment: .center) { i in
                Button(action: {
                    if correctForm == words[i] {
                        sendResult("Correct")
                    } else {
                        sendResult("Wrong")
                    }
                }) {
                    VStack {
                        Text(words[i])
                            .font(.system(size: 18, weight: .bold, design: .rounded))
                            .foregroundColor(.white)
                            .fixedSize(horizontal: false, vertical: true)
                    }
                    .frame(alignment: .leading)
                    .padding()
                    .background(
                        RoundedRectangle(cornerRadius: 6)
                            .fill(colours[i])
                    )
                    .padding(5)
                }
                .padding(.bottom, 10)
            }
            ```

I ment a fully working example where the animation does not work, i.e. something I can copy/past into the example project ;)

Sorry, that was lazy of me. In trying to make a minimal reproducible example I found the issue. It's this part self.words.count, — the words array only got populated from an onAppear inside the view. Seems like anything that isn't present at the init of the view does not get animated in. If I populate the array before loading the view, everything slides in as expected. Also, I saw someone criticised WrappingHStack on SO, but I really like it, thanks for creating it!

I'm happy to hear that.


Improve Weave

Remove weave CPU limits from .gitlab-ci.yml. Closes: #975
Fix weave version in documentation

ci check this

As a general guideline, avoid "improve X" or "fix X" as a commit message. Try to be a little more clear. Here, you're correcting versions and unnecessary options.


Add .travis.yml file and tests

@david-martin can we squash some of these (or all of them)

see #9


WIP: Plumb through dataStorePublisher from AWSDataStorePlugin to ReconcileAndLocalSaveOperation to allow callbacks to toplevel subscribe calls

Wanted to push this out early to get feedback on how we plumb through the DataStorePublisher.
Two things to pay attention to:

It didn't seem to make sense to attach it to the StorageEngineAdapter, so keeping the DataStorePublisherBehavior as a separate entity seemed appropriate
I felt that it would be good to separate out a DataStoreSubscribeBehavior which is different than DataStorePublisherBehavior (despite them currently living in the same class), to be specific about which class is expecting a publisher vs subscriber.

Reason for making this change was in attempts to get callbacks working for:
        noteSubscription = Amplify.DataStore.publisher(for: Note.self)
            .sink(receiveCompletion: {completion in
                if case .failure(let err) =  completion {
                    print("issue with subscription: \(err)")
                }
            }, receiveValue: { value in
                print("Subscription got this value: \(value)")
        })

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Adopted an entirely new approach to do this.  Closing this out.


WIP TwitterStreamAgent prevent connection in use and restart issues

Ensures the database connection is checked back in to the pool before restarting.
Restart TwitterStreamAgent outside of the Rufus::Scheduler work thread.
/cc @cantino

Thanks @dsander, I'll test this and see if it helps.

So far, so good.

Still seems to be working for me.  Should we merge your work?

Great! My test instance is running for three months straight without any issue as well. I will see to fix the specs and ping you when it's done :smile:

All green. Thanks for testing this @cantino, I hope that finally fixed the issues we had with the twitter stream.

Awesome, thanks @dsander!


I don't want to use tls. What should I do?

Copilot can't be opened when the new code uses tls, but the old code can. I don't want to use tls. How can I close it?

Use workers instead of pages

Thank you very much, I successfully deployed the notls node, but unfortunately, the problem still exists.
I thought it was tls that prevented me from opening other applications.But after using notls, the problem still exists, and I still can't open applications such as GitHub, Google play and copilot.
I tried to change DNS, but it didn't seem to work
This problem only appears on my mobile phone, and my computer can still open them.

Thank you very much, I successfully deployed the notls node, but unfortunately, the problem still exists.
I thought it was tls that prevented me from opening other applications.But after using notls, the problem still exists, and I still can't open applications such as GitHub, Google play and copilot.
I tried to change DNS, but it didn't seem to work
This problem only appears on my mobile phone, and my computer can still open them.

设置里启用本地DNS和虚拟DNS


Other types of files

This plugin only works with JavaScript? I try use with XML files. Thanks :+1:

This will only work with javascript and is tied to the ast generated by parsing javascript. XML won't be supported but i would expect there to be other tools that can help.

Thanks @jsoverson, works with grunt-text-replace.


[bug]: Input OTP with Arabic

Describe the bug
Input OTP with tailwind dir='rtl' attribute

Affected component/components
Input OTP
How to reproduce
Input OTP with tailwind dir='rtl' attribute
Codesandbox/StackBlitz link
No response
Logs
No response
System Info
Chrome

Before submitting

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

Remove attribute rtl if you want from left to right

أدخل رمز التحقق من اليسار إلى اليمين


Fixing duplicate intrinsics

This fixes an issue where body intrinsic callables would appear twice in monomorphized results by pruning the list of concretized callables based on intrinsic settings.

@ScottCarda-MS I could use some tips on testing this change. I was able to manually verify from a built package that it eliminates the issue, but perhaps there are tests I can add in the runtime repo once this is merged?

@swernli For testing, there are some Monomorphization test cases found here: https://github.com/microsoft/qsharp-compiler/blob/main/src/QsCompiler/Tests.Compiler/TestCases/LinkingTests/Monomorphization.qs
and the associated tests for these are found here: https://github.com/microsoft/qsharp-compiler/blob/main/src/QsCompiler/Tests.Compiler/LinkingTests.fs#L244
You could add a test case that defines a custom intrinsic, and then uses this intrinsic in the entry point. The testing logic would then verify that there is exactly the expected operations in the syntax tree after Monomorphization is run (it is run for all such test cases). I believe even just running a Signatures test on this would have that effect. We can discuss that more offline if you want to know more about how to do that.

@ScottCarda-MS Thanks, that's perfect! Don't know how I missed that in my searches...


🍒 Cherry pick PR #5771 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/5771 to staging 🍒

🚀 Deployed to production by @AndrewGable in version: 1.1.7-24 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


ImportError: No module named _curses

Traceback (most recent call last):
File "freeline.py", line 50, in
main()
File "freeline.py", line 45, in main
freeline = Freeline()
File "freeline.py", line 13, in init
self.dispatcher = Dispatcher()
File "/Users/Documents/work/test/freeline/freeline_core/dispatcher.py", line 24, in init
self._logger = Logger()
File "/Users/Documents/work/test/freeline/freeline_core/logger.py", line 61, in init
from cursor import Cursor
File "/Users/Documents/work/test/freeline/freeline_core/cursor.py", line 3, in
from terminal import Terminal
File "/Users/Documents/work/test/freeline/freeline_core/terminal.py", line 5, in
import curses
File "/Users/Documents/work/android-tools-arm12b/lib/python2.7/curses/init.py", line 15, in
from _curses import *
ImportError: No module named _curses

this is because u r using the python 3.0+
use python 2.7 can solve


[Question] How did you open the addons menu when the app is first started?

I wonder how can I achieve the same. Thanks for putting this on github, but shouldn't be a manifest.json as well?

By app I assume you mean Google Docs.
example google doc image
On the same line below the title of the Google Doc there is a dropdown called "Add-ons".
If you're asking about how did I make the sidebar appear after clicking "Start" under "Highlight Tool",
https://github.com/jsonchin/highlight_tool/blob/master/src/Main.js
contains the code for the dropdown.
https://github.com/jsonchin/highlight_tool/blob/master/src/sidebar/SidebarBackend.js
contains the code for showing the sidebar.
I think the manifest.json should be kept private (it's actually appsscript.json from Google add-ons but the same idea) in the case I add private information to it.

After I installed the addon, it opened the addon menu in google docs and went directly to highlight tool item in the menu.
Thanks for the response, I will check the code again :D

Gotcha, I understand your question now.
I believe on installation, Google performs those steps to notify the user how to get to the add-on and any post-installation tips. The developer doesn't have any control over that.


Shared.shproj is not opening vs2012

Shared.shproj is not opening in vs21012, and still I am getting the below error when I run the app.

Any help is appreciated!
Thanks in Advance

It's not even opening on VS2015 - Windows 7. Can't find any compatible 8.1 project templates for Win7.

Shared projects requires Visual Studio 2013 or up. VS2015 should work just fine.


querying-the-web-api examples don't work due to missing user-agent-headers

Fixed runtime decoding error occurring due to 403 responses from gh api because of missing user-agent header
fixes #662
Feel free to close if you still prefer to use reqwest::get for the example but with a different api that doesn't require user-agent-header. I'm currently unaware of how to pass headers along with reqwest::get and thus used a reqwest client in the fix

Ran into the same issue. Thanks for writing this up. Worked like a charm. I wish it was already merged ;)

Also hit the same thing and this is better work than I came up with :)


Add option to disable warnings during conversion

I have an application in production which relies in user input, which means badly authored HTML so i have a lot of warning messages like these
[27-Mar-2016 06:26:01] PHP Warning:  DOMDocument::loadHTML(): ID templateBody already defined in Entity, line: 1340 in /var/.../html2text/src/Html2Text.php on line 44
[27-Mar-2016 06:26:01] PHP Warning:  DOMDocument::loadHTML(): ID templateBody already defined in Entity, line: 1367 in /var/../html2text/src/Html2Text.php on line 44

Is it possible to add an option dismiss all those warnings without breaking the error handling? I know there's a function to disable libxml2's error handling but I'm not in the mood of discovering I broke something else the hard way

@rmontagud  you could simply tell php to avoid those by adding an '@' at the beggining like so:
@ $text = Html2Text\Html2Text::convert($html);
the warnings shouldnt be dissmissed, instead should be corrected to avoid them, but in the meantime you can just dissmiss on your side

As much as I'd love to fix the problem on my end I'm afraid I can't since i'm using the component to flatten user supplied HTML

That's a valid use case. I'll look into adding this as an option. If anyone would like to propose a patch (with tests as well) that would be appreciated :)

This is now possible with https://github.com/soundasleep/html2text/pull/43


packageDmg fails when using spaces in package name

With the following:
compose.desktop {
  application {
    mainClass = "MainKt"
    nativeDistributions {
      targetFormats(TargetFormat.Dmg, TargetFormat.Msi)
      packageName = "With Space"
    }
  }
}

the packageDmg target fails under 0.3.1 with a jpackage error:
Error: Invalid Option: [Space]

Note that the exact same name works with 0.3.0

@AlexeyTsvetkov any progress here?

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Adds usage docs

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 90.90909% with 1 line in your changes missing coverage. Please review.

Files
Patch %
Lines

src/beneficiaries/operations/create_beneficiary.rs
90.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

src/exchange/operations/create_exchange.rs
90.24% <100.00%> (ø)

src/beneficiaries/operations/create_beneficiary.rs
90.24% <90.00%> (ø)


Protect GraphQL route like the other endpoints?

Hi!
First of all, I found strapi a few days ago and I'm really amazed by what you've managed to accomplish so far. I got up and running super quick, and the built-in GraphQL support is just great. Kudos, really! I look forward to following this project and I plan on using it for several protoypes and implementations already.
Anyway, my question is about the GraphQL route - can this be protected with policies/permissions just like other routes? How would one go about doing that?
Thanks for all your work!

@zth: Thanks for your kind words and support! Currently, you can't protect the GraphQL query with policies and permissions. No one already did that during the development of this feature a few months ago. We already thought about that but it's not our priority for now.
We're adding JSON API support which allows doing the same things as GraphQL to select specific fields in your request. If you have time to submit a PR to support this feature, we'll be glad to help you doing that!

Hey @zth, thanks a lot for your suggestion. @Aurelsicoko worked on this suggestion for the past few days and the feature will be released for the v2.0.0. :-)


Combine jacoco convention plugins into one

How I'm testing it
Choose at least one:

Unit tests
UI tests
Screenshot tests
N/A (provide justification)

Do tests pass?

[x] Run local tests on DemoDebug variant: ./gradlew testDemoDebug
[x] Check formatting: ./gradlew --init-script gradle/init.gradle.kts spotlessApply

Is this your first pull request?

[x] Sign the CLA
[x] Run ./tools/setup.sh
[x] Import the code formatting style as explained in the setup script.

This will be fixed in #1519


theme_javascript_include_tag produces type="text/plain"

Somehow when using "theme_javascript_include_tag" in my project "" will be generated. I need the type attribute to be "text/javascript" otherwise some browsers may not interprete the JavaScript.
Is there a solution to this problem?
Greets,
Gambo

Since this is an old issue, I would like to know if this problem is still current. Is this happening still?
i don't like adding stuff that seems redundant, that's why I am asking you...
Sorry for the delay.. I know it's been a long time.

This actually got resolved in v0.5.0.pre as we now explicitly add the "text/css" or "text/javascript" type to the options hash in theme_javascript_include_tag and theme_stylesheet_link_tag.


Formatter adding extra characters to code

I was working on a file today and when I attempted to save a new command for my bot, the auto formatting kept messing up my code when I would save forcing me to disable auto formatting.
Here's an example.
Before:
@bot.command()
@commands.is_owner()
async def sync(ctx):
    await app_commands.CommandTree.sync(guild=discord.Object(id=172571071059329025))

After:
@bobot.command()
@commands.is_owner()
async def sync(ctx):
    await app_commands.CommandTree.sync(guild=discord.Object(id=172571071059329025))

It changes "bot" to "bobot" and actually will add another "bo" every time I hit save.
Another example I discovered while writing this.
Before:
@bot.command()
@commands.is_owner()
async def shutdown(ctx):
    await ctx.message.add_reaction("👋🏼")
    await bot.close()

After:
t.command()
@commands.is_owner()
async def shutdown(ctx):
    await ctx.message.add_reaction("👋🏼")
    await bot.close()

And if I save again:
tommand()
@

@commands.is_owner()
async def shutdown(ctx):
    await ctx.message.add_reaction("👋🏼")
    await bot.close()

I'm using the latest version of black(v2023.6.0) and VSCode version 1.84.2.

@TheWizardofGauze I am not able to re-produce this locally. Please try Extension Bisect, to see if this is being triggered due to interference by some other extension:

@karthiknadig Bisect says ms-python.python is causing it... I guess I'll try and report it? I did some more testing and got similar behavior from autopep8.

@TheWizardofGauze Can you share a list of extensions you have? and your settings?

@karthiknadig Extensions:

ms-python.python
ms-python.vscode-pylance
ms-python.black-formatter
icrawl.discord-vscode
ms-toolsai.jupyter
ms-toolsai.vscode-jupyter-cell-tags
ms-toolsai.jupyter-keymap
ms-toolsai.vscode-jupyter-slideshow
ms-toolsai.jupyter-renderers
actboy168.lua-debug

Settings:

editor.defaultFormatter - Black Formatter
workbench.editorAssociations - Item: *.ipynb, Value: jupyter-notebook
window.zoomLevel - 0
extensions.ignoreRecommendations - Yes
terminal.integrated.fontFamily - monospace
notebook.cellToolbarLocation - Item: default, Value: right; Item: jupyter-notebook, Value: left
update.enableWindowsBackgroundUpdates - No
security.workspace.trust.enabled - No
git.autofetch - True
git.confirmSync - No
python.languageServer - Pylance

The rest of the settings are unmodified.

Duplicate of https://github.com/microsoft/vscode-black-formatter/issues/389


feat: Provide minimal distribution of CRDs

Fixes https://github.com/kserve/kserve/issues/3487.
Trying out a similar approach to what we are doing for Argo Workflows https://github.com/argoproj/argo-workflows

@yuzisun Addressed comments. PTAL.

@yuzisun @sivanantha321 Just rebased and resolved conflicts after the merge of https://github.com/kserve/kserve/pull/3443.

I am just curious, How is the validation handled for minimal crd version. Is it through validation webhook ?

@sivanantha321 Yes and basically leave that responsibility to something else, e.g. front-end, validation webhook, etc.

/lgtm

/approve


add eve_log_level parameter to GH test workflow

It would be useful to be able to set the log level for EVE when running tests, as e.g. "debug" log level would provide more information for debugging failed tests.
It would be good to include this change in the next release of Eden, so that it can be used workflows started from EVE repository.

But how would you execute a workflow with debug log level in EVE? You want to introduce manual eden test run action?

But how would you execute a workflow with debug log level in EVE? You want to introduce manual eden test run action?

No, I would just set it for the existing eden test workflow for every PR. Like this https://github.com/lf-edge/eve/pull/4381

folks, could you give this PR another look? I think I answered all the comments and fixed the issues.
let me know if it's good to merge and I'll remove the last two commits, which were here for demonstration purposes only.


Can't Ctrl+V in editors in artifact upgrader

https://github.com/user-attachments/assets/8458d0ea-ef2c-4c98-ac6a-7712c1a13f7a
Likely because the artifact editor(allowUpload) is capturing the paste event: https://github.com/frzyc/genshin-optimizer/blob/master/libs/gi/ui/src/components/artifact/editor/index.tsx#L404

I'd like to work on this issue


Set up the development environment

As a Developer
I need a development environment
So that development can be done
Details and Assumptions
* [document what you know]

Acceptance Criteria
gherkin
Given a development environment
When development actions are taken
Then development can be accomplished


Question about empty tensor

For ConstantOfShape operator (https://github.com/onnx/onnx/blob/master/docs/Operators.md#inputs-20), its input can be an empty tensor.
input : T1
1D tensor. The shape of the expected output tensor. If empty tensor is given, the output would be a scalar. All values must be >= 0.

How do we import an empty tensor? How do we check that a tensor is empty or not?

Hi @tungld , reading the spec literally, given that T1 is a 1-D tensor, I'd expect its representation within MLIR to be tensor<0xi64> or something to that effect. I do not expect importing of such tensor to be an issue, given that MLIR should support it and for us it'd be an ONNX tensor with 1 dimension whose extent is 0. So checking for its emptiness should entail checking the size of its only dimension to be 0.

Thanks @tjingrant ! You are right, I found information about zero-element tensor in MLIR here: https://mlir.llvm.org/docs/LangRef/#tensor-type. A zero-element tensor type is tensor<0xf32>


Issue with Tables.rowtable when entries contain a vector of strings

with Arrow.jl 1.3,
julia> using Arrow, Tables

julia> table = (; col1 = [["a"], ["a"]])
(col1 = [["a"], ["a"]],)

julia> Arrow.write("test.arrow", table)
"test.arrow"

julia> table2 = Arrow.Table("test.arrow")
Arrow.Table: (col1 = [["a"], ["a"]],)

julia> Tables.rowtable(table2)
ERROR: TypeError: in new, expected Vector{String}, got a value of type SubArray{String, 1, Arrow.List{String, Int32, Vector{UInt8}}, Tuple{UnitRange{Int64}}, true}
Stacktrace:
 [1] macro expansion
   @ ~/.julia/packages/Tables/UxLRG/src/namedtuples.jl:46 [inlined]
 [2] _iterate(rows::Tables.NamedTupleIterator{Tables.Schema{(:col1,), Tuple{Vector{String}}}, Tables.RowIterator{Tables.CopiedColumns{Arrow.Table}}}, st::Tuple{})
   @ Tables ~/.julia/packages/Tables/UxLRG/src/namedtuples.jl:37
 [3] iterate
   @ ~/.julia/packages/Tables/UxLRG/src/namedtuples.jl:58 [inlined]
 [4] iterate
   @ ~/.julia/packages/Tables/UxLRG/src/namedtuples.jl:57 [inlined]
 [5] copyto!(dest::Vector{NamedTuple{(:col1,), Tuple{Vector{String}}}}, src::Tables.NamedTupleIterator{Tables.Schema{(:col1,), Tuple{Vector{String}}}, Tables.RowIterator{Tables.CopiedColumns{Arrow.Table}}})
   @ Base ./abstractarray.jl:843
 [6] _collect
   @ ./array.jl:608 [inlined]
 [7] collect(itr::Tables.NamedTupleIterator{Tables.Schema{(:col1,), Tuple{Vector{String}}}, Tables.RowIterator{Tables.CopiedColumns{Arrow.Table}}})
   @ Base ./array.jl:602
 [8] rowtable(itr::Arrow.Table)
   @ Tables ~/.julia/packages/Tables/UxLRG/src/namedtuples.jl:99
 [9] top-level scope
   @ REPL[27]:1

Ah yes, I thought this would probably end up biting us at some point. We're kind of lying with our schema for the table vs. what we actually return. To avoid allocating a full array on each getindex, it currently just constructs a view into the underlying arrow data. We'll have to think of what the best approach is going forward.

If I'm understanding your comment right, that's not something new, right? But my example (and the non-minimal one too) works fine on Arrow 1.2, so it seems like a new issue here.

Yeah, I think we maybe used to allocate the full array, and it was changed to return a view; the code is here if you want to take a look/play around. I would approach this by first checking if we should just change the Tables.schema that is returned for Arrow.Table; if the schema matched what getindex produced, Tables.rowtable wouldn't get angry at us. Secondly/alternatively, I'd look at changing getindex: either just allocating the full Vector when indexing, or maybe trying to do something more efficient like returning an Arrow.Primitive array for bitstypes, and Arrow.List for strings.

Ok, thanks for the pointer!
Just as a note to myself / other Beacon users, this also hits Onda.Samples (ref https://github.com/beacon-biosignals/Onda.jl/pull/68):
julia> segments_table = DataFrame(Arrow.Table("blah.arrow"))
ERROR: MethodError: Cannot `convert` an object of type
  Onda.Samples{Base.ReshapedArray{Float64, 2, SubArray{Float64, 1, Arrow.Primitive{Float64, Vector{Float64}}, Tuple{UnitRange{Int64}}, true}, Tuple{}},Onda.SamplesInfo{String, Vector{String}, String, Float64, Float64, Int16, Float64}} to an object of type
  Onda.Samples{Matrix{Float64},Onda.SamplesInfo{String, Vector{String}, String, Float64, Float64, var"#s157", Float64} where var"#s157"<:Union{Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}}
Closest candidates are:
  convert(::Type{T}, ::T) where T at essentials.jl:205

So the more I've thought about it, the more I think we should change the getindex method on Arrow.List to just return a full Vector instead of a view. The user originally saved a vector and they probably want a full vector out, so we should respect that. We can potentially keep the view there and just make sure that it gets converted to a full Vector on the StructTypes.construct call (I'm pretty sure we have a method right now that passes a view through as a full vector). I can get to this pretty soon, unless someone else wants to take a stab at it.

Ok, haven't added tests yet, but I think this is all that's needed. @ericphanson, would you mind checking your use-case? If you're so inclined, provide a test I can add to my PR?
https://github.com/JuliaData/Arrow.jl/pull/182

Thanks! I can confirm with Arrow#main my original use-case works as does the Onda.Samples one. I think the MWE from my original post could serve as a test-case too, although it looks like you added one to the PR already. Let me know if you'd like any others and I can try to make one.

I was trying to come up with a MWE for #199 and came across
julia> col = [(; b=1), missing]
2-element Vector{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}}:
 (b = 1,)
 missing

julia> table = [(;a = col)]
1-element Vector{NamedTuple{(:a,), Tuple{Vector{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}}}}}:
 (a = [(b = 1,), missing],)

julia> Tables.rowtable(Arrow.Table(Arrow.tobuffer(table)))
ERROR: TypeError: in new, expected Vector{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}}, got a value of type SubArray{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}, 1, Arrow.Struct{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}, Tuple{Arrow.Primitive{Int64, Vector{Int64}}}}, Tuple{UnitRange{Int64}}, true}
Stacktrace:
 [1] macro expansion
   @ ~/.julia/packages/Tables/uYJXY/src/namedtuples.jl:46 [inlined]
 [2] _iterate(rows::Tables.NamedTupleIterator{Tables.Schema{(:a,), Tuple{Vector{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}}}}, Tables.RowIterator{Tables.CopiedColumns{Arrow.Table}}}, st::Tuple{})
   @ Tables ~/.julia/packages/Tables/uYJXY/src/namedtuples.jl:37
 [3] iterate
   @ ~/.julia/packages/Tables/uYJXY/src/namedtuples.jl:58 [inlined]
 [4] iterate
   @ ~/.julia/packages/Tables/uYJXY/src/namedtuples.jl:57 [inlined]
 [5] copyto!(dest::Vector{NamedTuple{(:a,), Tuple{Vector{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}}}}}, src::Tables.NamedTupleIterator{Tables.Schema{(:a,), Tuple{Vector{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}}}}, Tables.RowIterator{Tables.CopiedColumns{Arrow.Table}}})
   @ Base ./abstractarray.jl:843
 [6] _collect
   @ ./array.jl:608 [inlined]
 [7] collect(itr::Tables.NamedTupleIterator{Tables.Schema{(:a,), Tuple{Vector{Union{Missing, NamedTuple{(:b,), Tuple{Int64}}}}}}, Tables.RowIterator{Tables.CopiedColumns{Arrow.Table}}})
   @ Base ./array.jl:602
 [8] rowtable(itr::Arrow.Table)
   @ Tables ~/.julia/packages/Tables/uYJXY/src/namedtuples.jl:99
 [9] top-level scope
   @ REPL[41]:1

Here, I didn't mean to do table = [(; a= col)] and had meant to do just table = (; a = col) (which does work). However, I think the version that errors here should still work?
I thought it kind of looked like this issue again.


Question: fast hop

Hi,
I had a look at the doc, but I couldn't find if there was a way to do the following:
After I press ctrl+h (i.e. hop.hop), it would be great to directly open the file which corresponds to the letter, rather than going to it (and then having to tap enter).
If there isn't way I'd be happy to try to add it as feature that could be set in the config!

@Nacho114
I was able to achieve this by doing the following
["<C-Space>"] = function(prompt_bufno)
    telescope.extensions.hop._hop(prompt_bufno, { callback = actions.select_default })
end,


include 2 extra packages required on ubuntu

include 2 packages libssl-dev (pycurl required) and zlib1g-dev (lxml required)

Which version of ubuntu?

Ubuntu 16.04 LTS amd 64

Ok, will check it out.


Discrepancy between docstring and code for GeneralizationAcrossTime

Hey all - I was looking into the default behavior of the GAT class, and there seems to be a difference between the docstring and the code for when the user does not provide their own fitting class:
From the docstring:
clf : object | None
    An estimator compliant with the scikit-learn API (fit & predict).
    If None the classifier will be a standard pipeline including
    StandardScaler and a linear SVM with default parameters.

The code:
    if clf is None:
        scaler = StandardScaler()
        estimator = LogisticRegression()
        clf = Pipeline([('scaler', scaler), ('estimator', estimator)])

Shouldn't estimator be an instance of LinearSVC?

(I am happy to fix with a quick PR but let me know if the docstring should read LogisticRegression, or if the code should be changed to LinearSVC)

Indeed PR welcome

So which would you like? Should the docstring match the code, or the code match the docstring? I don't know what the original plan was.

Update docstring

On 28 mai 2015, at 23:30, Chris Holdgraf<EMAIL_ADDRESS>wrote:
So which would you like? Should the docstring match the code, or the code match the docstring? I don't know what the original plan was.
—
Reply to this email directly or view it on GitHub.

Check out #2164


fix: ls: Remove printing trailing space

Paths are separated by a newline, printing space only hinders parsing.
Also, what do you think about printing path.display() instead of {path:?}? It would ease parsing as well.

Hey @varqox Thanks for the PR!
I agree that we should also use path.display() here.
Moreover another suggestion: Why not (additionally) add a --json option? This would allow for much better parsing, actually... About the json content, you could have a look at what restic currently offes...

And https://github.com/rustic-rs/rustic/issues/1239 might be actually also a good side-catch, in case you are willing to also tackle that ;-)

Hey @varqox Thanks for the PR!
I agree that we should also use path.display() here.

I will patch the PR for that.

Moreover another suggestion: Why not (additionally) add a --json option? This would allow for much better parsing, actually... About the json content, you could have a look at what restic currently offers...

And #1239 might be actually also a good side-catch, in case you are willing to also tackle that ;-)

Let's make the changes in this PR related to the title, and other in other PRs. I can work on the other issues.

Okay, I applied the changes, you can merge now :)


Support resumable media upload

<EMAIL_ADDRESS>on 12 Nov 2012 at 4:15:
The library only supports the "simple" upload protocol. It would be very good
to support "resumable" so that large files can be reliably uploaded.

https://developers.google.com/discovery/v1/using#discovery-doc-methods-mediauplo
ad

<EMAIL_ADDRESS>on 26 Apr 2014 at 10:40:
Status changed to Accepted.

Successfully auto-migrated from code.google.com:
https://code.google.com/p/google-api-go-client/issues/detail?id=17

ResumableMedia support was added by:
https://github.com/google/google-api-go-client/commit/8ec38e5b9349a4031f50fbf37f9c10542eed18de
Although this feature is currently fully functional and supports large file uploads, the API will likely be undergoing some changes due to review feedback (to simplify the dev experience), so I'm leaving this issue open.

Commenting here in lieu of creating new issue.
In the current resumable upload implementation, upload will be resumed under limited circumstances - typically only when server returns 5xx HTTP status code. Transient transport layer errors are currently not handled, and will instead cause upload to fail.
A more robust implementation should try to differentiate between permanent lower layer errors such as reader error, and transient lower layer errors such as connection error, TCP timeout, etc. Permanent errors would cause the upload to fail immediately, while transient errors would trigger upload resumption, after exponential backoff.
I've also observed an opposite scenario where the library tries indefinitely to resume upload even though a permanent errors has occured. This can happen if the server for some reason marks the upload as failed, after which all subsequent requests for that upload will receive HTTP 400 response. Current implementation does not distinguish between 5xx and 400, and will instead react to any response status code other than 308 and 200 by starting another upload resumption cycle. I believe any 4xx response code should be treated as permanent error.

This will still be true after the incorporation of https://code-review.googlesource.com/#/c/2762/
correct?

Correct, https://code-review.googlesource.com/#/c/2762/ will add support for the case when media size is not known up-front, but will not change how various errors are handled.

What is the current state of resumable uploads in 2017?

@mcgreevy may be able to comment on the current state of resumable uploads.

My app has been getting a lot of cancelled uploads lately due to Error 503:  Backend Error. I'd be great to be able to resume the upload if possible, but I'm not seeing an obvious way to do that currently.

We already use resumable uploads and automatically retry chunks if the chunk size is non-zero and the Reader has content which is longer than this chunk size.
So, if you are seeing 503s, that means that it is the initial request (which initiates the upload) that is failing.  The code that currently performs this initial request is written to work with both resumable and non-resumable uploads.  In the case of non-resumable uploads, it is not safe to retry the request, because  some of the data to be uploaded will already have been read from the Reader.  Retrying the request would drop that data.
@jba we should at the least treat the resumable and non-resumable cases differently here: there's no reason that we can't retry the initial upload request when we're doing resumable uploads. Better than this would be to use resumable uploads always, but this would mean buffering some data in situations where we're not currently doing so, which might blow up memory requirements depending on how people are using the library. I am stretched from time right now, but will try to add some more detail to this comment next week.

This was implemented for the storage client at https://github.com/GoogleCloudPlatform/google-cloud-go/commit/8fa5f76869d7146b0f2d1ecb790b18932e5923ae.
Closing this issue because none of the other clients in this repo seem to need this, and these clients are in maintenance mode.


converted projects holder from chakra to material-ui

Description
Converted from chakra-UI to Material-UI.
Fixes #164

Not Mobile responsive yet.

Check the layout for the mobile I guess now it is fixed.

@Souvikns I think the UI is breaking at mobile point.. little bit still.

I don't know which link you are watching but, check this link

I always test first for iPhone 5 . Because that is only the second smallest screen mobile after samsung fold

Fixed it

Great work! @Souvikns


License problems.

I would like to use the library for a GPL 2 project. Is my project eligible for the GPL if it contains your code?

This looks like the 2-Clause BSD License.
See Various Licenses and Comments about Them (FreeBSD license).

As @DimitriPapadopoulos it is the FreeBSD/2-Clause BSD license, so it should be compatible with GPL.


Possible compilation errors for some compilers caused by fix issues 440

Issues are caused because lack of include for string class and issues with vector initialization as function arguments.
This issue is related to fix #440
affected compilers - older versions of gcc and ICC

Merged


w2layout transitions

When switch layout content very fast，the layout can not  has the animations on the content show.Is that
a bug?

I do not understand what you mean. Do you mean when you show/hide panel? You can specify if you want it panel show immediately or not, see http://w2ui.com/web/docs/w2layout.show

Closing issue: no response, no reproducer


Debugger dosn't show variables from std::map when that variable type has configured in natvis

VSCode Version:
1.40.0
86405ea23e3937316009fc27c9361deee66ffbf5
x64

OS Version:
Linux portable 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
GNU gdb (Ubuntu 8.2-0ubuntu1~18.04) 8.2

Steps to Reproduce:

build and run attached project
stop at nb.cpp:30
look at variable 'm' and 'v' in 'locals'

You can see natvis-configured variables in vector, but you can't see variables in map.
Also you can enable debug pretty printing from gdb in launch.json, by adding '-x ${workspaceFolder}/nb.gdb' to miDebuggerArgs. Pretty printers from gdb always shows variables from vector and map.
natvis_bug.zip

Can you please open directly against https://github.com/microsoft/vscode-cpptools


Update v1.7.0 - implementation

Tasks

[x] create_shard_key
[x] delete_shard_key
[x] discover
[x] discover_batch
[x] Sparse vectors
[x] Manhattan distance
[x] shard_key usage in API
[x] Improve conversions: From<Vec<(_, _)>> :arrow_right: From<&[(_, _)]> because we construct new Vecs anyway

Tasks after merging

Update Rust examples in documentation, add shard key selection

All Submissions:

[x] Contributions should target the dev branch. Did you create your branch from dev?
[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions:

[x] Does your submission pass tests?
[x] Have you formatted your code locally using cargo +nightly fmt --all command prior to submission?
[x] Have you checked your code using cargo clippy --all --all-features command?

Looks good :+1:
I am only missing the user perspective on the shard selector:

how does one build a shard key at the call site?
are there conversion from string?

how does one build a shard key at the call site?

Construct the Key enum, which holds a Number or Keyword variant. These are functional as soon as the user has created the shard key in the collection with that very same enum.

are there conversions from string?

No. Good idea.

@agourlay
These now work:
ShardKeySelector::from(1);
ShardKeySelector::from("a");
ShardKeySelector::from(vec![1, 2, 3]);
ShardKeySelector::from(vec!["a".to_string(), "b".to_string()]);
ShardKeySelector::from(vec!["a", "b"]);

FYI I updated one my project to use this branch.
Intellij got very confused by the new shard key parameter and did not report syntax error.
Had to rely on cargo for the migration.


Eng 1614 add update timestamps for operators and artifacts

Describe your changes and why you are making these changes
This PR adds relevant timestamps for operator and artifacts. Concretely we added a ExecutionTimestamps struct to ExecutionState to reflect PendingAt, RunningAt, SucceededAt and FailedAt time for the execution.
In order to update application logic that updates those timestamps, we made the following changes to operator execution:

make Operator object stateful to record its current execState. I think this change is valid since the object already track runtime information like metadata path.
Split current GetExecState to Poll (which access job manager and make changes) and ExecState() (which just fetch the state). The split provides better decoupling between job manager access and state retrieval, and provide better clarity on caller level. A consequence being PersistResult now becomes a pure DB API as we replaced GetExecState() call which access underlying job poll, with ExecState() which just look at the current execState based on any previous Poll().
To cleanly deal with operator result from caching, we choose to mare succeed / fail timestamp based on the timestamp of calling Poll() rather than the timestamp of execution.

Related issue number (if any)
ENG-1614
Checklist before requesting a review
Tested using api/workflow/{wfId}/result/{resultId} and confirmed all op and artf are generated with expected timestamps:
{
    "dag_id": "e62cdfcb-5f79-4377-a699-3a12b6677762",
    "dag_created_at": "2022-09-09T20:35:50.92309175Z",
    "storage_config": {
        "type": "file",
        "file_config": {
            "directory": "/home/ubuntu/.aqueduct/server/storage"
        }
    },
    "engine_config": {
        "type": "aqueduct"
    },
    "workflow_id": "ec07ec53-5bcf-4f39-ae98-0d68a719a4be",
    "workflow_created_at": "2022-09-09T20:35:50.922823575Z",
    "user_id": "0678fdc2-1641-4d42-98e4-8e4566825ba1",
    "name": "test_timestamp_succeeded",
    "description": "test",
    "schedule": {
        "trigger": "manual",
        "cron_schedule": "",
        "disable_manual_trigger": false,
        "paused": false
    },
    "retention_policy": {
        "k_latest_runs": -1
    },
    "result": {
        "id": "23a0f355-b8fb-4a42-8067-823a63db7261",
        "status": "succeeded",
        "created_at": "2022-09-09T20:35:50.948165922Z"
    },
    "operators": {
        "1459a5ac-01ec-4a57-aef0-77feb4a312d4": {
            "id": "1459a5ac-01ec-4a57-aef0-77feb4a312d4",
            "name": "aqueduct_demo query 1",
            "description": "",
            "spec": {
                "type": "extract",
                "extract": {
                    "service": "SQLite",
                    "integration_id": "1aee20a6-a1de-4458-9992-0a8854b3f4f1",
                    "parameters": {
                        "github_metadata": null,
                        "query": "\n    SELECT * FROM hotel_reviews\n"
                    }
                }
            },
            "inputs": [],
            "outputs": [
                "8147b22c-6a3e-4e76-a5d9-fb085161f2eb"
            ],
            "result": {
                "id": "15c5e187-8622-4e29-bd00-551fb7bd1c18",
                "exec_state": {
                    "user_logs": {
                        "stdout": "",
                        "stderr": ""
                    },
                    "status": "succeeded",
                    "failure_type": null,
                    "error": null,
                    "timestamps": {
                        "pending_at": "2022-09-09T20:35:50.948382594Z",
                        "running_at": "2022-09-09T20:35:52.896846686Z",
                        "failed_at": null,
                        "succeeded_at": "2022-09-09T20:35:55.399627683Z"
                    }
                }
            }
        },
        "1ec8a5df-1427-410b-a19f-bdc0dd86fd21": {
            "id": "1ec8a5df-1427-410b-a19f-bdc0dd86fd21",
            "name": " aqueduct_demo loader",
            "description": "",
            "spec": {
                "type": "load",
                "load": {
                    "service": "SQLite",
                    "integration_id": "1aee20a6-a1de-4458-9992-0a8854b3f4f1",
                    "parameters": {
                        "table": "test_timestamp_succeeded",
                        "update_mode": "replace"
                    }
                }
            },
            "inputs": [
                "eb28f619-5099-4e4f-b607-4b6fd16de1f0"
            ],
            "outputs": [],
            "result": {
                "id": "0d979b13-6ab5-452a-b728-661f5f187bf7",
                "exec_state": {
                    "user_logs": {
                        "stdout": "",
                        "stderr": ""
                    },
                    "status": "succeeded",
                    "failure_type": null,
                    "error": null,
                    "timestamps": {
                        "pending_at": "2022-09-09T20:35:50.948382594Z",
                        "running_at": "2022-09-09T20:35:52.896846686Z",
                        "failed_at": null,
                        "succeeded_at": "2022-09-09T20:35:55.399627683Z"
                    }
                }
            }
        },
        "34621b8a-4edf-4227-bd8f-8f06e3055232": {
            "id": "34621b8a-4edf-4227-bd8f-8f06e3055232",
            "name": "copy_field",
            "description": "",
            "spec": {
                "type": "function",
                "function": {
                    "type": "file",
                    "language": "Python",
                    "granularity": "table",
                    "storage_path": "operator-d2a39220-fc5f-45f1-8f11-29f54a7f1949",
                    "custom_args": ""
                }
            },
            "inputs": [
                "8147b22c-6a3e-4e76-a5d9-fb085161f2eb"
            ],
            "outputs": [
                "eb28f619-5099-4e4f-b607-4b6fd16de1f0"
            ],
            "result": {
                "id": "64be1f5c-41a6-4505-b982-3f63e45fe120",
                "exec_state": {
                    "user_logs": {
                        "stdout": "",
                        "stderr": ""
                    },
                    "status": "succeeded",
                    "failure_type": null,
                    "error": null,
                    "timestamps": {
                        "pending_at": "2022-09-09T20:35:50.948382594Z",
                        "running_at": "2022-09-09T20:35:52.896846686Z",
                        "failed_at": null,
                        "succeeded_at": "2022-09-09T20:35:55.399627683Z"
                    }
                }
            }
        }
    },
    "artifacts": {
        "8147b22c-6a3e-4e76-a5d9-fb085161f2eb": {
            "id": "8147b22c-6a3e-4e76-a5d9-fb085161f2eb",
            "name": "aqueduct_demo query 1 artifact",
            "description": "",
            "type": "table",
            "from": "1459a5ac-01ec-4a57-aef0-77feb4a312d4",
            "to": [
                "34621b8a-4edf-4227-bd8f-8f06e3055232"
            ],
            "result": {
                "id": "413b9bbd-b5c3-4f1d-9b73-576ecb0b689d",
                "content_path": "e5b7c74a-6351-4ffb-8feb-1f6a79758d59",
                "exec_state": {
                    "user_logs": {
                        "stdout": "",
                        "stderr": ""
                    },
                    "status": "succeeded",
                    "failure_type": null,
                    "error": null,
                    "timestamps": {
                        "pending_at": "2022-09-09T20:35:50.948382594Z",
                        "running_at": "2022-09-09T20:35:52.896846686Z",
                        "failed_at": null,
                        "succeeded_at": "2022-09-09T20:35:55.399627683Z"
                    }
                }
            }
        },
        "eb28f619-5099-4e4f-b607-4b6fd16de1f0": {
            "id": "eb28f619-5099-4e4f-b607-4b6fd16de1f0",
            "name": "copy_field artifact",
            "description": "",
            "type": "table",
            "from": "34621b8a-4edf-4227-bd8f-8f06e3055232",
            "to": [
                "1ec8a5df-1427-410b-a19f-bdc0dd86fd21"
            ],
            "result": {
                "id": "b3701b89-24e0-4e27-8c51-4c397fb88e44",
                "content_path": "d8255185-f7f7-4db9-90b4-895bd3ced7b1",
                "exec_state": {
                    "user_logs": {
                        "stdout": "",
                        "stderr": ""
                    },
                    "status": "succeeded",
                    "failure_type": null,
                    "error": null,
                    "timestamps": {
                        "pending_at": "2022-09-09T20:35:50.948382594Z",
                        "running_at": "2022-09-09T20:35:52.896846686Z",
                        "failed_at": null,
                        "succeeded_at": "2022-09-09T20:35:55.399627683Z"
                    }
                }
            }
        }
    }
}

[x] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[x] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[x] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[x] All features on the UI continue to work correctly.
[x] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

Thanks @kenxu95 , generally agree with inline comments! There are lots of missing pieces to set up an integration test (mostly getting dag result IDs after a wf is published) so I'm going to do that in a separate PR

Integration test task: https://linear.app/aqueducthq/issue/ENG-1640/add-integration-tests-for-fetching-workflow-and-results

@kenxu95 see #463 for integration tests :)


box2d collision

how can i make a box2d object does not affect physics world but still able to detect collision? thanks.

Can you explain a bit more, should the object itself not move either if some object hits it?
Like a zone that your object can end up in?
https://www.iforce2d.net/b2dtut/collision-filtering
If I understand you correctly you probably need to change the fixtures categoryBits and maskBits.

like when the object hits it it will not move but still it can detect collision. its like an object will pass through an object and detect collision.

Then you'll have to have a look at how categoryBits and maskBits works, try the link that I sent.

Closing due inactivity, let us know if you have more question, or hit us on discord


Markdown badges

Fix links in main README.md

Hi @GernotMaier, thanks for this fix. It indeed fixed the issue. but I found another similar one. The link to the code in the documentation is broken because there is no docs/index.md (see two screenshots below). I think we can fix that here too:
Action (click on show source):

Error message (same for main and this branch):

Could you have a look and fix it?

I looked into this and it seems that this is because sphinx-book-theme expects an index.html file inside ./docs and not inside ./docs/source. I couldn't find in simtools how to change the expected path (I imagine this is encoded in the theme). In any case I could move index.html from ./docs/source to ./docs but this would motivate us to move all the other files as well and get rid of the source directory. This goes beyond my decision alone and I need your feedback.

Fixed this by setting the "path_to_docs": as outlined in https://sphinx-book-theme.readthedocs.io/en/stable/components/source-files.html#add-a-button-to-the-page-source


Is this normal behavior?

Hi,
Thanks for this great package.
To test this I did the following, I'm using JSON on the responses and requests:
I have 2 handlers, both on root "/", one is a GET and the other a POST.
On the GET I only return a token.
On the POST I verify the token and send a new one, like:
...
        // Get token from JSON into jd.

	tkn := nosurf.Token(r)
	if !nosurf.VerifyToken(tkn, jd.Token) {
		w.WriteHeader(http.StatusBadRequest)
		w.Write([]byte(`{"message":"Different tokens"}`))
		return
	}

        // Send the new token.
	w.Write([]byte(fmt.Sprintf(`{"token":"%s"}`, tkn)))

What I would like to know if it is the normal behavior is that after getting
the token from the GET I can do all the requests to POST with that first token
that it always validates ok. I can even do e.g. 10 request to POST with the
first token, next do another request to POST with the newest token sent by
POST, then again start using the first token and it still validates.
Thanks for your help.

Hi @NCSantos,
The token is only regenerated when the cookie either expires (after 365 days by default), is deleted, or corrupted (i.e. token can not be decoded from the cookie). What you see changing every time is the masked token: 32 byte random key and 32 byte encrypt(key, token) payload. The unencrypted token stays the same for a long time and thus can be reused.
As long as the third party website can not acquire any of the tokens, this seems fine.
See this part in token.go and this part in handler.go.
Hope that answers your question.

Hi @justinas ,
When calling the GET also regenerate the token, e.g.:
Call GET, call POST with token from GET, call GET again, call POST with token from first GET is not valid.

I think you are misunderstanding what actually happens. The token in the cookie is unmasked, you can check it: it should not change whether you GET or POST as many times as you'd like. This is the value we care about. The thing that changes is the token for the forms (masked). To be more exact, this token's masking key is regenerated on every request, but the same token is masked every time.
Nosurf does not aim to prevent guarantees from double-submit of requests.

I am using curl to do the requests and was not correctly sending and saving the cookies.
Thanks for your help.

No problem, please re-open the issue if you encounter such troubles again.


SnackBar broken without animation

Bug, feature request, or proposal:
Feature
What is the expected behavior?
Ng4rc2 annimation is broken, the SnackBar doesn't work anymore due to this. I think it should work without requiring animations.
What is the current behavior?
It's broken
What are the steps to reproduce?
try to use the SnackBar with Ng4rc2
What is the use-case or motivation for changing an existing behavior?
making it work no matter what, remove the functional dep on Animation
Which versions of Angular, Material, OS, browsers are affected?
Ng4rc2 - Material2.0.0-beta.2
Is there anything else we should know?
Great job guys keep-up the good work :+1:

Angular Material currently does have a hard dependency on the animation module. We don't have any plans to change this now.

Do you think its not working with Ng4rc2  for other reasons then ?

@Bretto I don't follow what you mean. It sounded like you were saying that it doesn't work when the animation module is not available, which is expected.

lol Sorry I miss read your answer...


Gzip Compression

How can I implement compression (require('zlib'))  for marko-starter project?

Solved the issue by using regular compression library


Set the file version environment variable

This change is to set an environment variable for the AssemblyFileVersion attribute.
The version has 5 characters, the first 3 are the number of months since 2015/1/1 and the last 2 are the day of the month. @joeloff suggested this format since it is used in other places. For example, today's version is 00327.
Please review: @joeloff @pranavkm
@Eilon, @davidfowl are you okay with the version in this format?
There is a DNX change coming soon that will actually write the attribute.
Part of the fix for https://github.com/aspnet/dnx/issues/1504

That's a very wacky versioning scheme. Why not just YYMMDD? Or YYYYMMDD?
Also, why is it always 1.0..0? That would be very confusing given that our product versions are often not 1.0..0.

File versions are capped at 65k (http://blogs.msdn.com/b/msbuild/archive/2007/01/03/why-are-build-numbers-limited-to-65535.aspx). So most leading year based schemes are broken.

:watch:

I suggested the wacky scheme to give a maximum number of versions beyond the typical six year limitation we have today with the old .NET scheme

Updated. You should be able to specify the pattern now with a wildcard. If for example MVC want v6, then it can set the pattern to 6.0.*.0 and * will be replaced by the number that we autogenerate

Changed the logic to only set the number that we increment. DNX does all the rest


As a world health organisation analyst, I want to produce a report by cities of all the countries in the world about population so that I can support population reporting of the organisation.

City reports


FrozenError: can't modify frozen String

I'm getting a FrozenError when trying to fail! :bad_request in a Utopia controller with respond.with_json enabled.
Stack trace:
FrozenError: can't modify frozen String
	/home/michael/.rvm/gems/ruby-2.6.3/gems/http-accept-1.7.0/lib/http/accept/media_types.rb:117:in `strip!'
	/home/michael/.rvm/gems/ruby-2.6.3/gems/http-accept-1.7.0/lib/http/accept/media_types.rb:117:in `browser_preferred_media_types'
	/home/michael/.rvm/gems/ruby-2.6.3/gems/utopia-2.9.3/lib/utopia/controller/respond.rb:142:in `call'
	/home/michael/.rvm/gems/ruby-2.6.3/gems/utopia-2.9.3/lib/utopia/controller/respond.rb:161:in `response_for'
	/home/michael/.rvm/gems/ruby-2.6.3/gems/utopia-2.9.3/lib/utopia/controller/respond.rb:175:in `process!'
	/home/michael/.rvm/gems/ruby-2.6.3/gems/utopia-2.9.3/lib/utopia/controller.rb:143:in `invoke_controllers'
	/home/michael/.rvm/gems/ruby-2.6.3/gems/utopia-2.9.3/lib/utopia/controller.rb:161:in `call'

accept_content_types is set to text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3.
Example Utopia 2.9.3 test case:
prepend Respond, Actions
respond.with_json

on 'foo' do
	fail! :bad_request
end

oh crap, I thought I fixed all of these.

Okay, it turns out utopia is still using ~> 1.6 which had some issues with frozen headers.
So, I'm updating it to use ~> 2.1 which doesn't use strip!.

Thanks, working great.


Reversing flags is expensive

When reversing the flags this is an expensive operation as also flag encoders that are not used for one specific traversal have to be properly swapped. Instead we could define one bit (e.g. first) which we use as indication for "forward storage" or "reverse storage", then on access of direction dependent properties like speed we can access the bit ranges dependent on this bit0:
class SomeFlagEncoder {...
 double getSpeed(flags) {
  if(isBit0Set(flags)) // if bit0 is 1 this defines 'forward'
     return forwardSpeedEncoder.getDoubleValue(flags);
  return reverseSpeedEncoder.getDoubleValue(flags);
}}

This way we can reduce the whole EncodingManager.reverseFlags method to one bit operation flipping the first bit, avoiding the loop and avoiding all swap operations (i.e. unrelated and even related). But introducing the isBit0Set for all direction dependent properties.
We could even avoid to store the direction with this one bit. Instead we could use the nodeA and nodeB as direction indication (e.g. nodeA>nodeB defines as 'forward') and store the flags accordingly. The only problem then would be that one would need to create the flags either in forward or in backward direction dependent on this low level storage which would be too ugly or we still need one potential reverseFlags call at least at writing time. Also the bit0 solution is edge independent and would work without #472.
Take into account shortcuts of CHGraph. See EdgeAccess.reverseFlags where we swap the two accessibility bits and now would need to read the forward&backward property dependent on bit0

Fixed via #1447


Corrected the URL for the library 'Flask API'

Thanks, good catch! I actually had to change the source markdown file so I'm going to close this PR, but it's fixed now. Thanks again @kevinisaac

My pleasure @makaimc :+1:


If there are empty lines in jls output jails get skipped

jls sometimes outputs empty lines. This causes any references to match_jail to fail on the line.strip().split():
"/home/ajette/ias-platform-management/deployment/connection_plugins/sshjail.py", line 91, in exec_command
jcmd = ['jexec', self.get_jail_id()]
File "/home/ajette/ias-platform-management/deployment/connection_plugins/sshjail.py", line 45, in get_jail_id
self.match_jail()
File "/home/ajette/ias-platform-management/deployment/connection_plugins/sshjail.py", line 28, in match_jail
jid, name, hostname, path = line.strip().split()

I really should get tests on this.


Downgrade dashmap

Due to https://rustsec.org/advisories/RUSTSEC-2022-0002

Thanks for the contribution! From reading the issue, I think we're directly affected (as is everything that uses derefs or direct calls to .value() on the refs returned from Dashmap.get.
I feel I may have to cut a point release for this one.
bors merge

Thanks!
It's a pity cargo doesn't support excluding a particular version from dependency resolution (rust-lang/cargo#5286), as the issue is surely going to be fixed with the next dashmap release.

As dashmap has fixed this now, I'm inclined to bump to 5.1.0 in #110 (and roll a new release) around the 9th or 10th of february. Let me know until then if it's not a good idea after all!


Upside-Down Issue

Hello,
We are trying to use the latest pdf.js build to show pdf in our PDF Embedder WordPress plugin
We are able to use the latest library but there is some problem with displaying pdf. For more clarification please see the screenshot attached.

Please let me know what I can do for this to correct the upside-down issue.
Thanks & Regards,
Bhavesh Akhade

When opening an issue, you need to provide all of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md and note https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us on the IRC channel -- keep in mind that just code snippets won't help us troubleshoot the problem.

Hello,
Thank you for your quick response.
Sorry for the inconvenience caused to you.
Attach (recommended) or Link to PDF file here:
https://github.com/aumweb/pdf-embeder.git
Configuration:
Web browser and its version: Google Chrome Version 78.0.3904.108
Operating system and its version: Windows 10
PDF.js version: 2.4.142
Is a browser extension: No its a WordPress Extention
Steps to reproduce the problem: 1. 2.
We use the PDF.js library to show the embedded pdf on WordPress Front-end
What is the expected behavior? (add screenshot)

What went wrong? (add screenshot)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
http://inuscg.com/wordpress-inuscg/?page_id=859
Please let me know if you require more details
Thanks & Regards,
Bhavesh Akhade

Attach (recommended) or Link to PDF file here:
https://github.com/aumweb/pdf-embeder.git

That's not an actual PDF document (i.e. one with a .pdf file extension).

Is a browser extension: No its a WordPress Extention

That question refers to https://github.com/mozilla/pdf.js#browser-extensions.
Note that "WordPress" is not, in any way, affiliated with the PDF.js project and as such we cannot provide support for that here.
Finally, none of the links provided above seem to point to examples which are "short well-documented example", making it extremely difficult for anyone to tell what's happening.
Please keep in mind that this is, first and foremost, an open source bug-tracker rather than a support forum, as such all issues must be clear and concise in order to be valid.


Marker Collision Feature

Feature Description
As per request by many users in StackOverflow and couldn't find any documentation or implementation in angular for marker collision.
Use Case
As Markers could collide or overlap it should make that marker clusterer by not making it clusterer but by single marker on zooming out. This feature was in superclustererplus but not having in this make my projects so slow because of huge data.

Duplicate of #24978.


Update OSX.gitignore

It looks like the line ending have been clobbered - making it unclear what the actual change is.
Could you see if you can restore those?

So just .temp files are being added to the .gitignore file?

Correct.

@fdizile Alright, I say we merge it.
:+1:

Can we just add the .temp? That should be simple, right? Just rebase and merge?
If we revert all the changes and then commit the single change it should all be fine.

Let's start this PR fresh - the line endings change means this is a no-go.