Java-aligned Cadence Client

We're going to try to align the .NET Cadence client to look more like the Java client.  The current API surface area is a combination of the GOLANG client with a bit of the Java client mixed in.
First thoughts:

[x] Root namespace will be Neon.Cadence and we're going to put most user-facing API elements in the root namespace (I don't like having to hunt around for types and needing a bunch of duplicate using statements in source files.

[x] The main client will be called CadenceClient.  This maps loosely to a combination of IWorkflowService and WorkflowClient.
It looks like Java integrates the domain client functions here, so we will too.

[x] Each CadenceClient instance will map to and manage a cadence-proxy process, like we do now.  We'll need to decouple the workflow operations though (the old scheme was broken anyway)

[x] .NET is not going to implement that static Workflow and Activity classes like Java does.  The problem is that the Java client depends on being able to manage threads such that they can save the current workflow or activity state as thread-local data.  The problem with this for .NET is that we're taking advantage of .NET Task and async/await which is perfectly suited to workflow implementations which by design mainly coordinate other workflows and activities with brief logic computations.  This will be the case as well for many activities that simply do some I/O (network, file, database,...) which will generally be able to be coded as async as well (I'm probably also going to support dedicated threads for CPU intensive activities).
There are a few reasons for not supporting these static classes:

Although .NET provides AsyncLocal<T> as a way to manage ambient Task state, it only works for code executing in a thread associated with the parent task or any of its descendants.  If a task creates a thread, AsyncLocal<T> will return NULL when called on the new thread which will probably be unexpected by most developers.  This isn't a huge deal for workflows because folks really shouldn't be starting threads for these anyway, but this will be problematic for activities.

Static classes like these are generally considered to be an anti-pattern for .NET apps these days.  Static classes cannot implement interfaces which means they can't easily be mocked for unit tests.

This just feels weird to me.  There are very few .NET APIs I can think of that publicly expose static classes like this to expose ambient thread/task state like this to regular developers.  Frameworks like ASP.NET do this sort of thing internally, but there's almost never a need for developers be aware.

The first cut at the .NET client will define IWorkflowBase/WorkflowBase, IActivityBase/ActivityBase and will require that user workflow and activity classes inherit or implement these.  The nice thing about this is that a workflow or activity can simply pass itself to library methods to give the library access to all of the workflow/activity properties and methods.  This will work consistently regardless of how the library does threading and just seems cleaner.  To align better with the Java client, we're going to implement the IWorkflow/Workflow, and IActivity/Activity interfaces and classes.  This map closely to the Java static Workflow and Activity types but are not static for .NET.  Instead, IWorkflowBase defines the IWorkflow Workflow property and IActivityBase defines the IActivity Activity property with the expectation that the workflow and activity implementations will use the properties to obtain state and perform operations.  This will look very much like their Java counterparts.
This means that the .NET client will instantiate a new instance for each activity, unlike the Java client which uses a shared instance for each activity type.  This will relax the Java requirement that activity implementations be thread-safe and should also seem na tural to migrating Java developers unless they're actively coordinating activities using instance members which seems unlikely.  You can still do this in .NET but you'd need to use static members for this (which seems more natural to me anyway).

[x] Test on .NET Framework.

[x] We need to collaborate with Uber on being notified of workflow evictions so maintain .NET alignment with the GOLANG client.  I need to do some more thinking about what we'd do with terminated workflows.  Dispose() will fail if the task hasn't completed.  The best I can think of right now is for workflow executions to include a cancellation token, which we'll cancel.
Moved to #656

[x] The current cadence-proxy is not handling workflow methods that return a future correctly and it's possible for operations that are not immediately awaited to be executed by the cadence-proxy out-of-order.  The fix is to not implement these methods using async, manually submit the operation to the proxy and then wait for the proxy to send a new AckReply message that acknowledges that it has make the corresponding client code before returning from the .NET method.  This will ensure that the networking/task/threading stacks don't end up messing with the execution order.  This will require some cadence-proxy changes.
Moved to #627
ANSWER: I believe the new workflow code that ensures that only a single cadence-proxy operation may be in flight at a time for a given workflow will address this.

[x] Java API doesn't look like it supports optional method parameters.  I believe this is why the Cadence Java API defines all of these request classes.  We're going to take advantage of C# optional parameters to avoid defining many/most of these request classes.

[x] The GOLANG client doesn't appear to support batched operations (and I'm not sure what these are) so .NET won't support these either.

Implementation Tasks:

[x] Update the cadence-proxy build to temporarily copy the output binaries to the new library.

[x] Port CadenceClient and all of the messages so we can manage the cadence-proxy process and verify that we can talk to it.

[x] Align the CadenceClient APIs with IWorkflowService:

[x] DeprecateDomain
[x] DescribeDomain
[x] DescribeTaskList - moved to #699
[x] DescribeWorkflowExecution - moved to #699
[x] GetWorkflowExecutionHistory - moved to #699
[x] ListClosedWorkflowExecutions - moved to #700
[x] ListDomains - moved to #699
[x] ListOpenWorkflowExecutions - moved to #700
[x] QueryWorkflow
[x] RegisterDomain
[x] RequestCancelWorkflowExecution
[x] External activity operations:

[x] RecordActivityHeartbeat
[x] RecordActivityHeartbeatById
[x] RespondActivityTaskCanceled
[x] RespondActivityTaskCanceledByID
[x] RespondActivityTaskCompleted
[x] RespondActivityTaskCompletedByID
[x] RespondActivityTaskFailed

[x] SignalWithStartWorkflowExecution
[x] SignalWorkflowExecution
[x] StartWorkflowExecution
[x] TerminateWorkflowExecution
[x] UpdateDomain

[x] Implement a worker that executes both activities and workflows.  The cleanest way would be to include individual boolean properties in the message sent to cadence-proxy.

[x] Are we already supporting DisableStickyExecution and StickyScheduleToStartTimeout  already for new workers?  These seem new to me.

[x] These methods have new domain parameters that need implementing.  We should also verify that we've implemented this for all other methods:

[x] CadenceClient.DescribeWorkflowExecutionAsync()
[x] CadenceClient.QueryWorkflowAsync()
[x] CadenceClient.CancelWorkflowExecutionAsync()
[x] CadenceClient.TerminateWorkflowAsync()
[x] CadenceClient.SignalWorkflowWithStartAsync()

[x] Replace the old Neon.Cadence and Test.Neon.Cadence projects with the new implementations.  Also replace Neon.Xunit.Cadence.CadenceFixture with Neon.Xunit.Cadence.CadenceFixture2.

[x] Restore the cadence-proxy build so that it doesn't make second copies of the binaries.

[x] Implement logging

[x] Implement metrics.  Here are some possible libraries for doing this:

metrics.net: This one looks pretty good at first look and was ported from a Java project.  It has several adapters including Graphite, ElasticSearch, Prometheus, DataDog, DataDog, and Google Analytics.  It's also possible to build custom adapters.
Moved to #657

[x] Additional Testing:

[x] CadenceClient.DeprecateDomainAsync()

[x] CadenceClient.DescribeDomainByIdAsync()

[x] CadenceSettings.DefaultDomain can be NULL now.
Tracking these in #700

[x] Implement IDataConverter and add a property to CadenceClient so developers can customize this.  We'll default this to a JSON.NET based implementation.

Differences from the Java Client:

The .NET API is Task centric and relies on C# async/await primitives.  Threads should never be used in workflows but may be used in activities.  Most API methods will be async and their names will typically match the corresponding Java API, but with Async appended to match .NET conventions.

The .NET API uses C# properties rather than mirroring the Java getXXX()/setXXX() method pattern.

Durations are typically expressed using .NET TimeSpan.  This includes durations that the Java API expresses as seconds.  Under the covers, these will be converted to seconds where necessary and we rely on the Cadence GOLANG client to handle any rounding.

Time values are exposed using .NET DateTime.  We typically name any time properties with TimeUtc as the suffix to make it clear that times are relative to UTC.

Renamed IServiceClient to CadenceClient and .NET provides the CadenceSettings class to specify the target cluster, etc.  IServiceClient just seems to generic to me and seems likely to result in name conflicts (I've implemented things named IServiceClient in the past).  CadenceClient is disposable which follows typical .NET conventions and is also serializable from/to JSON and YAML to make it easy to implement configuration via Kubernetes configs, etc.
.NET also rolls the Java WorkfowClient capabilities into CadenceClient so we will not be providing a WorkflowClient class.  This works because CadenceClient can be constructed with a default Cadence domain and it's also possible to specify other domains as parameters when required.  This should satisfy most use cases.

The Java client does not require preregistration of workflow and activity types (which is nice).  Unfortunately, the .NET client will require preregistration because the underlying GOLANG client requires explicit registration and it's not possible to register new types after the workers have started.  .NET will mitigate this by providing methods to register workflow and activity types individually or to register all (tagged) workflow and activity types in an assembly.  The latter will be almost as convenient as Java for applications that need to register everything while also allowing finer control over what gets registered.

The .NET client includes the Domain property in WorkflowOptions and ActivityOptions.

The .NET CadenceClient includes a DataConverter property which can be customized by the end user.  This defaults to an internal JSON based implementation.  We don't currently provide a way to customize the converter for specific workers yet (or for specific workflow stubs, if that's a feature).  We'll add this in the future.  The priority will be stub converter first, worker converter next, and finally the client's converter.

Class, Interface, Method, Property, Enumeration names have been changed follow C#/.NET naming conventions: PascalCase for public names, CamelCase for internal/private names, Async suffix for async methods, etc.

Strings are nullable in C#/.NET, so the .NET client doesn't need the extra wrapper types that Java/GOLANG has so that NULL can be specified.

The .NET API uses default parameters where appropriate so that developers won't have to construct separate objects to pass as parameters for most situations, so we're not following the Java client's request/response naming convention for method parameters.  Because of this, it doesn't make a lot of sense to use that naming convention for results either.  Instead of doing this, we're going to just name the result type to be closer to what the result actually is.  So, instead of having CadenceClient.DescribeDomainAsync() return a DescribeDomainResponse, it will return DomainDescription which is much more consistent with .NET conventions.  We're going to do this throughout the code.

[x] RetryOptions specifies the non-retryable errors a bit differently than the Java client.  We can't specify arbitrary .NET exceptions like Java does because the retries are actually being handled by the GOLANG client.  We currently allowing developers to specify GOLANG error strings but it may be possible to more closely align this by allowing the specification of exceptions that derive from CadenceException.  We'll take another look when the port is further along.
Moved to #662

securityToken: Both the Java and GOLANG clients accept security tokens as parameters to various requests.  I'm not entirely sure where these come from or how they work.  We're going to include this in the CadenceSettings associated with the CadenceClient and we'll implicitly pass along with the operations that accept such a token and we'll figure out how this works later.
This assumes that there are no important use cases where an application needs to use different security tokens on a particular client instance.  Applications can workaround this limitation by opening another client with the new token.  If we find that using multiple security tokens on a single client is important, we'll add optional securityToken parameters to methods where they make sense and use the client's token as the default.

The Java client implements the builder pattern for initializing things like settings and makes setting properties read-only.  .NET is not going to implement this pattern and instead, we're going to have the properties by read/write so things like settings will be persistable as JSON/YAML or can be initialized via the convenient C# object initialization syntax.

.NET doesn't currently support cross-datacenter replication.  This is an advanced feature that we're going to defer to a future release.

Some Java methods allow a custom identify to be specified.  .NET will always use the identity specified when creating the client.

CadenceClient can be associated with a default domain specified by CadenceSettings (this can be NULL).  The API defines various methods that include domain as an optional parameter.  These methods will default to use the client's default domain but will require that domain be passed as a parameter when the default is NULL.  This will be easy to use while also maintaining the Java ability to override the domain.

Unit Testing: .NET doesn't implement an emulator yet and also doesn't provide ways to override workflow and activity type registrations for testing like Java does.  We're deferring these for a month or two while we get the basics working and have a chance to try this in production.  We'll unit test against a local nforgeio/cadence-test Docker container in the meantime.

.NET Worker class differs from the Java class due to differences in how the GOLANG API works:

Workflow and Activity registrations are implemented on the CadenceClient rather than Worker to correspond to the GOLANG implementation.

The only real operation .NET workers support is Worker.Dispose() which can be used to gracefully stop a worker before disposing the associated CadenceClient.  Java worker APIs such as getTaskList(), suspendPolling(), resumePolling(), isSuspended(), are not implemented on GOLANG and are not supported by .NET either.

[x] We need to figure out how to create a new workflow that is disconnected from the existing (cancelled) workflow such that the new workflow can clean up things.
NOTE: The Java client doesn't appear to have this functionality.  I suspect they just tell folks to start an external workflow to handle cleanup.

External activity heartbeats and completion works a bit differently from the Java client.  The completion methods for Java are in a separate activity client class where as .NET includes these in CadenceClient.  The method names have also been changed.

IWorkflowService/CadenceClient: We're going to defer implementing these.  I'm assuming that these are lower-level functions that are used to implement the workers and that the worker implementations will probably be good enough for most real-world scenarios:

PollForActivityTask
PollForDecisionTask
ResetStickyTaskList
RespondActivityTaskFailedByID
RespondDecisionTaskCompleted
RespondDecisionTaskFailed
RespondQueryTaskCompleted

WorkerOptions is a bit different from Java due differences between the Java API and GOLANG API underlying the .NET client:

.NET doesn't include ActivityPollerOptions and WorkflowPollerOptions.
.NET doesn't include InterceptorFactory
.NET doesn't include these retry options: ReportActivityCompletionRetryOptions, ReportActivityFailureRetryOptions, ReportWorkflowCompletionRetryOptions, ReportWorkflowCompletionRetryOptions and ReportWorkflowFailureRetryOptions.

We only partially implemented metadata maps.

[x] It looks like the Java API uses its DataConverter to serialize memo values.  We should do the same.  Moved to #661

[x] The Java Workflow class implements workflow-safe queues.  I need to investigate how these work and see if we can implement these on .NET via built-in local activities or something.

.NET supports queuing but the model is not as complete as what the Java client offers.  .NET queues are buffered and will support blocking behaviors when a queue is full.  Note that we also ensure that the underlying GOLANG buffered channel capacity is at least 2 so that queue won't block until the message is received.  We also don't provide a way to peek the next value from the queue without removing it.
Moved to #658

[x] Additional workflow/activity method attributes:

[x] MethodRetry - activity and child workflow methods
[x] CronSchedule - workflow methods

Moved to #659

[x] .NET client doesn't currently implement workflow stack trace queries.
Moved to #660

CADENCE-PROXY: required changes:

[x] Added the string SecurityToken property to the messages below (these are for the future; cadence-proxy should handle serialization, but you'll otherwise ignore these for now):

[x] DomainRegisterRequest
[x] DomainUpdateRequest

[x] ActivityCompleteRequest adds the Domain, WorkflowId, and RunId properties.  You'll ignore these if TaskToken is not NULL.  When TaskToken is not set, you'll call CompleteActivityById(), passing the other properties.

[x] ActivityRecordHearthbeatRequest adds the Domain, WorkflowId, RunId, and ActivityId properties.  You'll ignore these if TaskToken is not NULL.  When TaskToken is not set, you'll call RecordActivityHeartbeatById(), passing the other properties.

[x] Support a worker that supports both activities and workflows.

These messages add the Domain property so cadence-proxy can create and cache GOLANG workflow clients:

[x] ActivityExecuteRequest
[x] ActivityRegisterRequest
[x] WorkflowDescribeExecutionRequest
[x] WorkflowGetResultRequest
[x] WorkflowQueryRequest
[x] WorkflowRegisterRequest
[x] WorkflowSignalRequest
[x] WorkflowSignalWithStartRequest
[x] WorkflowTerminateRequest

The cadence-proxy will need to implement these new messages:

[x] DomainDeprecateRequest/DomainDeprecateReply

The Java-like port is basically complete.  There are a few backlogged items we're tracking separately now but otherwise, we're very close for an initial release.


M2Eclipse complains with "Plugin execution not covered by lifecycle configuration"

As a developer using M2Eclipse, I see Problems with the text "Plugin execution not covered by lifecycle configuration". These Problems can be avoided by defining an appropriate lifecycle-mapping-metadata.xml file.

See https://github.com/mojohaus/versions-maven-plugin/pull/4

Has been integrated. Thanks.


Clone content

clone content from helix-website
update fstab
publish content

I reverted it back to the original since we are keeping the helix-website separate in another repo and this should represent a 1:1 to the original boilerplate.
This will help us to A/B test performance, etc.


"Ok, resume game" and "Open backpack" not working.

Whenever you get a new item and either look at it or are forced to in mid-game, both the buttons to open the backpack and resume the game do not work. Hovering the mouse over both of them does not change their color. In-game, this can be mitigated by pressing ESC, although it will pop up with every death, and if looked at in the main menu, you must restart the game as it's essentially softlocked.

Fairly certain that's just jank TF2 behavior, as this HUD doesn't even alter the file that has that menu. Don't know how to fix that aside from maybe trying to opening the console and typing "hud_reloadscheme" if that happens.


chore(plugin-search): adjusts code comment when attaching hooks

Description
Tweaked code comment in Search index.ts

[X ] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[X ] Chore (non-breaking change which does not add functionality)

Thanks @58bits!


Dev

Hi @locoalien - Did you intend to create a PR against the sample repo? It seems like perhaps you wanted this just as your own fork of the repo.

Closing this PR since every commit is causing notifications to go out to anyone watching this repo.
@locoalien Please create a fork and do your development there.


Docker web dev environment

Hi, just wanted to ask.
I know of and have always used a super easy to use docker recipe from a well maintained repository. Would that also be something worth adding to the list?
It has:

Clear and concise documentation
Pre built to support most projects that require php, node, mySQL, Redis, mailhog and even elasticsearch
easily customizable per the needs of your project

I'd love to share it with people, especially those starting out because it was such a huge help for me at the beginning of my learning and still is to this day.

It could be added under other i think?
You could create a PR i will leave it open for @markodenic to decide if he sees fit.

Hey @MizouziE. We don't have a section for that.


Support electron-mocha

Electron-mocha is a special flavour of mocha that runs test within Electron context.
It works fine with nyc, as long as instrumentation is done by using mocha hooks, like coffee-coverage does.
But I found out it requires some small adaptation to make it works.

Coverage decreased (-0.3%) to 76.545% when pulling 0ec8c3239a0816a87b0f68a299f83d48eb65bdcb on feugy:master into 36e891203b1737b95780df62ea16be52d4e544e1 on benbria:master.

Coverage decreased (-0.3%) to 76.545% when pulling d9341fdd06046aeea291047fc97db5c43696fa92 on feugy:master into 36e891203b1737b95780df62ea16be52d4e544e1 on benbria:master.

Coverage decreased (-0.3%) to 76.545% when pulling 0c50cce77f234b608bed969c37b4580693293b01 on feugy:master into 36e891203b1737b95780df62ea16be52d4e544e1 on benbria:master.

Coverage decreased (-0.3%) to 76.545% when pulling 0c50cce77f234b608bed969c37b4580693293b01 on feugy:master into 36e891203b1737b95780df62ea16be52d4e544e1 on benbria:master.

Coverage decreased (-0.3%) to 76.545% when pulling 0c50cce77f234b608bed969c37b4580693293b01 on feugy:master into 36e891203b1737b95780df62ea16be52d4e544e1 on benbria:master.

Coverage decreased (-0.3%) to 76.545% when pulling 0c50cce77f234b608bed969c37b4580693293b01 on feugy:master into 36e891203b1737b95780df62ea16be52d4e544e1 on benbria:master.

Hello @jwalton.
I'm sorry, but I couldn't find any way to increase coverage on my code. Adding test:electron to CI to cover the new report in src/register.coffee didn't helped.

Hello here!
It's been a while since I had to use coffee,-coverage and electron-mocha.
Yesterday I find out a regression introduced by the newest version of the coffeescript compiler.
Between coffeescript 2.0.2 and 2.3.1 (the latest at the moment), an internal changes was introduce, and AST nodes don't necessary have locationData attached.
I've added a test to replicate this situation, it occurs when using blocks such as single-line for loops.


Why not data-binding in GardenPlantingAdapter?

I see still there are some findViewById calls and use non-data-binding style.
Is that the contract of this project that data-binding would not be used in list-view like objects?
I want a confirm, otherwise I will try a PR to optimize it with data-binding.

Yes, the adapters should also use data binding.  That'd be great if you could open a PR for data binding in GardenPlantingAdapter.


Hook for libraries without pkg-config support

This could then be used to run things like sdl2-config, and similar to retrieve the same information. Crates could provide code to extract these things and then provide the same information as pkg-config to metadeps.

@gdesmott This was accidentally closed instead of the other issue

Oups, thanks :)

How do you handle CMake's system though? It seems rather non-trivial, see e.g. this.
From what I understand in meson they create a small temporary cmake build system just for doing dependency checks, and from looking at the code of that it doesn't seem very easy.
But if you want to implement something around that, that would be great :)

@jalcine which CMake libraries not shipping pkg-config file are you looking to support? I'm wondering if they are that common. From the common above supporting those seems a lot of work, much more than shipping a pkg-config file in those libraries I suspect.

Yeah CMake modules are not really meant to be used outside CMake, they need to be interpreted by it. But there are quite a few projects only shipping a CMake module unfortunately.
The other more easy case is the *-config scripts that e.g. SDL, Python, OpenSSL, etc are shipping with (but they also all have pkg-config files not IIRC).

I wonder what would be the correct way to handle Windows builds? If you get a Gnu toolchain pkg-config is a thing, but in the MSVC world it seems to be not so much a thing. Not sure what the correct approach would be.

So I'm still working on this but I figured how to resolve my dependencies from CMake via Cargo. I build a project that links against everything I needed and then write out properties that hold information I'd want to the cache (include dirs, compiler flags, library linking search paths, etc). I then use cmake -LA to find those properties and parse them out.
It's definitely rough of a solution and I can see a lot of cleanup for it but I think it's the way outside of just using something like Meson for building Rust projects.
On Sat, Nov 28, 2020, at 08:48, Sebastian Dröge wrote:

There isn't really one. Some things are using CMake, others use
pkg-config, others have nothing
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gdesmott/system-deps/issues/3#issuecomment-735254743, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADOMBESL436G245VEVJDMTSSESU5ANCNFSM4MXC2HMQ.

@jalcine That's basically what meson is doing for its cmake dependency resolver that I mentioned above. That's definitely a possible approach

Ah I didn't know that! Tbh if this works, I can work on a crate to abstract this for other projects (I def do want to do this).
For context, I'm doing this for a KDE cross platform application and KDE goes all in on CMake (for some reason).
On Sat, Nov 28, 2020, at 08:59, Sebastian Dröge wrote:

@jalcine https://github.com/jalcine That's basically what meson is
doing for its cmake dependency resolver that I mentioned above. That's
definitely a possible approach
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gdesmott/system-deps/issues/3#issuecomment-735256102, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADOMBEBLHQREQHSAUT2NCDSSET7XANCNFSM4MXC2HMQ.


WFOV Hack - 8KX culling almost all gone except for a little in the left eye periphery

The culling is almost all gone on the 8KX except for just a little remaining in the left edge of the left eye. Is there any more that can be done with this hack, or is it already at its limits?

Tested yesterday. Almost perfect. Exactly the same observations here, also on 8KX. I tried various IPD offsets in Pitool, world scale changes and other things. No change. The culling occurs only at the very left edge, in my case it is a little worse than without the hack.  The remaining sides are completely clear. TBH - this will be a huge feature. Thank you for an already oustanding job! :)

No kidding. I love that a 95% fix for the 8KX ends up just being a quiet footnote in some beta patch notes. This is a huge deal.

SU10 fixes the culling issues.
WFOV Hack will be removed.


improvement: more runtime information

Pull Request Test Coverage Report for Build 1154

6 of 6 (100.0%)  changed or added relevant lines in 2 files are covered.
20 unchanged lines in 7 files lost coverage.
Overall coverage increased (+0.02%) to 63.201%

Files with Coverage Reduction
New Missed Lines
%

core/config/sr_config.go
2
0.0%

core/loadbalancer/randam.go
2
64.29%

eventlistener/loadbalance_event_listener.go
2
71.43%

core/registry/servicecenter/util.go
3
48.21%

core/handler/tracing_handler.go
3
30.59%

server/highway/highway_conn.go
4
80.41%

core/registry/index.go
4
78.75%

Totals

Change from base Build 1153:
0.02%

Covered Lines:
5003

Relevant Lines:
7916

💛  - Coveralls


Update for use with Terraform 0.12

These changes are all from running terraform 0.12upgrade.
Note that terraform-docs is also removed from pre-commit, due to the following incompatibility with terraform 0.12:
hookid: terraform_docs

2019/06/06 17:16:36 At 7:12: Unknown token: 7:12 IDENT local.production_workspace

It will be re-added later when that issue is corrected.

I think you just need to update the version of Terraform being installed by TravisCI (in .travis.yml).


[Bug]: two logos showing at mid breakpoint in app header

Describe the bug
At a middle breakpoint (1024-1140px), two Alberta logos show up. (mobile and desktop variants)
This should not happen.

Provide Code
No response
To Reproduce
https://design.alberta.ca/
Show up between viewport width 1024px-1140px
Relevant console log output
No response
What browsers are you seeing the problem on?
No response
Additional context
No response

Hi @vanessatran-ddi , I recall this issue was fixed by an hot fix last week, I cant seem to find the pull request for this fix through, let me ask around


bug: ESLint VSCode not working out of the box

Provide environment information
System:
OS: macOS 14.4
CPU: (10) arm64 Apple M1 Pro
Memory: 55.73 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.15.1 - ~/.local/share/mise/installs/node/20.15/bin/node
npm: 10.7.0 - ~/.local/share/mise/installs/node/20.15/bin/npm
pnpm: 9.6.0 - ~/.local/share/mise/installs/node/20.15/bin/pnpm
Describe the bug
try adding something that would trigger ESlint error like
const EXPO_COOKIE_NAME = "__acme-expo-redirect-state" as any;
This isn't getting caught by VSCode.

But it does get caught in pnpm lint

Getting the following error in ESLint output.

Link to reproduction
.
To reproduce
try adding something that would trigger ESlint error like
const EXPO_COOKIE_NAME = "__acme-expo-redirect-state" as any;
Additional information
No response

In this case, everything works fin for me.
I think import.meta.dirname return undefined.

In this case, everything works fin for me. I think import.meta.dirname return undefined.

Oh wow... Thank you. Can confirm this fixes it.
Just comment this line and its imports, run pnpm clean:workspaces, restart eslint and typescript server, run pnpm i and then restart the servers again.

Well, yes, there is a bit of work there.
You can close the issue now ☺

Sure, I had to do something else to get around this issue. I’ll try to figure out a solution and create a PR for it, if I have some time.

import { fileURLToPath } from "node:url";

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

export default tseslint.config(
  // Ignore files not tracked by VCS and any config files
  includeIgnoreFile(path.join(__dirname, "../../.gitignore")),

This is what i did to resolve

Ok according to @juliusmarminge

What Node version are you on? import.meta.dirname is available on 20.11 and later: nodejs.org/api/esm.html#importmetadirname

And that was indeed the issue.
Apparently ESLint plugin defaults to using whatever Node that was shipped with.
I set this option in vscode settings and now it works.
 "eslint.runtime": "node"

I set this option in vscode settings and now it works.
"eslint.runtime": "node"

This seems like what we want, from the extension:
eslint.runtime - use this setting to set the path of the node runtime to run ESLint under. [Use "node"](https://github.com/microsoft/vscode-eslint/issues/1233#issuecomment-815521280) if you want to use your default system version of node.


WebhookClient.paramaters has incorrect documentation

It's documented as Object[] when it's actually just an Object

thanks!  This was fixed in v0.4.1


Remove ArchiveDiffer from USAFacts indicator module

USAFacts runs the ArchiveDiffer internally as part of the module's run() procedure. In order to switch Automation to run USAFacts using the Indicator Runner, we need to remove this archiving code.
Once this fix goes in, we will need to carefully coordinate the release to prod with an update to the Automation Step definition.

Closed with #1180


Plugin Page: Content View

Description
This PR implements the content view of the plugin page. This includes the page setup, setting up a plugin fixture for testing, and rendering the plugin name, summary, and description.
Changes

Adds JSON fixture for napari plugin napari-compressed-labels-io.
Markdown renderer using react-markdown
Lazy loaded markdown syntax highlighting using react-syntax-highlighter
Plugin page content view
E2E test setup for plugin page

Demos
Demo Link: https://napari-hub-content-view-demo.vercel.app/plugin/name
Content View

Syntax Highlighting

Responsiveness
https://user-images.githubusercontent.com/2176050/115783610-ebf0f080-a371-11eb-912c-472a8870dcc8.mp4
Follow Ups

Connect plugin API to plugin page and replace fixture data with actual API data

@kne42 Let me know if you would like for us to walk through the PR in case you don't understand a specific part of the React code. I'll try to find some time next week to go over React.
@tihuan I also added you as a reviewer, but your review is non-blocking for this PR 😄

Random question unrelated to this PR, could we add something like https://www.netlify.com/
(or similar) to have live previews of the changes in a PR ?

@goanpeca we've talked about using something like that with amplify, but we went with a different tech stack for deployment. something like vercel would probably be better since it has support for next.js apps and it's made by the same company.

Whatever allows us to see a live preview of changes in a PR will work :) , I just happen to know that one.

@goanpeca I deployed a demo on Vercel for preview:
https://napari-hub-content-view-demo.vercel.app/plugin/name

Awesome @codemonkey800  :)
Is there a way to automate this and get something that appears on the checks for a PR?

This is what we have for example here: https://github.com/Quansight-Labs/quansight-labs-site/pull/184

You get a direct link and everything is automated. It would really make the process of reviewing really nice :)

This is awesome! Thanks @codemonkey800 and @goanpeca for improving the review process.

@goanpeca There definitely is a way to automate it using preview deployments. It also looks like Netlify also has support for next.js, but we currently don't have a contract with Vercel or Netlify for deployments. I spoke with @neuromusic about possibly using it, but I believe it would involve some additional process getting onboard with either.
We're currently using a different infrastructure for deploying the frontend though, so it would be interesting to see if it's something we could replicate. cc: @ziyangczi


Update json4s-jackson to 3.6.4

Updates org.json4s:json4s-jackson from 3.6.3 to 3.6.4.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Superseded by #46.


LIN-565 Add parametrization and artifact reuse to pipeline API and DB

Summary
Expose parametrization and artifact reuse to pipeline-related APIs.
Changes

[x] Add input_parameters and reuse_pre_computed_artifact args to pipeline-related APIs
[x] Update existing pipeline-related tests
[x] Update DB schema to store related metadata (so the user can replicate a pipeline with parametrization and artifact reuse)
[x] Add tests that examine storage and retrieval of the new pipeline metadata
[x] Raise warning when parametrizing Airflow pipeline (it cannot be supported for now)
[ ] Update user-facing documentation involving pipelines

Testing
Test cases have been added to cover DB schema update.
Ticket(s)

LIN-565

To facilitate the review process of the implementation work, I am making the user documentation task a separate ticket (which is already in progress and will be completed shortly).


Minimum powershell version to use VCPKG?

What is the minimum version of PS required to run VCPKG? The requirements mention VS2015 update 3 only.
There is someone trying to build our project with Windows 8 (not 8.1) and VS2015 but is having problems. Just trying to find out if it's workable to get it running with that configuration.
Thanks

We support Windows 7 SP1 and above as a host operating system, so our minimum powershell requirement should be 2.0+.
However, bugs are always possible, so please let us know if you have an issue you think is caused by an old powershell version!
[TODO: I see our readme doesn't list our minimum OS version]

After looking at the csound thread, I think we have probably introduced a regression in a very recent change for older windows versions while adding support for Powershell Core.
I'll push a fix in a bit.

That's great, thanks a lot. I'll wait for Michael to reply and see if it solves the problem.

Seems to have done the trick


npm run dev missing script: "dev"

npm run dev missing script: "dev"

@jforaker, thanks, I will fix the README. You should run npm start.

I am getting the same error not able to resolve it
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "dev"
npm ERR! node v6.2.2
npm ERR! npm  v3.10.2
npm ERR! missing script: dev
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     https://github.com/npm/npm/issues

@ns04stars, as stated above, you should use npm start. Where did you find any references to npm run dev?

not perfect yet...npm ERR! missing script: start

Why is this issue closed??... I just encountered the same error following instructions from the official electron github page; see the link here

exactly I have same issue and searched a lot but couldn't find solution:(

Try to put this code in your package.json "scripts": {     "dev": "webpack-dev-server --progress --colors --inline --hot"   },.

Hello guys i had same problem.
Was wrong doing npm commands from different folder,
make sure u run commands from within your project folder.

Resolved by using below in package.json file.
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"dev": "lite-server"
},

Worked for me adding "dev": "lite-server" as @gargvivek86 said.

still not working for me, its showing an error when i add "dev":"lite-server"

I met the same problem,how to solve it?

Not solved yet, you’d better choose another tools!

On Sep 19, 2018, at 11:06 AM, qmzgirl<EMAIL_ADDRESS>wrote:
I met the same problem,how to solve it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/zalmoxisus/crossbuilder/issues/30#issuecomment-422634090, or mute the thread https://github.com/notifications/unsubscribe-auth/AT71j9WXm2BTm9PFCYkPmJ2M_r6f5SlIks5ucbTOgaJpZM4HX67v.

solo trata de correr
npm install
npm run build && npm run serve

you guys need to add this to your scripts and that should work!
"scripts": {
"start": "node app",
"dev": "nodemon app"
},

instead of npm run dev use "npm run serve"

因果関係わかりませんが、routerを直接installしてから実行したらvue init webpackが実行できるようになり、npm run devもできるようになりました。

may be your are in the wring directory

For anyone landing here in 2019, I was using pluralsight and the instructor tells you to use npm run dev, as the comments suggested above, the command is actually npm run start

For anyone landing here in 2019, I was using pluralsight and the instructor tells you to use npm run dev, as the comments suggested above, the command is actually npm run start

Thank you so much. You are a God sent

For anyone landing here in 2019, I was using pluralsight and the instructor tells you to use npm run dev, as the comments suggested above, the command is actually npm run start

Thank you so much. You are a God sent

still have a problem after using the command: npm run start. pls help

I had the same problem too. If you confirm that you are in the correct folder on your terminal, then just run
$ npm start
and the will solve the problem. I just got mine fixed

npm run start

I still have these problems after trying all these solutions

npm install --save-dev webpack
npm install --save-dev webpack-dev-server
worked for me.

npm install --save-dev webpack
npm install --save-dev webpack-dev-server
worked for me.

Thank you so much - it worked a treat!

only install nodemon and add this in your package.json:
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "node app",
"dev": "nodemon app"

Check out if the vscode it's sending a warning that the content cannot be saved because it is a new file and compare to the older one, after this just save and run.

only install nodemon and add this in your package.json:
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "node app",
"dev": "nodemon app"

Thanks Very Much !!!

I would just like to add that I found this thread extremely helpful. Especially zalmoxisus' comments, which got me rolling through a tutorial that I'm currently working on. Thanks again!

@jforaker, thanks, I will fix the README. You should run npm start.

I still get issue when run npm start. I got error missing script: start

npm install --save-dev webpack
npm install --save-dev webpack-dev-server
worked for me.

Thanks, this worked for me

try use "npm run serve"

try use "npm run serve"

I've tried legit every method that has been suggested here, and nothing is working out ffs :(

i have been facing this issue "Missing script dev" despite of writing in package.json   .....................................................................................Finally my solved only by saving the package.json and then "overwrite" it


Add ability to open password-protected ZIPs

Originally posted on Connect by Mark Wilson and now on UserVoice:

Please add a -Password switch to Expand-Archive so that it can open password-protected archive files. These files can currently be opened only through the GUI.

I support this idea. The question is: are we really going to call it "Password" or "Credential"? Credential with its username is kind of ambiguous here. It should be accepted as secure string only either way.

I think [-Password <SecureString>] makes more sense in this case.

It's my understanding the underlying Windows OS doesn't support this and has always been enabled via third party tools like 7zip and WinZip, is my thinking invalid now?

@imposhster I believe you are correct that the libraries this module depends on doesn't support it

ITNOA
I think for add this ability, we need first add this ability to net framework, so we have request this feature in .Net community

It may be better to move to a 3rd party library that already supports passwords like https://github.com/icsharpcode/SharpZipLib which also supports gzip, tar, etc... and might also support zips larger than 4GB which is also a limiting factor with .NET's implementation

@SteveL-MSFT So if you think this library stable enough, you can change Microsoft.PowerShell.Archive to use 3rd party open source library. I think this ability is very useful for powershell.

I haven't done enough analysis to determine if moving to SharpZipLib is the right decision.  I'll leave that to @anmenaga.  However, the limits of the .NET APIs is quite apparent.


Details Page #81  completed

Created  a details page  for pets to be displayed. (Fully responsive)

Most welcome bro


Jiahao/ped bug fix

closes #133, closes #191 (password related)
closes #140, closes #188, closes #209 (UG related)
closes #150, closes #155, closes #158, closes #165, closes #167 (find with full flag related)

Codecov Report

Merging #223 (887d8a1) into master (28a3083) will decrease coverage by 0.23%.
The diff coverage is 52.17%.

@@             Coverage Diff              @@
##             master     #223      +/-   ##
============================================
- Coverage     66.89%   66.66%   -0.24%
  Complexity      563      563
============================================
  Files            96       96
  Lines          2015     2028      +13
  Branches        204      206       +2
============================================
+ Hits           1348     1352       +4
- Misses          596      604       +8
- Partials         71       72       +1

Impacted Files
Coverage Δ

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)

.../seedu/address/logic/commands/PasswordCommand.java
100.00% <ø> (ø)

src/main/java/seedu/address/ui/LoginScreen.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/SetUpScreen.java
0.00% <0.00%> (ø)

...du/address/logic/parser/PasswordCommandParser.java
84.84% <78.57%> (-3.62%)
:arrow_down:

.../seedu/address/logic/parser/FindCommandParser.java
11.76% <100.00%> (ø)

Continue to review full report at Codecov.

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


merge from arlac77/template-github,arlac77/template-kronos-module

package.json

fix(engines): add >=13.12.0 remove >=13.11.0 (engines.node)

.travis.yml

chore(travis): (jobs.include)
chore(travis): add 13.12.0 remove 13.11.0 (jobs.include.node_js)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


RFM - cmdermini

I DON'T Want To Become The Maintainer

[x] I have followed the Package Triage Process and I do NOT want to become maintainer of the package;
[x] There is no existing open maintainer request for this package;

Checklist

[x] Issue title starts with 'RFM - '

Existing Package Details
Package URL: https://chocolatey.org/packages/cmdermini
Package source URL: https://github.com/admiringworm/chocolatey-packages/tree/master/automatic/cmdermini
Date the maintainer was contacted (in YYYY-MM-DD): 2021-12-13
How the maintainer was contacted: Contacted via Email

I am the maintainer of this package, and I have not been contacted regarding it.
Nor is this package outdated, please refrain from opening false RFM requests.


NzModalService options (nzClosable, nzMaskClosable) not working as expected

Reproduction link
https://stackblitz.com/edit/angular-asqech
Steps to reproduce
Configure NzModalService in a component and enable nzClosable, nzMaskClosable. Even the example present in the document site is not working.
What is expected?
Close icon on top right corner should be visible and when click area outside the modal, then the modal should close.
What is actually happening?
The options nzClosable, nzMaskClosable are not working

Environment
Info

ng-zorro-antd
8.4.1

Browser
Chrome 77

@sivaecekrr Thanks for the feedback. nzClosable unavailable in the confirm box mode is by design, but the nzMaskClosable not working is a bug. We will fix it in the next version.

@hsuanxyz I agree for nzModalService.confirm nzClosable is not available. But the same applicable for nzModalService.info also. Because info mode doesn't need any confirmation. Let me know your thoughts. Thanks.


Why execute so slowly ?

Conductor Version: #v3.10.3
Docker-compose deploy, and demo is starting local.
docker-compose -f docker-compose.yaml up

invoke trace

a simple demo cost 200s

Why?

Adding to this, when I change version to v3.11.0
Repeat this demo, got this

@zz-netflix @mattl-netflix @netflixgithubreadonly
I have the same problem, please help

Hello, have you encountered the problem that the concurrency cannot go up after the cluster?

Hi @dangjianguo123 - What version of Conductor are you using?
@Sunyelw  - Can you share the workflow definition? You can create it here and share - https://play.orkes.io (This is a conductor server playground / sandbox)

@boney9 Hi，conductor version number is 3.9.9-rc.1

Can you add your workflow definition to https://play.orkes.io/ ? We can evaluate your situation in that server. Alternatively you can share your workflow definition here and what level of concurrency are you expecting. Thanks.

@boney9 thx for your relpy.
But, Emmm, my task is Simple type which need develop worker, it required deploy account and transaction service to execute.
So it couldn't execute on https://play.orkes.io/  after create workflow only.
Fix my conductor version is v3.10.3.
Below is my all code, please.
Workflow definition
{
  "name": "MyOrch",
  "description": "To Service Orchestrations",
  "version": 1,
  "schemaVersion": 2,
  "tasks": [
    {
      "name": "transaction",
      "taskReferenceName": "node1",
      "inputParameters": {
        "id": "${workflow.input.id}",
        "sender": "${workflow.input.sender}",
        "receiver": "${workflow.input.receiver}",
        "money": "${workflow.input.money}"
      },
      "type": "SIMPLE",
      "startDelay": 0
    },
    {
      "name": "fork_account",
      "type": "FORK_JOIN",
      "taskReferenceName": "fork_acc",
      "forkTasks": [
      	[
      		{
            "name": "account_sender",
            "taskReferenceName": "acc_sender",
            "inputParameters": {
              "message": "${node1.output.result}",
              "name": "${workflow.input.sender}",
              "money": "${workflow.input.money}"
            },
            "type": "SIMPLE",
            "optional": true
           }
      	],
      	[
      		{
            "name": "account_receiver",
            "taskReferenceName": "acc_receiver",
            "inputParameters": {
              "message": "${node1.output.result}",
              "name": "${workflow.input.receiver}",
              "money": "${workflow.input.money}"
            },
            "type": "SIMPLE",
            "optional": true
           }
      	]
      ]
    },
    {
      "name": "account_join",
      "taskReferenceName": "acc_join",
      "type": "JOIN",
      "joinOn": [
        "acc_sender",
        "acc_receiver"
      ]
    }
  ],
  "outputParameters": {
    "tran.result": "${node1.output.result}",
    "acc.result": "${acc_join.output}"
  },
  "failureWorkflow": "failure_flow",
  "ownerEmail"<EMAIL_ADDRESS>}

Task definition
[
    {
        "name": "account_receiver",
        "retryCount": 3,
        "timeoutSeconds": 300,
        "inputKeys": [
            "name",
            "money"
        ],
        "outputKeys": [
            "accountResult"
        ],
        "timeoutPolicy": "RETRY",
        "retryLogic": "FIXED",
        "retryDelaySeconds": 10,
        "responseTimeoutSeconds": 300,
        "ownerEmail"<EMAIL_ADDRESS>    },
    {
        "name": "account_sender",
        "retryCount": 3,
        "timeoutSeconds": 300,
        "inputKeys": [
            "name",
            "money"
        ],
        "outputKeys": [
            "result"
        ],
        "timeoutPolicy": "RETRY",
        "retryLogic": "FIXED",
        "retryDelaySeconds": 10,
        "responseTimeoutSeconds": 300,
        "ownerEmail"<EMAIL_ADDRESS>    },
    {
        "name": "transaction",
        "retryCount": 3,
        "timeoutSeconds": 300,
        "inputKeys": [
            "sender",
            "receiver",
            "money"
        ],
        "outputKeys": [
            "result"
        ],
        "timeoutPolicy": "RETRY",
        "retryLogic": "FIXED",
        "retryDelaySeconds": 10,
        "responseTimeoutSeconds": 300,
        "ownerEmail"<EMAIL_ADDRESS>    }
]

AccountWorker
public class AccountWorker implements Worker {

    private final static Logger logger = LoggerFactory.getLogger(AccountWorker.class);

    @Value("${conductor.account.server}")
    private String accountServer = "http://localhost:28082";

    private final String taskName;

    public AccountWorker(String taskName){
        this.taskName = taskName;
    }

    public String getActualUrl () {
        throw new UnsupportedOperationException("no url definition.");
    }

    @Override
    public String getTaskDefName(){
        return taskName;
    }

    /**
     * 对账户进行资金操作, 若不存在直接创建账户
     */
    @Override
    public TaskResult execute(Task task){

        final TaskResult taskResult = new TaskResult();

        final Map <String, Object> inputData = task.getInputData();
        final String name = (String) inputData.get("name");
        final String message = (String) inputData.get("message");
        final Object obj = inputData.get("money");

        final int money;
        if (obj instanceof Integer) {
            money = (int) obj;
        } else {
            money = Integer.parseInt((String) obj);
        }

        logger.info("[ACCOUNT] accountServer:{}, message:{}, name:{}, money:{}", accountServer, message, name, money);

        final String invoke = HttpUtil.invoke(accountServer + getActualUrl(), HttpMethod.POST, new Person(message, name, money));

        taskResult.addOutputData("result", invoke);
        taskResult.setStatus(TaskResult.Status.COMPLETED);

        logger.info("[ACCOUNT] END");

        return taskResult;
    }
}

TransactionWorker
public class TransactionWorker implements Worker {

    private final static Logger logger = LoggerFactory.getLogger(TransactionWorker.class);

    @Value("${conductor.transaction.server}")
    private String transactionServer = "http://localhost:28081";

    private final String taskName;

    public TransactionWorker(String taskName){
        this.taskName = taskName;
    }

    @Override
    public String getTaskDefName(){
        return taskName;
    }

    @Override
    public TaskResult execute(Task task){

        final TaskResult taskResult = new TaskResult();

        final Map <String, Object> inputData = task.getInputData();
        final Object idObj = inputData.getOrDefault("id", 0);
        final int id = null == idObj ? 0 : (int) idObj;
        final String sender = (String) inputData.get("sender");
        final String receiver = (String) inputData.get("receiver");
        final int money = (int) inputData.get("money");

        logger.info("transactionServer: {}", transactionServer);
        logger.error("[TRANSACTION] id:{}, sender:{}, receiver:{}, money:{}", id, sender, receiver, money);

        final String invoke = HttpUtil.invoke(transactionServer + "/tran", HttpMethod.POST, new Transaction(id, sender, receiver, money));

        taskResult.addOutputData("result", invoke);
        taskResult.setStatus(TaskResult.Status.COMPLETED);

        logger.info("[TRANSACTION] END");

        return taskResult;
    }
}

TaskRunner
@Component
public class MainRunner {

    private final static Logger logger = LoggerFactory.getLogger(MainRunner.class);

    @Value("${conductor.http.server}")
    private String conductorServerUrl;

    @PostConstruct
    public void initTask() {

        logger.info("[Finance_Task_Init]: {}", conductorServerUrl);

        TaskClient taskClient = new TaskClient();
        taskClient.setRootURI(conductorServerUrl + "/api/");

        int threadCount = 10;
        Worker sender = new SenderAccountWorker("account_sender");
        Worker receiver = new ReceiverAccountWorker("account_receiver");
        Worker tranWorker = new TransactionWorker("transaction");
        final ArrayList <Worker> list = new ArrayList <>();
        list.add(receiver);
        list.add(sender);
        list.add(tranWorker);
        TaskRunnerConfigurer.Builder builder = new TaskRunnerConfigurer.Builder(taskClient, list);
        TaskRunnerConfigurer coordinator = builder.withThreadCount(threadCount).build();

        //Start for polling and execution of the tasks
        coordinator.init();
    }
}

Hope some reply, thx.

Hello, have you encountered the problem that the concurrency cannot go up after the cluster?

Sry, not yet.

Thanks for sharing the details, let me try and see if I can simulate this in our sandbox.

@Sunyelw Take a look at the client side metrics to see how long it takes for your worker to process the task: https://github.com/Netflix/conductor/blob/478ea92b169ddc688ad58d8693dc1837d7e8320f/client/src/main/java/com/netflix/conductor/client/automator/TaskPollExecutor.java#L248
Or you can simply just measure the time in your worker for those calls HttpUtil.invoke(xxx) as I guess that is why the task takes long to execute

@jxu-nflx  Sorry, I don't quite understand what you mean, could it be more detailed and executable ?

Are you going to use it in a real-time scene? I am also researching the conductor, add my WeChat account: "lianjianghe", let's communicate together.

@jxu-nflx Sorry, I don't quite understand what you mean, could it be more detailed and executable ?

https://github.com/Netflix/conductor/issues/3162#issuecomment-1219073376

@jxu-nflx Sorry, I don't quite understand what you mean, could it be more detailed and executable ?

Are you going to use it in a real-time scene? I am also researching the conductor, add my WeChat account: "lianjianghe", let's communicate together.


Check if Stylesheet has an absolute filepath

This had me bugged after upgrading from a quite old version of carto : with millstone off by default, stylesheet resources referenced by their absolute path would be prefixed by input's dirname, therefore creating a wrong path.
As a workaround, enabling millstone would bring back the expected behavior.
This small patch on bin/carto allowed me to pass absolute stylesheet filenames without relying on millstone.

Why not use path.resolve(path.dirname(input), x) instead of path.join(path.dirname(input), x)?

Superseded by #439.


docs(wizard): [wizard] Increase the top outer margin of node names

…cording to testing
PR
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our Commit Message Guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information


Not showing chapter in chapter sequence for en_ust-unfoldingWord

@mandolyte I came across in the book of Psalms (en_ust-unfoldingWord) chapter 73 is missing in the chapter sequence. When you click on chapter 72 it displays both 72 and 73. v0.9.0-rc.1 build f83d6d3 QA

@mandolyte when using development server with v0.2.0 build 78c864f QA the issue was still there. For production server with v0.2.0 build 78c864f the issue was fixed. The issue was fixed for production but not development side.  Here’s a screenshot

Works in Production.


Add Schedule Binding

Describe the proposal
Add a binding that will invoke the input binding handler on a predetermined schedule which is defined as a cron expression i.e. 0 0 * ? * * = every hour.
We could use something like the cron library in go to schedule the handler invocation.
This would be susceptible to the host's clock skew so we'd need to think through the implications and whether we feel this is a problem we should address or not.
Alternatively, we could expect this pattern to be handled outside of dapr and dapr to be invoked via a HTTP webhook from some other scheduler.

This foundational capability for many use-cases.

#380 implements this as binding which can be used to:

execute local method
publish events to topic
invoke another output binding (http or email)

The PR implementing this landed (#380) so I'm closing this issue. The docs for how to use it have also PR'd here


Inference failed

When use mellotron.inference(), these is a "Warning! Reached max decoder steps";
While user inference_noattention(), final audio is confused!
Train loss 6010 0.283912 Grad Norm 0.313008 2.66s/it
BTW, what is the most important input feature for mellotron to produce a good performance?

Please share alignment maps and training and validation losses.


fix: cache warmup solution non legacy charts.

SUMMARY
Issue: Cache-warmup API does not work as expected for all charts. Running cache-warmup for a slice ex: (vizType-Table) and exploring the same slice on browser gives different cache key.
Solution: /warm_up_cache/ API in current solution only applicable for legacy chart and those are very few in numbers, and when the same code executes for another type of chart such as Table chart and other non-legacy chart, it generates a different cache key not matching with the one we get while exploring the same slice on browser. Fix given here will check the viz type of the chart and handle it in the required way to update the right cache-key.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

Create a dashboard that includes table chart.
Configure cache warm up schedule in superset_config.py.
Verify if the cache got refreshed after cache warm up execution using menu option at top-right corner of the chart.

ADDITIONAL INFORMATION

[x] Has associated issue: Fixes #15497
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

New charts needs query-context saved to make cache-warmup work as expected. As per current behaviour, query-context are not included in chart's metadata when you export a chart. Above commit is to include the query-context when a chart is exported/imported.

@villebro per your comment,

I think a more dynamic approach would be to check if there's a query context for a given slice. If there is, assume it's the new type, and if there isn't, assume it's legacy.

It seems that many legacy charts include the query_context and thus this change actually breaks things, i.e., from Airbnb's production data we see:
mysql> SELECT DISTINCT viz_type FROM slices WHERE query_context IS NOT NULL ORDER BY viz_type;
+----------------------------+
| viz_type                   |
+----------------------------+
| area                       |
| bar                        |
| big_number                 |
| big_number_total           |
| box_plot                   |
| bubble                     |
| cal_heatmap                |
| chord                      |
| compare                    |
| country_map                |
| deck_polygon               |
| deck_scatter               |
| dist_bar                   |
| dual_line                  |
| echarts_area               |
| echarts_timeseries         |
| echarts_timeseries_bar     |
| echarts_timeseries_line    |
| echarts_timeseries_scatter |
| echarts_timeseries_smooth  |
| echarts_timeseries_step    |
| event_flow                 |
| filter_box                 |
| funnel                     |
| gauge_chart                |
| graph_chart                |
| heatmap                    |
| histogram                  |
| horizon                    |
| line                       |
| mapbox                     |
| mixed_timeseries           |
| para                       |
| partition                  |
| pie                        |
| pivot_table                |
| pivot_table_v2             |
| radar                      |
| sankey                     |
| sunburst                   |
| table                      |
| time_table                 |
| treemap                    |
| treemap_v2                 |
| tree_chart                 |
| word_cloud                 |
| world_map                  |
+----------------------------+
47 rows in set (0.34 sec)

@villebro per your comment,

I think a more dynamic approach would be to check if there's a query context for a given slice. If there is, assume it's the new type, and if there isn't, assume it's legacy.

It seems that many legacy charts include the query_context and thus this change actually breaks things, i.e., from Airbnb's production data we see:
mysql> SELECT DISTINCT viz_type FROM slices WHERE query_context IS NOT NULL ORDER BY viz_type;
+----------------------------+
| viz_type                   |
+----------------------------+
| area                       |
| bar                        |
| big_number                 |
| big_number_total           |
| box_plot                   |
| bubble                     |
| cal_heatmap                |
| chord                      |
| compare                    |
| country_map                |
| deck_polygon               |
| deck_scatter               |
| dist_bar                   |
| dual_line                  |
| echarts_area               |
| echarts_timeseries         |
| echarts_timeseries_bar     |
| echarts_timeseries_line    |
| echarts_timeseries_scatter |
| echarts_timeseries_smooth  |
| echarts_timeseries_step    |
| event_flow                 |
| filter_box                 |
| funnel                     |
| gauge_chart                |
| graph_chart                |
| heatmap                    |
| histogram                  |
| horizon                    |
| line                       |
| mapbox                     |
| mixed_timeseries           |
| para                       |
| partition                  |
| pie                        |
| pivot_table                |
| pivot_table_v2             |
| radar                      |
| sankey                     |
| sunburst                   |
| table                      |
| time_table                 |
| treemap                    |
| treemap_v2                 |
| tree_chart                 |
| word_cloud                 |
| world_map                  |
+----------------------------+
47 rows in set (0.34 sec)

Given this is a regression I think that in the interim this should be reverted. Moving forward I wonder if there's a better failsafe mechanism, i.e., maybe try the ChartDataCommand route and fallback to the legacy logic if there's an error.

This is curious - legacy charts really shouldn't have a query_context, as they don't use it for anything. I wonder if this is caused by first creating a non-legacy chart, running that, then changing chart types. If this is indeed so, we should make sure query_context is always set to null if the chart doesn't use it.

Given this is a regression I think that in the interim this should be reverted. Moving forward I wonder if there's a better failsafe mechanism, i.e., maybe try the ChartDataCommand route and fallback to the legacy logic if there's an error.

@john-bodley I'm not sure reverting this is the correct course of action, as prior to this PR, it was in fact impossible to warm up non-legacy charts all together. To get the best of both worlds I'd recommend getting a hotfix in which is able to do fallback to legacy logic if there's an error, and then following up with a PR that makes sure legacy charts clear out the query context if it's set. I can look into the latter if needed.

@villebro I'm not sure your hypothesis is correct, though I don't have one myself, as we (Airbnb) see numerous filter-box charts with the query_context defined and I speculate that the authors never changed the chart type, i.e., it's very atypical for someone to switch to a filter-box from another visualization type.
I also acknowledge that this PR tried to remedy a known issue, i.e., non-legacy charts not being cached, but in doing so it actually introduced two regressions:

Previous legacy charts were correctly being cached now fail.
Per https://github.com/apache/superset/pull/23569 it actually resulted in errors being thrown.

For these type of scenarios I sense we should err on the side of preventing regressions and thus revert said logic ASAP—hoping it hasn't been released into the wild in terms of a PyPI release—before formulating a correct implementation.


add grep to Support CenOS and remove the exsit hadoop tar file

When I try to implement it on CentOS based server. It shows couple errors.
Also add a help command for kill the exist port.

The removal of existing hadoop tar file is located in wrong place. Also, there is no need to remove it. We can reuse it instead of downloading again.


Orderable outline/layers

Feature request:
It would be great if the items in the <Outline /> component were orderable via drag-and-drop. That way a user would be able to quickly move bigger blocks around without needing to do it in the preview frame.
Another smaller request is to show the top-level page in the Outline for easy selection.

Good request! Been on our radar for a while but has never been prioritised.
I think drag-and-drop between a given DropZone should be easy enough, but drag-and-drop between DropZones is more challenging. We could possibly phase the implementation.

Also, you would want the items to respect the "allow" and "disallow" props on dropzones (if dropping inside a component).

Closing as duplicate of #126


Remove extraneous newlines between outer attributes and mod items

Fixes #5309
Previously, rustfmt would not remove blank lines between attributes and
their corresponding items. The following would not be formatted:
#[allow(unused)]

fn main() {}

Now when version=Two is set rustfmt will remove the blank line:
#[allow(unused)]
fn main() {}

cc @joshtriplett as I believe this may actually run counter to something you were expressing the other day

No, this is good. I would like to preserve blank lines before.

This is an excellent fix for formatting autogenerated code. Thx!
If this is acceptable, I've updated it from the master branch 1d966c942fc378930540b89609975b79917e96fd
I hope it will be merged


add ASL header to css

https://lists.apache.org/thread/9hsxs5hpz9g2fgcbq9k590glprg40rs4

i think this kind of task can be handled with sby header plugin too.

i think this kind of task can be handled with the header plugin too.

We don't use the header plugin in this repo because there are lots of different license headers in this repo. There is a lot of 3rd party derived source code in this repo.


EnumRequest - Table 81 Gen. Journal Line - Field - Bal. Account Type

EnumRequest - Table 81 Gen. Journal Line - Field - Bal. Account Type

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


App hangs after RTSP playback

Platform: Android
Qt: 6.3
My app uses QtAVPlayer within a QML form. Normal operation is when user presses the back button on QML, the form is changed.
This causes QtAVPlayer to call terminate() method etc. to perform usual cleanup. When playing back SRT source, there is no problem and the app continues to work fine. However with an RTSP source, the app hangs completely after the form changes.
In tracing I found the app terminate() function was hanging waiting for the RTSP demuxer to return. I then placed this code within the terminate() function:
demuxer.abort(true);
After this, the terminate function seems to cleanly return, however the app still hangs, as if there is some mutex stuck in locked state. I put in a lot of debug logs and even enabled qCDebug function, but am unable to trace where the lockup occurs. The strange thing this is it affects only RTSP sources so far. It hangs whether playback starts or the RTSP source is waiting for a stream.

Hi, thanks for the issue.
Do you have sample rtsp uri? is it for any uris? Can you check if it is relevant for your desktop?

I was able to skip the hang by changing the parent component of the QtAVPlayer from a stub component of mine I had created with C++ that itself creates a child QAVPlayer.
I'm not sure if this actually fixes the issue, or is a way of hiding / working around the actual issue. Will check more and report back with some example code if I confirm the issue is with the ffmpeg related code. I did try switching ffmpeg versions from 4.5.1 -> 5.1 to no avail.

It might be not relevant for latest code.


Avoid negative values configuring the max number of open files

fixes #524

This change is

Coverage decreased (-0.02%) to 43.854% when pulling cf82f694de8876f22aed7de11bc667290302ddb3 on aledbf:fix-negative-maxopenfiles into 752672866bf0542d09e61f8d9d94f50ce44c77ee on kubernetes:master.


Record merge should return same record if unchanged

I'm testing this out in the console and Record does not seem to behave the same way as Map when merged with unchanged attributes:
Reclass = Immutable.Record({a: '1', b: '2'})
> function Cr/r()
r1 = new Reclass()
> Object { _map: Object }
r2 = new Reclass()
> Object { _map: Object }
r3 = r1.merge(r2)
> Object { _map: Object, __ownerID: undefined }
r3 === r1
> false

Whereas with a Map:
m1 = Immutable.Map({a: '1', b: '2'})
> Object { size: 2, _root: Object, __ownerID: undefined, __hash: undefined, __altered: false }
m2 = Immutable.Map({a: '1', b: '2'})
> Object { size: 2, _root: Object, __ownerID: undefined, __hash: undefined, __altered: false }
m3 = m1.merge(m2)
> Object { size: 2, _root: Object, __ownerID: undefined, __hash: undefined, __altered: false }
m3 === m1
> true

It's unclear to me how to tell the type of the object being created, but as near as I can tell, calling merge on a Record actually returns a Map.

@mockdeep it does. :+1: for this!

Should I open a separate issue for the 2nd point in my above comment..?

It looks like this issue has been fixed by the referenced PRs so I am going to close it.


[MySQL] Include column COMMENT into generated files

Sign MySQL comments in Go struct

Could you give more info?

SQL COMMENT 'TEXT' => Go comment // Type TEXT

Yeah, it makes sense.

This also applies to the rest of the databases
Not only MySQL

@go-jet Added to v2.8.0 milestone but v2.9.0 is released without, has this been added to the backlog?

@go-jet ?

Other, more prioritized features pushed this one out of previous releases, but I guess it can go with a the next release.

Feature added in v2.10.0 release.


Oauth Token in WebHook request

Is it possible to set up a webhook so that the requests get a oauth user token in the Authorization header? It would be a token obtained through the On-Behalf-Of Oauth flow. This would enable the user security context to be used in other apps installed in the tenant as a consequence of actions in dynamics. Is this possible at all?

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

ID: 989d3f20-0f85-a5a3-4cdc-e66d231c59aa
Version Independent ID: bea4f8bd-1bb0-6700-fb89-51124b64d9bd
Content: Use webhooks to create external handlers for server events(Developer Guide for Dynamics 365 Customer Engagement)
Content Source: ce/developer/use-webhooks.md
Service: crm-online
GitHub Login: @JimDaly
Microsoft Alias: jdaly

No. Webhhooks exist to notify external systems. Webhooks are very simple, they send what they send without any opportunity to modify what is sent other than the security configuration options. But, the target of the webhook url can then perform the operations needed to carry things forward.
You may want to use an Azure function as the target of the webhook and let the Azure Function contain the logic you need to communicate with the other system.

Thank you for the information. I'm closing this as it responds the question exactly. I will leave #334 open in case some other approach can be suggested from there in the future.


[MINOR] Remove plugin duplicate

The title says it all.

Triage: @jtgrabowski will check and merge this one.

Thanks Jacek!


avocode: 3.2.0 -> 3.4.0

Motivation for this change
upgrade avocode to 3.4.0
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

unfree package, build checked locally.


DS - Checkbox Group Component Analytics Support

As an owner of the app, I want to have access to the interaction analytics of the Checkbox Group component, so that I can make data-based decisions.
As part of this story we want to allow the Checkbox Group to pass analytics data to the app
#Acceptance Criteria

[ ] Determine if analytics are needed
[ ] Add function passthroughs for apps to be able to log analytics based on interactions handled by the Checkbox Group component

Analytics should be covered by the onPress for Checkbox and onSelectionChange for CheckboxGroup. Closing this ticket out.


Autocomplete on dynamically generated input elements

Is it possible to make it work on fields which are added later on ?
Now it only works on the field which was rendered on page load.
thanks !

It should work..
This is an interesting concept, that I haven't tested out. I'll write some tests for it and we will see, if plugin works correctly.

Plugin works with dynamic generated input fields.

maybe I had this issue because my inputs had the same id

Yup, that is probably what caused problems for you. Keep in mind, that having two elements with the same id is a bad practice.

I have cloned a div withb .clone() and generated ids needed for easyautocomplete() dymically.
the ajax function and prepareData works fine but onSelectItemEvent doesn't populate list hence couldn't perform further actions.

Good please an example with dynamic input please, since I have a code which I insert new row to a html table which easyautocomplete plugin does not recognize its id and therefore does not generate the expected results.
But if in return I put this input to start the page there if easyautocomplete recognizes it and it works completely. thanks.


:memo: fixing documentation #867

Fix for #867

Pull request checklist

[ ]  Changes are described in the pull request, or an existing issue is referenced.
[ ]  The test suite compiles and runs without error.
[ ]  Code coverage is 100%. Test cases can be added by editing the test suite.

Coverage remained the same at 100.0% when pulling 7de009edd1b904dceb4307fca1d06b1f525c4b71 on feature/issue867 into<PHONE_NUMBER>9560352806218740e7adebfb0fd986 on develop.

Coverage remained the same at 100.0% when pulling 7de009edd1b904dceb4307fca1d06b1f525c4b71 on feature/issue867 into<PHONE_NUMBER>9560352806218740e7adebfb0fd986 on develop.


Training on my own model

Hi Kazuto1011, How can i train my own model grad-cam?

Grad-CAM does not require training in itself but extracting intermediate values just by calling forward and backward methods of a pre-trained model. Please customize demo3() in main.py with your own model.

@kazuto1011 thanks you


fix(mission_planner): fix combine lanelets logic

Description
To fix route planning when setting the goal position on a bidirectional lanelet.
Related links
#6803
Tests performed
Test Scenarios: overlap11.osm.txt
Two scenes are constructed to reproduce the bug. The left (Scene 1) and the right (Scene 2) are similar scenes. There is a tiny difference - Scene 2 has a longer bidirectional segment (with one more bidirectional lanelet) than Scene 1.

Before:

Overlap_Bug_Before_Fix.webm
After:

Overlap_Bug_After_Fix.webm
Notes for reviewers
A new bug is traced and posted in #7272.
Interface changes

ROS Topic Changes

ROS Parameter Changes

Effects on system behavior

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[x] The PR follows the pull request guidelines.
[x] The PR has been properly tested.
[x] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@NorahXiong @kosuke55  Do you still need this modification?

@NorahXiong @kosuke55 Do you still need this modification?

Everything goes fine with the latest code. Close the  PR cause the original code was removed.


Release directory could be "ironclad-x.y.z"

Pretty simple but very nice to have. The current zip unpacks to "mac"

Glad you like it. I've updated the folder name for the latest 1.2.2 release.


Added ModifierType::Both to do ModifierAction for both Local and Global grid sizes

KTT currently lacks the option to modify (e.g. divide) both global and local grid size by a parameter. I need it for a new example I am working on (parameterized fused kernel for BiCG), so I added ModifierType::Both to do the job.
It may still not be enough for some problems, one parameter should be able to modify different ModifierDimension with different ModifierAction for either Global or Local grid (ModifierType), so it may be wise to rework the addParameter() fuction to use vectors of these.

Hello,
thanks for the PR, looks good to me. However, please resubmit it against development branch as master branch is intended for current stable release.
As for parameters modifying multiple dimensions, it is already possible to use these with a little bit of extra effort:
Solution 1 (easier): add separate parameters for each dimension and then add a dependency between them by using a constraint (usage of constraints can be seen in multiple bundled examples, e.g., coulomb_sum)
Solution 2: use tuning manipulator and set dimensions explicitly based on provided parameter values (this is used e.g., in reduction example)
Nonetheless, it is also useful to have a simpler way to achieve this.

You're right, I didn't know how to use constraints and manipulator back then, though I use both now.
OK, I will create a PR for dev branch.


Implement test harness to run engine benchmarks on real iOS devices

On real iOS hardware, you can only run signed applications. Currently, Engine benchmarks are generated as standalone executables which cannot be pushed to and run on a device.
cc @flar @gaaclarke

Dropping to p2.  I don't think there is any plan to do this anytime soon.  We are relying instead on the benchmarks in the framework repo.

I don't think we'll be able to get iOS physical devices on engine presubmit, but we can configure things specifically to run on the devicelab now (?)


feat(PageSidebar): isolate SidebarContext on its own context

FX-1430
Description
In this PR I'm isolating SidebarContext in its own module, we stopped exporting SidebarContext directly in favor of using the self-contained SidebarContextProvider component and it's useSidebarContext hook
How to test

CI should be green
PageSidebar should work on storybook (in special the collapsible example)

Review

[ ] Read CONTRIBUTING.md and Component API principles
[ ] Annotate all props in component with documentation
[ ] Create examples for component
[ ] Ensure that deployed demo has expected results and good examples
[ ] Ensure that tests pass by running yarn test
[ ] Ensure that visuals tests pass by running yarn test:visual. If not - check the documentation how to fix visual tests
[ ] Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.

PR commands

List of available commands:

@toptal-bot run all - Run whole pipeline
@toptal-bot run build - Check build
@toptal-bot run visual - Run visual tests
@toptal-bot run deploy:documentation - Deploy documentation
@toptal-bot run package:alpha-release - Release alpha version

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

I'm not sure how it should behave in this case :thinking:

I'm not sure how it should behave in this case thinking

This will be addressed in a different PR for collapsible sidebar

@toptal-bot run all


Add isDevMode to Next custom server

Add support for Auth+SSR in dev mode.

Use the FRAMEWORKS_DEV_MODE environment variable to determine whether to start the Next server in dev or prod mode.
Start a custom server to serve assets in dev mode. Add assetPrefix to the custom Next.js server.

Is this PR still relevant?

I'm closing this one because it is not relevant any more. Related to PR #5562 in firebase-tools  @jamesdaniels decided to take a different approach.


Customer/add project

PR Overview
This PR will address the following Issue/Feature: #24
This PR will result in the following new package version:

0.8.1 - Only adding columns to final model asana__task.
Please detail what change(s) this PR introduces and any additional information that should be known during the review of this PR:

Updated int_asana__task_projects to create the following new columns that are brought into asana__task:

first_project_id
project_ids
first_project_names
project_names
number_of_projects

In int_asana__task_projects, opted to use a row count window function, similar to how we determine is_most_recent_record in other models, instead of fivetran_utils.first_value, since that was having issues with postgres.

PR Checklist
Basic Validation
Please acknowledge that you have successfully performed the following commands locally:

[ ] dbt compile (does not compile - https://github.com/fivetran/dbt_asana/issues/30)
[x] dbt run –full-refresh
[x] dbt run
[x] dbt test
[ ] ~dbt run –vars (if applicable)~

Before marking this PR as "ready for review" the following have been applied:

[x] The appropriate issue has been linked and tagged
[x] You are assigned to the corresponding issue and this PR
[x] BuildKite integration tests are passing

Detailed Validation
Please acknowledge that the following validation checks have been performed prior to marking this PR as "ready for review":

[x] You have validated these changes and assure this PR will address the respective Issue/Feature.
[x] You are reasonably confident these changes will not impact any other components of this package or any dependent packages.
[x] You have provided details below around the validation steps performed to gain confidence in these changes.

New columns are seen in asana__task and appear as expected. See workbook and data used mentioned in internal ticket.

Standard Updates
Please acknowledge that your PR contains the following standard updates:

Package versioning has been appropriately indexed in the following locations:

[x] indexed within dbt_project.yml
[x] indexed within integration_tests/dbt_project.yml

[x] CHANGELOG has individual entries for each respective change in this PR

[ ] ~README updates have been applied (if applicable)~

[ ] ~DECISIONLOG updates have been updated (if applicable)~
[x] Appropriate yml documentation has been added (if applicable)

dbt Docs
Please acknowledge that after the above were all completed the below were applied to your branch:

[x] docs were regenerated (unless this PR does not include any code or yml updates)

If you had to summarize this PR in an emoji, which would it be?

:dancer:

@fivetran-joemarkiewicz I have updated, and this is ready for your review!


Images not visible in about.html page .

Description
In about.html page in which meet out team members the images of team members are not visible
Steps to Reproduce
it can be resolved by modification in about.html and css properties
Expected Behavior
No response
Actual Behavior
No response
Screenshots

Additional Information
No response
What browser are you seeing the problem on?

[X] Firefox
[ ] Chrome
[ ] Safari
[ ] Microsoft Edge

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

Dear @aditya-bhaumik , please assign me this issue so that i can start working upon it.

Dear @aditya-bhaumik , please assign me this issue.

Dear @aditya-bhaumik , please assign me this issue

Dear @aditya-bhaumik , please assign me this issue


chore: clean-up workflows

Resolves #61.

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


recent topics: Display other sender names in tooltip.

It is a follow up for #18451 and #18480.
Testing plan: Manually on dev server.
As can be seen in the gif, when tooltip is shown with max allowed width(300) and is on the first row, it is not shown in the top. While it's position is as expected(top), when it is not in the first row. On searching more about this on tiipyjs repo issues I found it is a popper.js problem. I'm not sure how to debug that, so I am trying to find a fix about that.
Other than that this work is ready for review.
GIFs or screenshots:

I think the positioning issue is that the tooltip is not allowed to go outside the <tbody> container.  @amanagr may know how to fix that.

I think the positioning issue is that the tooltip is not allowed to go outside the <tbody> container. @amanagr may know how to fix that.
Ohh, that could be possible.

Would it makes sense to do this tooltip with one user per line, rather than joining the names with ,s?  That might be substantially more readable.

I've made following changes so that extra senders tooltip will show, only first 10 recent extra senders with 11th line saying and {n - 14} more., n is total number of participants.
Also regarding tooltip placed at bottom sometime, I think it would be better to have that behavior, as tooltip can use it to intelligently decide which vertical(top or bottom) position to choose for showing the tooltip and if we fix it by some way to lets say top only we will have a lot of overlapping problems like tooltip overlapping filter input or input overlapping tooltips.
GIF for current behavior:

Updated this pr by refactoring how this list is collected, and then finally apply join with <br/>.
It is ready for another look.

Merged, thanks @m-e-l-u-h-a-n!  I think it'd be well worth extending the frontend tests for this module to actually cover the cases added by the new logic.


Chore: Update charon version to 1.1.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.449%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1325

Relevant Lines:
1689

💛  - Coveralls


Add filter to (multi_)conversations_select (also response_url_enabled)

Summary
This pull request adds filter to conversations_select / multi_conversations_select elements in input blocks. In addition to that, missing response_url_enabled in conversations_select / channels_select elements.
References:

https://api.slack.com/reference/block-kit/composition-objects#filter_conversations

Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

For the Bolt framework side, I will send another pull request today.


Improve cross-compilation

Fixed #171

Refactor: Create generic zig.sh that can support any num of TARGET_ARCH
instead of just one
Refactor: Extract new fn install_zig_cc_and_config_to_use_it
and make it works on {aarch64/x86_64}-apple-darwin
Change install_zig_cc_and_config_to_use_it to use cargo-zigbuild
instead of zig-cc since cargo-zigbuild has built-in workaround
for certain quirks when used in cargo-build
Build x86_64-unknown-linux-musl using cargo-zigbuild

The build-version.sh is now much simpler, without the use of
podman, which also requires us to manually install
cargo-auditable, plus copying out files and the workaround for
bootstrapping using --force
We can now use cmake for *-sys crates
Building locally is faster since we no longer has to pull in the
images.

Export env var PKG_CONFIG set to our own pkg-config script
that fails for any input since we cannot use locally installed lib in
cross-compilation.

Signed-off-by: Jiahao XU<EMAIL_ADDRESS>

Could we use cargo-zigbuild install? I think that would be beneficial and we could use that on every system meaning we don't need special configuration.

If we use cargo-zigbuild install, then we won't be able to use cargo-auditable at the same time.
This is a limitation of cargo-zigbuild that requires upstream to help us find a better solution.

So, can we make this support a Raspberry Pi?:

So, can we make this support a Raspberry Pi?:

I think we can, in fact this is on my own TODO.

And you are sure there is no way to do cargo-auditable as well? Should we ask the cargo-zigbuild maintainre?

I'm sure there is no way to do it right now, I would create a ticket upstream.

P.S. @Milo123459 Next time when you approve my PR, can you do a squash merge or let me do the merge for large-ish PR please?
Thank you

@Milo123459 Turns out that CARGO=cargo-zigbuild cargo-auditable auditable install works!
I've updated the PR.

So does this mean we can build everything with cargo-zigbuild?

So does this mean we can build everything with cargo-zigbuild?

I think we can build armv7/aarch64 linux musl/gnu using cargo-zigbuild.
We could also use cargo-zigbuld for x86_64-unknown-linux-gnu to build the binary against older glibc version, but that will break openssl-sys since most crates do not enable feature "vendored".
I have a proposed solution for this https://github.com/sfackler/rust-openssl/pull/1835 , but until then, I would prefer to build x86_64-unknown-linux-gnu natively.

That's fine. Can we make the Raspberry Pi target supported now?

That's fine. Can we make the Raspberry Pi target supported now?

I can create another PR once this PR is merged.

Sounds good! Do we need to make the web server support it?

Sounds good! Do we need to make the web server support it?

I don't think it needs any special support.
Just updating supported-targets and trigger-package-build.sh should be enough.

I thought it has to go through a web server?

I thought it has to go through a web server?

The stats server collects the statistic information and the github workflow cronjob/weekly-recheck calls trigger-package-build.sh => next-unbuilt-package.sh => get-stats.sh to pulls in the statistics from the server.
Everything else happens on GHA.


Warn when productivity is low

Fixes #1988
Reviewer checklist

[ ] Test coverage: stack test --coverage
[ ] Public API documentation: stack haddock

Is it possible to use the logger to issue a warning for this?

That would require IO to be an instance of MonadLog and by looking at the class definition I think it was intended to instantiate only transformers :thinking:, but I don't know

LoggerT is MonadIO so you could get the stats and log them inside the logger, but it might be that you would want to access this information only at the very end of execution. Would that be the case here?

LoggerT is MonadIO so you could get the stats and log them inside the logger, but it might be that you would want to access this information only at the very end of execution. Would that be the case here?

Oh, I thought by "logger" you mean the entire logging mechanism.
@ttuegel Can the warning be moved as Ana suggested?


[Enhancement/Bug] Add global require paths

Describe the bug
For some projects i have outsourced documentation to a static location on my disk drive. For autocompletion it works fine, since i can use the Lua.workspace.library config, however, if I try to set a require path in Lua.runtime.path, then it doesn't recognize global paths. /global/path/to/modules/?.lua fails. Maybe this is a bug, since i don't know if Windows users can use global paths with C:\global\path\?.lua.
To Reproduce
Steps to reproduce the behavior:

Create a project
Create a modules folder with a module file somewhere else on disk
Add that folder path to Lua.runtime.path
See no autocompletion for require inside the project.

Environment (please complete the following information):

OS: Kubuntu
Client: VSCode

Currently runtime.path does not support absolute paths, you need to fill in a relative path with library

Okay so i misunderstood workspace.library. I added the modules folder to library and used a relative path to Lua.workspace.library in Lua.runtime.path and got my autocompletion. Thank you :)

I think supports absolute path in runtime.path is necessary.
The current usage is very unintuitive.
I will keep this issue open until supporting absolute path in runtime.path.

Currently runtime.path does not support absolute paths, you need to fill in a relative path with library

Hopefully you won't remove this feature, since in my case a relative path makes perfectly sense. My environment uses a virtual fs where the relative path to the modules folder is equivalent to the relative path inside my library.

I have problems using the global require paths feature.
I try to include this file:
$ ls ~/.luarocks/share/lua/5.4/soop/init.lua
/home/sewbacca/.luarocks/share/lua/5.4/soop/init.lua

Even though those paths are added globally and in the local settings.json, I cannot get autocompletion.
Log here