[in_app_purchase] add appAccountToken to PurchaseOption

Use Case
It makes it easier to detect which user has subscribed on your backend, because this field will be returned in apple receipt data.
Without it, users can abuse one apple id with many accounts in your app. And every account will get subscriptions from the "restore purchases" button.
Proposal
Add appAccountToken to PurchaseOption in IOS.
Apple added it in StoreKit 2.
Additional information
Please check:
https://developer.apple.com/documentation/storekit/product/purchaseoption/3749440-appaccounttoken
https://developer.apple.com/documentation/appstorereceipts/app_account_token

any updates?

any updates?

I cannot believe that such thing are not integrated (by Apple) from the beginning...
Any updates, when this can be added in the in_app_purchase  plugin?

Guys, this field is very important to validate purchases in server side, why was it not implemented yet? Please, let's focus on it

Any update?

Unsolved it by linking it to the transaction Id on iOS and the purchase
token on android. If you store the transaction and link it to the user,
then on the receiving of the subscription notification you can find the
transaction and the linked user.
On Fri, 11 Mar 2022 at 00:29, Jon Samwell @.***> wrote:

Any update?
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/95637#issuecomment-1064619945,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGH5MNBPLXAJLMLSWINDIDU7KAW5ANCNFSM5KQUU32A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

--
Tjerk Wolterink

me toooooo。。。。。

I'm facing the same issue, can not set appAccountToken on iOS with In_App_Purchase plugin

I found out we can use the field 'applicationUserName' in PurchaseParam to set the 'appAccountToken' but you MUST be use the UUID (use uuid plugin ) then Apple understand and assign it to appAccountToken field when apple server send you notification
document: Apple applicationUserName

Consider assigning a UUID to the applicationUsername property. When this value is a UUID, the App Store server stores it as an appAccountToken

Hi! what do you mean by you must use the uuid format? Is it a security thing?
Please explain the flow you are using the uuid.
Is it:
uuid = create uuid
subscribe to app store connect(uuid)
....
server notification gets appAccountToken in the SUBCRIBE event
Sort of like that?

Unsolved it by linking it to the transaction Id on iOS and the purchase token on android. If you store the transaction and link it to the user, then on the receiving of the subscription notification you can find the transaction and the linked user.
On Fri, 11 Mar 2022 at 00:29, Jon Samwell @.> wrote: Any update? — Reply to this email directly, view it on GitHub <#95637 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGH5MNBPLXAJLMLSWINDIDU7KAW5ANCNFSM5KQUU32A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: @.>
-- -- Tjerk Wolterink

Hi!
Is the original transaction id the same as a subscription id?
I mean how to we every month extend a users subscription on the backend if we cannot connect him/her with a fixed id?

Hi guys, I found out we can use the field 'applicationUserName' in PurchaseParam to set the 'appAccountToken' but you MUST be use the UUID (use uuid plugin uuid ) then Apple understand and assign it to appAccountToken field when apple server send you notification document: Apple applicationUserName

Consider assigning a UUID to the applicationUsername property. When this value is a UUID, the App Store server stores it as an appAccountToken

Hi! what do you mean by you must use the uuid format? Is it a security thing?
Please explain the flow you are using the uuid.
Is it:
uuid = create uuid
subscribe to app store connect(uuid)
....
server notification gets appAccountToken in the SUBCRIBE event
Sort of like that?

Hi guys, I found out we can use the field 'applicationUserName' in PurchaseParam to set the 'appAccountToken' but you MUST be use the UUID (use uuid plugin uuid ) then Apple understand and assign it to appAccountToken field when apple server send you notification document: Apple applicationUserName

Consider assigning a UUID to the applicationUsername property. When this value is a UUID, the App Store server stores it as an appAccountToken

Hi! what do you mean by you must use the uuid format? Is it a security thing?
Please explain the flow you are using the uuid.
Is it:
uuid = create uuid subscribe to app store connect(uuid) .... server notification gets appAccountToken in the SUBCRIBE event
Sort of like that?

yeah, that's right. When you subscribe to app store a purchase and send to applicationUserName uuid (e.g: 110ec58a-a0f2-4ac4-8393-c866d813b8d1) then you can get it in apple notification appAccountToken, if you set applicationUserName is int (e.g: 1, 2, 3) then you apple won't send it in notification

Hi guys, I found out we can use the field 'applicationUserName' in PurchaseParam to set the 'appAccountToken' but you MUST be use the UUID (use uuid plugin uuid ) then Apple understand and assign it to appAccountToken field when apple server send you notification document: Apple applicationUserName

Consider assigning a UUID to the applicationUsername property. When this value is a UUID, the App Store server stores it as an appAccountToken

Hi! what do you mean by you must use the uuid format? Is it a security thing?
Please explain the flow you are using the uuid.
Is it:
uuid = create uuid subscribe to app store connect(uuid) .... server notification gets appAccountToken in the SUBCRIBE event
Sort of like that?

yeah, that's right. When you subscribe to app store a purchase and send to applicationUserName uuid (e.g: 110ec58a-a0f2-4ac4-8393-c866d813b8d1) then you can get it in apple notification appAccountToken, if you set applicationUserName is int (e.g: 1, 2, 3) then you apple won't send it in notification

Thanks! We found it out after testing a lot. Weird that the documentation lacks this info. Tbh I am astonished that one of the worlds largest payment service providers have such a bad documentation :)

Apple has always tried to intimidate developers in a variety of ways. Earlier versions could not be linked to the developer's own system, and now they can be linked, but only in the unique format of UUID.

Hi guys, I found out we can use the field 'applicationUserName' in PurchaseParam to set the 'appAccountToken' but you MUST be use the UUID (use uuid plugin uuid ) then Apple understand and assign it to appAccountToken field when apple server send you notification document: Apple applicationUserName

Buddy, You Saved my day/s.
Kudos to you, Thank you 🙏🏻 🚀


Romania's public holidays

We don't have the Romania's public holidays, please add

Take a look at my PR #54. I realize the :deps stuff might be too much of a change, but the rest of the additions allows direct import from the holidays repository.


Development: npm i - authentication issue

Development
Azure DevOps allows the creation of a Personal Access Token (PAT) on my account. Share development instruction with linux and npm auth token access.
First install:

[x]    Node.js (8.11.1 or later)
[x]    Npm (5.6.0 or later)

To run and develop do the following:

[ ]    Run npm i authentication error (suprised!!! msazure.pkgs.visualstudio.com)
[ ]    Run npm run compile
[ ]   Open in Visual Studio Code (code .)
[ ]    Optional: run npm run watch, make code changes
[ ]    Press F5 to debug

Hi @kscott5, thanks for reporting this issue. I opened a PR to fix the resolved url for those packages.


Added change for InfrastructureManifest.xml

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Pranjal089 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Backup Ledger

Hi, I just installed Firefly and want to migrate from Trinity, I use the Ledger Nano X, how can I backup the seed to migrate? I don't know my seed but I have access to my trinity wallet. Please help!
Thanks

Migrating wit a Trinity Ledger account is not yet possible.
You will need to wait a few weeks until the Ledger support is implemented in the new Firefly Wallet.
No worries, your Seed is absolute safe stored in the Ledger.
Just wait for an upcoming announcement in the next week when the process for Ledger owners can start


Fixed QUnit on Android (closes #112)

\cc @inikulin @AlexanderMoskovkin

Please, review without me

FPR

lgtm
\cc @helen-dikareva please review

lgtm
@VasilyStrelyaev please check new test names

/r-

@testcafe-build-bot \retest

FPR

The grammar remarks are not fixed
/r-

FPR

lgtm

lgtm


Nada/FEQ 2447/: daily limit modal refactor

https://github.com/deriv-com/p2p/assets/122768621/acb86ea3-89c6-489e-939a-9399e1c36c13

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

21 of 21 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 85.419%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
5325

Relevant Lines:
5787

💛  - Coveralls


pls, review my attempt to fix #706

It looks like you need to rebase this change on the current state of master.

Hi @s13o
This change seems to be introducing some specific checks for Integer values but I don't think is the correct way to fix this. There should be an opportunity for recursion here to solve the problem in the general case - getDefaultEnum can use getDefaultValue to ensure that the full range of JExpressions can be supported. I haven't checked this solution but I think it should work :smile:
Also I can see quite a few changes that look unrelated. Changes in plugin version, a load of Android related dependencies that I don't understand. Could you move these unrelated changes into their own commits?

Guys, I don't really know what are you asking me.
Well, I'm agreed that some new revisions in master has appeared sine I've created my fork but I don't know how to 'rebase the change on the current state of master'.
Any short guideline? Any link?

About android test dependencies. There where a lot errors in test like "dependency  XXX not found in any repo" but they where resolved immediately when I've added them to "pom.xml" directly. Strange. I thought that it might be related with local maven cache  (~/.m2/repo/) that you, guys, have already but mine is empty... dependencies are requested from IT tests but not from maven dependency loading flow... that is some magic, it not it?

@s13o When you're working to create a pull request, it's important that you create a new branch for each pull request you intend to submit. This makes it a lot easier to modify and add to your changes later since GitHub will understand that the pull request relates to a specific branch and it will keep them in sync. Each time you want to work on a new feature, just pull the latest master and start a new branch. It's good to always keep master in your fork as an exact match to master in the upstream repository (this repo).
Now, lets think about what to do to your repository next.  I'm happy to bring these in but since they don't relate to the Enum default work in any way they should be separate commits.
When you're happy use:
git push origin enum-int-default

Then raise a new PR using the enum-int-default branch.
Hope this helps.


sqlite3 install error - node-pre-gyp: not found

Hi,
I have a package.json file which has following dependencies:
"dependencies": {
    "body-parser": "^1.9.0",
    "deasync": "^0.0.10",
    "exec-sync": "^0.1.6",
    "express": "^4.9.5",
    "libxmljs": "^0.13.0",
    "mongodb": "^1.4.31",
    "mysql": "^2.5.1",
    "segfault-handler": "^0.2.4",
    "sqlite3": "^3.0.0",
    "underscore": "^1.7.0",
    "webworker-threads": "^0.5.5",
    "winston": "^1.0.0"
  }

I get the following error when doing npm install
npm info install<EMAIL_ADDRESS>npm info postinstall<EMAIL_ADDRESS>npm info install<EMAIL_ADDRESS>
><EMAIL_ADDRESS>install /tmp/hub_node_modules/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

sh: 1: node-pre-gyp: not found
npm verb unsafe-perm in lifecycle false
npm info<EMAIL_ADDRESS>Failed to exec install script
npm verb unlock done using /usr/local/nonroot/.npm/_locks/sqlite3-8f1b2b4d6261ee24.lock for /tmp/hub_node_modules/node_modules/sqlite3
npm verb stack Error<EMAIL_ADDRESS>install: `node-pre-gyp install --fallback-to-build`
npm verb stack spawn ENOENT
npm verb stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:17:16)
npm verb stack     at ChildProcess.emit (events.js:98:17)
npm verb stack     at maybeClose (child_process.js:766:16)
npm verb stack     at Process.ChildProcess._handle.onexit (child_process.js:833:5)
npm verb pkgid<EMAIL_ADDRESS>npm verb cwd /tmp/hub_node_modules
npm ERR! Linux 3.13.0-55-generic
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-ddd"
npm ERR! node v0.10.39
npm ERR! npm  v2.12.1
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR<EMAIL_ADDRESS>install: `node-pre-gyp install --fallback-to-build`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the sqlite3 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR!     npm owner ls sqlite3
npm ERR! There is likely additional logging output above.
npm verb exit [ 1, true ]
npm verb unbuild node_modules/sqlite3
npm info preuninstall<EMAIL_ADDRESS>npm info uninstall<EMAIL_ADDRESS>
How can I solve this problem? More detailed logs in the gist > https://gist.github.com/shaunthomas999/ea2e90754804441c5be3

I have some additional information. I am using Ubuntu 14.04 OS and the above issue is happening when building a Docker image, which has Ubuntu 14.04 as base, from a Dockerfile. node location is /usr/local/bin/node. Nodejs version 0.10.39 and Npm version is 2.12.1. The same issue exists with Nodejs version 0.10.38 and Npm version 2.11.3 and 2.12.0.

This will happen if you run as root. Either don't run as root or pass --unsafe-perm. More details at https://github.com/mapbox/node-pre-gyp/issues/165.

Version 4.0 is not complatible yet and reproduce this same error


Screen Problem

Defective ToolKit Feature Name:
Expected Behavior Able to see totals
Actual Behavior  I have two category totals that are covered up by a blue cover.  If I disable toolkit then the problem never appears.

Steps to Reproduce the Behavior

Import data (I initiate the data manually because it doesn't get downloaded until later in the day.
refresh so all the import notifications appear next to accounts
Go to budget, see the problem, refresh, goes away

Export of Toolkit Settings (Bottom Left of Settings Page)
[{"key":"CustomFlagNames","value":false},{"key":"ShowCategoryBalance","value":false},{"key":"TargetBalanceWarning","value":false},{"key":"accountTransactionSearch","value":true},{"key":"accountsClearSelection","value":true},{"key":"accountsDisplayDensity","value":"0"},{"key":"accountsEmphasizedOutflows","value":true},{"key":"accountsRowHeight","value":"0"},{"key":"accountsSelectedTotal","value":false},{"key":"accountsStripedRows","value":false},{"key":"activityTransactionLink","value":true},{"key":"betterScrollbars","value":"0"},{"key":"budgetBalanceToZero","value":true},{"key":"budgetProgressBars","value":"0"},{"key":"budgetQuickSwitch","value":true},{"key":"budgetRowsHeight","value":"0"},{"key":"calendarFirstDay","value":"0"},{"key":"categoryActivityPopupWidth","value":"1"},{"key":"changeEnterBehavior","value":true},{"key":"checkCreditBalances","value":true},{"key":"checkNumbers","value":false},{"key":"closeReconcileWindow","value":false},{"key":"collapseExpandBudgetGroups","value":true},{"key":"collapseSideMenu","value":true},{"key":"colourBlindMode","value":false},{"key":"compactIncomeVsExpense","value":false},{"key":"currentMonthIndicator","value":true},{"key":"daysOfBuffering","value":false},{"key":"daysOfBufferingHistoryLookup","value":"0"},{"key":"editButtonPosition","value":"0"},{"key":"enableRetroCalculator","value":true},{"key":"enlargeCategoriesDropdown","value":true},{"key":"enterInRegisterNow","value":true},{"key":"exportTransactions","value":true},{"key":"goalIndicator","value":true},{"key":"goalIndicatorWarningColor","value":true},{"key":"googleFontsSelector","value":"0"},{"key":"hideAOM","value":true},{"key":"hideAccountBalancesType","value":0},{"key":"hideHelp","value":false},{"key":"highlightNegativesNegative","value":true},{"key":"importNotification","value":"1"},{"key":"incomeFromLastMonth","value":"0"},{"key":"l10n","value":"0"},{"key":"largerClickableIcons","value":true},{"key":"monthlyNotesPopupWidth","value":"0"},{"key":"moveMoneyAutocomplete","value":true},{"key":"moveMoneyDialog","value":true},{"key":"navDisplayDensity","value":"0"},{"key":"options.dark-mode","value":false},{"key":"pacing","value":"0"},{"key":"popupCalculator","value":true},{"key":"printingImprovements","value":true},{"key":"privacyMode","value":"0"},{"key":"reconciledTextColor","value":"1"},{"key":"removePositiveHighlight","value":true},{"key":"removeZeroCategories","value":true},{"key":"reports","value":true},{"key":"resizeInspector","value":true},{"key":"rightClickToEdit","value":true},{"key":"runningBalance","value":true},{"key":"seamlessBudgetHeader","value":false},{"key":"showIntercom","value":true},{"key":"spareChange","value":false},{"key":"splitKeyboardShortcut","value":true},{"key":"splitTransactionAutoAdjust","value":true},{"key":"squareNegativeMode","value":true},{"key":"stealingFromNextMonth","value":false},{"key":"swapClearedFlagged","value":true},{"key":"toBeBudgetedWarning","value":true},{"key":"toggleSplits","value":true},{"key":"toggleTransactionFilters","value":"0"},{"key":"warnOnQuickBudget","value":true}]

System Settings
ToolKit Version:1.0.0
Operating System (Mac/Windows/Etc):Mac 10.12.4
Browser (Chrome/Firefox/Safari):Chrome
Browser Version: Version 58.0.3029.110 (64-bit)
Other Extensions:

I think this has something to do with features running which should not be in the new framework. We have a fix in master and it should be out on our next release. We'll check back after that and see if you're still seeing this!

Actually, I'm wrong. It looks like this is a bug and a duplicate of #769
I'm going to close this in favor of that issue.


Fixes new version notification. Closes #150

Next to fixing the bug, I also centralized current version detection so that we do it consistently.

Hey @gavinbarron, now that we've got all code changes, would you mind having another look?


ARN-2067 - Update routing logic for education and employment

Update routng logic to be explicit
Update ordering of educaton questions to match design

HMPO provides a shorthand for this btw, but we'd have to support it in our custom stuff (e.g. summary page generator)
{
  field: 'employment_status',
  op: 'in',
  value: ['CURRENTLY_UNAVAILABLE_FOR_WORK', 'UNEMPLOYED_LOOKING_FOR_WORK', 'UNEMPLOYED_NOT_LOOKING_FOR_WORK'],
  next: [
    { field: 'has_been_employed', value: 'YES', next: 'has-been-employed' },
    { field: 'has_been_employed', value: 'NO', next: 'never-been-employed' },
  ],
}

They haven't documented this bit https://github.com/HMPO/hmpo-form-wizard/blob/a45c5d5207334380fab9e89c34dced46db0aef1f/lib/controller/mixins/next-step.js#L75

Will be worth looking in to supporting this 👍

Agreed. This section isn't using the new summary page at the mo, so feel free to use op: 'in' if you want and we'll add support for it when we play the summary page ticket 👍


No github pages enabled

I was looking at the ci-artifacts repo docs, but in this new repo there is no gh-pages enabled.
Can you please create an empty gh-pages branch, and enable GitHub pages in the repo settings?
Once this gh-pages branch is created would it be possible to enable:

Project's settings -> Actions ->General ->Workflow permissions -> Select Read and Write permissions.

Once that is enabled, #8 should automatically render the docs page and upload it to the gh-pages branch after every push and have the docs available at https://openshift-psap.github.io/topsail/
Thanks!

This is how the docs page should look like after the merge https://ccamacho.github.io/topsail/

Already enabled, thanks!


Debugger: Include request ID in reply

Fair warning: This would represent a major breaking change to the debug protocol.
My debug client is presently set up to read and buffer messages from Duktape in a separate thread to ensure the debugger stays responsive.  Unfortunately this setup makes it difficult to correlate replies with requests (the worker task has no context for the replies).  Doing so would be much easier if the reply included the original request number so that I could look through the list of replies to find the one with the data I requested.
Alternatively, Duktape could just send Notifies (NFY) instead so that they can be processed context-free, for example for the GetLocals request, instead of this:
REQ 29 EOM
REP "x" "1" "y" "3.1415" "foo" "bar" EOM

The conversation would go like this:
REQ 29 EOM
REP EOM   # or maybe get rid of REP entirely?
NFY <int: ID> "x" "1" "y" "3.1415" "foo" "bar" EOM

At the moment the protocol is synchronous but allows pipelining: you can send (pipeline) requests without waiting for replies, but Duktape will always process requests in sequence and send a reply/error for each request. Because each request gets exactly one reply (or error), requests and replies can be correlated simply by counting; the fourth reply/error message receiver from a debug connection must belong to the fourth request sent over that connection.
Request IDs could be added for clarity but Duktape wouldn't be able to do asynchronous replies anyway without pretty major changes: there's no concept of a request in-flight because everything happens inline (which is why the debug code can be small and relatively state-free). I'd very much like the protocol to be asynchronous BTW, but that's somewhat incompatible with keeping the state simple.
Anyway, you should be able to simply keep counters in your setup? One counter for requests sent, and another counter for reply/error messages received (notifies are not counted). With these counters you should be able to locally generate a "request ID" for correlating messages.

I am in a single threaded environment also there are a couple things you can do to ensure your UI stays responsive. (for an in process duk instance)
In your script timeout check you can do a callback to your main app to process window messages. This happens reliably on interval, in the same thread, regardless of what processing the engine is doing.
int ScriptTimeoutCheck(const void*udata)
{

	unsigned int tick = GetTickCount();

	if(inCreate) return 0; //fatal exception if this returns 1 during heap creation..

	if(vbStdOut){
		if(tick - lastRefresh > 250){
			vbStdOut(cb_Refresh,0);
			lastRefresh = tick;
		}
	}

When blocking in the debugger read loop I do the same thing making sure the message pump still gets called here and there to process window messages and keep ui responsive. Since its a 1:1 ratio between request sent and message received all I have had to do is track the last command sent.
in a previous ticket you mentioned the lag between issuing a pause and having it actually break. If this is part of the decision to thread, you can get it to break immediately by issuing your own manual call to duk__debug_process_message(ctx); with a pause request pre built and ready to go in the buffer. (if single threaded and in process, not officially supported, use at own risk, but has been useful for me in practice, i probably shouldnt encourage this but its sooo handy to use in this environment and hosting in process has its own challenges)

Counting replies would be trivial (in fact they are stored in a .NET ConcurrentQueue so I just have to check queue.Count), the issue is that the worker thread that reads inbound messages has no context for the replies (the requests are sent in the main thread).
What I meant by a reply ID was this, by the way:
REQ 29 EOM
REP 29 [...] EOM
In other words, the reply ID matches the request ID.  that would be enough to allow my client to work asynchronously.
All that said, I did manage to come up with a workaround of watching the reply queue, but that requires blocking after a request.  Over loopback that's not an issue, but it might be for remote debugging.

I still don't understand though:

The thread sending a message associates an internal write_counter value to the request and stores it into whatever state you have (the same state that would hold an explicit request ID for matching replies). The write_counter is incremented whenever a message is sent.

The thread reading incoming messages associates an internal read_counter value to each reply/error message. That counter value is then used to lookup the matching request, in exactly the same way an explicit reply ID would be used. Note that read_counter is entirely independent of the write_counter and is only ever incremented (or read) by the inbound worker thread.

Why would an explicit request ID be easier to manage?

Mainly my issue is that I'm doing set-and-forget requests (i.e. send the request on the main thread and then carry on), while a separate worker thread handles reading replies and notifies.  Juggling a queue between threads is tedious enough as it is (ConcurrentQueue makes this easier but you still don't want to have multiple threads popping stuff off at the same time).  More state just makes synchronization even harder.
I could probably have avoided the threading mess if I updated the client on a timer, but running another thread allows notifies to be responded to immediately.  And since replies and errors come in on the same stream, those are necessarily threaded too.
If the reply included the request ID, I wouldn't have to wait for it or even store the original request -- I could just handle the reply statelessly: "Okay, I just got a reply from a GetLocals request, update the variable list).  I try to avoid stateful logic whenever possible, as it tends to complicate code.  I just feel this would be easier to do on the Duktape side, since Duktape presumably knows the request ID at the time it sends the reply, whereas a client has to work asynchronously to some degree to keep the UI responsive, necessitating the type of bookkeeping mentioned above.
That said, your solution is easy enough to do (C# being much more object-friendly than C, allowing arrays and collections to be passed around with impunity), so I'll use that.  My current method of blocking until the reply arrives has tended to make the debugger very sluggish. :(

But how would you manage a request ID between the threads? Presumably the reading thread would read a request ID from the reply and look it up somewhere?
Why would this be easier than two independent counters which are thread local?

Or are you talking about adding the command number to the reply?

Yes.  Sorry if I used the wrong terminology.
I basically envision this:
REQ 29 EOM  # GetLocals
REP 29 "var1" "foo" "var2" 812 EOM

When my reading thread sees REP 29 it immediately knows it's a GetLocals reply without ever having to track the original request.

Ok, I understand now. That wouldn't work if there were more than one request of a certain kind in flight (which might be easily happen e.g. if you have multiple eval expressions the debug client is re-evaluating for every step) but for a specific debug client that might not be an issue.

Point taken on stuff like eval.  However, in practice I would imagine most clients would need to block for those anyway.

At one point I actually had support for multiple "eval watches" in the debug web UI - whenever Duktape became paused, it would issue all the evals and update the eval values based on the responses. It's best to do this in a pipelined fashion so that even if you have some latency, it won't compound for each new watch expression. The web UI implements request/reply matching so that it can freely pipeline requests without any restrictions which is also useful from a modularity viewpoint: if two elements in the debug UI want to eval stuff, they don't need to coordinate who gets to issue an Eval first.
But I agree, it depends on the client and whatever commands it will be issuing. In fact the simplest client will just issue one command at a time and wait for a reply. The "active command" is then just a variable written by one thread and read by another (if there are multiple threads).

You don't have to implement this if you don't want, I just thought it would be a nice addition to make it easier to get a basic client up and running.  Ultimately I have to say the Duktape debugger is very nice for a first implementation, you can already do a lot with it.

Btw, some people have requested a request/reply ID (which is why I originally thought you also meant that) so that they can correlate requests and replies explicitly (rather than counting them). It'd also be easier when dumping messages over-the-write.

I think both adding an explicit request/reply ID and command number to the reply comes down to requirements and design consistency: one current goal is for the protocol to be compact enough to run directly over slow serial links. Unnecessary bytes are naturally a bit against this goal.
But if that goal were relaxed, so that slow links would be handled through compression instead, I'd also favor adding redundant fields to requests and replies to make them easier to match both programmatically and when dumping protocol messages.
So I suggest we revisit this when doing incompatible debugger changes; I'm not sure the current compactness goal is worth the tradeoffs. But it'd make sense to change several things at once, such as adding an explicit length for dvalues, so that the design would be consistent for those requirements.

Just thought I'd follow up to say I solved the issue described here.  What I ended up doing is, I have a queue of sent requests.  When a reply or error message is received from Duktape by the messenger thread, the request is taken off the queue and used as a key into a dictionary to store the associated reply.  My Converse method awaits the associated reply and only returns when the matching one is received.
Here's my reusable C# client implementation:
https://github.com/Radnen/spherestudio/blob/master/minisphere Remote/Duktape/DuktapeClient.cs


Add support to Apache Drill

This is the first attempt at support for Apache Drill in Superset.  This uses John Omernik's SQLAlchemy dialect (https://github.com/JohnOmernik/sqlalchemy-drill).
Drill has a unique aspect in its namespace which proved problematic.  Drill uses the concepts of:

Storage Plugin
Workspace
Table (or file)

When connecting to Drill to a non-file based system, the behavior is pretty much as a traditional database.  However, when Drill is querying a file based system, you can have additional . in the namespace that are not namespace related.   For example:
dfs.test.`data.json`

In this case, the storage plugin is dfs, the workspace which is optional is test, and the table, which in this case is a file, is data.json.  In this case however, the last period is not part of the namespace and was consistently misinterpreted by Superset.
The solution I found, which seemed like complete hackery, was to replace the last period with @@@ in the dropdown in SQLlab.  Then I modified view/core.py to replace the @@@ with a period in the various functions that generate tables.
UPDATE:  All Hackery Removed

I don't think it's ok to have references to @@@ scattered across the code base. It really should be limited to the db_engine_spec entry for drill. Looks like there are few entries on the frontend and one on the backend outside of db_engine_spec to clean up.

I am watching this PR very closely. I think this is a great addition to Superset and look forward to seeing it merged.

Hi @mistercrunch ,
I'm a little stuck and wondering if perhaps you could point me in the right direction.
I've removed all the static references to @@@ in the code base, instead calling the function in db_engine_specs with the exception of two that I can't seem to figure out.
They are: superset/assets/src/SqlLab/components/SouthPane.jsx and superset/assets/src/SqlLab/components/SqlEditorLeftBar.jsx.
I can't seem to figure out how these functions are populated or called from the Python/Flask side.
onTableChange(tableName, schemaName) {
	    this.props.actions.addTable(this.props.queryEditor, tableName, schemaName);
	    // Mod for Apache Drill
	    const cleanTableName = tableName.replace('@@@', '.');
	    this.props.actions.addTable(this.props.queryEditor, cleanTableName, schemaName);
	  }

If you could point me in the right direction there, and show me where in the python code these functions are getting the data, I can wrap this up.
Thanks in advance.

@cgivre I'm happy to help push that through and providing pointers. So here's the view:
https://github.com/apache/incubator-superset/blob/master/superset/views/core.py#L2303 and more specifically around here?
https://github.com/apache/incubator-superset/blob/master/superset/views/core.py#L2349
I didn't dig super deep as I don't have time to dig right this moment, but wanted to give some pointers.
Let me know if the pointers aren't helpful, I'll take the time to dig in deeper.

@mistercrunch Thanks for your response.   The PR already had a hook there to clean up the table name (see below)
https://github.com/apache/incubator-superset/blob/a05fc76633a93ccc6a33ac0badd9f3969cca35bf/superset/views/core.py#L2311
I've went through most of the flles looking for anything like table_name or tmp_table_name and run it through the clean up hook.  Any help is greatly appreciated.

@mistercrunch @kristw
I'm wondering if we could mark this as a Work In Progress and integrate this PR.  The latest version has two places in the code with the @@@ hard coded.
https://github.com/apache/incubator-superset/blob/184c6c625090da91dedff151f12ed560d83f2385/superset/assets/src/SqlLab/components/SqlEditorLeftBar.jsx#L63-64
and
https://github.com/apache/incubator-superset/blob/184c6c625090da91dedff151f12ed560d83f2385/superset/assets/src/SqlLab/components/SouthPane.jsx#L103-107
There are some things which I'd like to contribute but really can't until this is committed.  I'll keep working on it and hopefully get some more help as more people start using Drill+Superset.
@JohnOmernik

@cgivre I am not familiar with the backend code so I cannot fully review the code.
However, regarding your request to merge as Work in Progress, Superset is used in production environment for many organizations, making master stability very important. Therefore, I will have a hard time merging incompleted code into master.  PR are usually labelled WIP (Work in Progress) when the work is not completed so reviewers will not even review the PR.
However, if you feel that there are parts of this PR that are solid already and ready to be merged, please keep only that part and get rid of everything else. You can also help the reviewers understand what are the remaining issues that make you say this is still WIP.
If you can clean out the questionable parts, after receiving approval from @mistercrunch or other backend experts, we can merge.

Hi @kristw
I do not believe that this PR will introduce any instability or is not production ready.  As I indicated, it passes all the unit tests and works perfectly when I've used it myself.
The remaining issue is that @mistercrunch prefers to have code that is specific to one database in the db_engine_specs.py file.  (Which makes perfect sense and something I completely understand)   However, there are two places in this PR that I could not get to work without putting database specific code into another file.   If someone can show me how I can fix that, I will gladly do so, but I'm really stuck at this point.
As I said, I do feel this PR is solid and ready to be merged.  I'm willing to keep working on it to figure out how to move this code to the db_engine_specs.py file.

Bump... Any update?

@cgivre maybe I can help; @yciabaud recently ran into something similar with Presto+Pulsar which was addressed in #7297 . While slightly different there seem to be parallels. Can you summarize where you are stuck right now to help me get up to speed on your issue? By the looks of it this is quite close to an elegant solution but still needs that last finishing touch.

Hi @villebro
Thanks for responding!  Basically, I added a function to the db_engine_specs file that replaces the file extension with @@@.  Then I wrote another function in the db_engine_specs that removes it.
What was happening was that Superset was working great with Drill when it was querying a database, but if something had a file, the dot for the file extension would mess up the URLs.
My approach works, however, there were two places that I couldn't figure out how to call the database specific function in db_engine_specs so I just added the string replacement in the code.   The two locations are:
https://github.com/apache/incubator-superset/blob/ce3f9c30a925330763b394903d1a16ce6a90a495/superset/assets/src/SqlLab/components/SouthPane.jsx#L107
and
https://github.com/apache/incubator-superset/blob/ce3f9c30a925330763b394903d1a16ce6a90a495/superset/assets/src/SqlLab/components/SqlEditorLeftBar.jsx#L64
As you can see, these are not python files.  I couldn't figure out how to insert the Python function to clean up the table name.
Another approach which I tried but couldn't figure out was to add a function in db_engine_specs to do all the URL transformations.
Any assistance would be greatly appreciated, as I'd really like to get this integrated into Superset.
Thanks!!

It looks like the culprit is here:
https://github.com/apache/incubator-superset/blob/5f28027ce745dfda67e18fe7df8468184400be50/superset/assets/src/SqlLab/components/SqlEditorLeftBar.jsx#L86-L96
It seems the table selector is assuming that a table name with a period is schema.table, hence omitting everything before the period. Blame links it to a PR that's two years old: https://github.com/apache/incubator-superset/pull/1466
@mistercrunch do you have any idea or context on what's going on here?

@kristw can you check out my last comment; is SqlEditorLeftBar deprecated, and is my interpretation correct that a table can't be chosen unless a schema is first chosen, making the namePieces logic obsolete?

@villebro , I was also working on this issue this weekend and figured that this is an issue on JS side.

Hi @villebro,
You are correct in that a table can't be chosen unless a schema is first selected.
@coderfender
If what you're saying is correct, is there any way to fix this on the Python side?

I suggest making the necessary changes (removing the @@@ stuff, removing namePieces logic etc) and pushing them here. It will make it easier to review the PR, see what (if anything) breaks and also for others to try it out.

@villebro Would you mind please posting your code for those sections?

@cgivre , @villebro , You guys are rockstars ! . @cgivre , Shall I go ahead and test so that we can go ahead to raise PR and merge and probably get this in next release?

Great stuff! However, let me test this first before declaring victory, there are a few bits that I'm worried might be affected that I'd like to clear first.

@cgivre it seems there's still some hackery remnants (get_table_name_dropdown, clean_table_name and multiple references to it that don't do anything) and unneeded non-functional changes (added line changes) left. Please try to remove those to make this PR as compact as possible.

@villebro I think I got rid of all the hackery this time.  I also added better time grains, but should note that this will only work with Drill v 1.16 or greater.
There is one unit test which is now failing, the javascript one, which I need to sort out.

Ok, @villebro, @coderfender  Last question.  I made the changes and now the unit test for javascript is breaking.
Here is the error I'm getting:
FAIL spec/javascripts/components/TableSelector_spec.jsx (6.083s)
  ● TableSelector › changeTable › test 2

    expect(received).toBe(expected) // Object.is equality

    Expected: "my_table"
    Received: "main.my_table"

      200 |         label: 'my_table',
      201 |       });
    > 202 |       expect(mockedProps.onTableChange.getCall(0).args[0]).toBe('my_table');
          |                                                            ^
      203 |       expect(mockedProps.onTableChange.getCall(0).args[1]).toBe('main');
      204 |     });
      205 |   });

      at Object.toBe (spec/javascripts/components/TableSelector_spec.jsx:202:60)1

I'm guessing that the issue is something silly with the file below, but I'm not really sure how to fix that.
https://github.com/apache/incubator-superset/blob/81c2c896f1a2b4479ed8a4614e7268d606a66401/superset/assets/src/components/TableSelector.jsx#L173-L174

Hello @cgivre .. I think I found the place where we need to change the code. If my understanding is correct , we need to change the file TableSelector_spec.jsx like the below screenshot

Given my limited skills in frontend tech, I would be happy if some one can comment on the same.
Thank you

Ok, this is weird.  The unit tests all pass on my machine, but when I submit the PR, I get the following errors.

  1) Dashboard save "before each" hook for "should save/overwrite dashboard":
     Error: Blocked a frame with origin "http://localhost:8081" from accessing a cross-origin frame.
      at jquery (http://localhost:8081/__cypress/runner/cypress_runner.js:58622:46)
      at Object.getRemotejQueryInstance (http://localhost:8081/__cypress/runner/cypress_runner.js:58627:22)
      at Context.thenFn (http://localhost:8081/__cypress/runner/cypress_runner.js:53952:24)
      at Context.then (http://localhost:8081/__cypress/runner/cypress_runner.js:54262:21)
      at Context.<anonymous> (http://localhost:8081/__cypress/runner/cypress_runner.js:61169:21)
      at http://localhost:8081/__cypress/runner/cypress_runner.js:60874:33
      at tryCatcher (http://localhost:8081/__cypress/runner/cypress_runner.js:127195:23)
      at Promise._settlePromiseFromHandler (http://localhost:8081/__cypress/runner/cypress_runner.js:125213:31)
      at Promise._settlePromise (http://localhost:8081/__cypress/runner/cypress_runner.js:125270:18)
      at Promise._settlePromiseCtx (http://localhost:8081/__cypress/runner/cypress_runner.js:125307:10)
      at Async._drainQueue (http://localhost:8081/__cypress/runner/cypress_runner.js:122124:12)
      at Async._drainQueues (http://localhost:8081/__cypress/runner/cypress_runner.js:122129:10)
      at Async.drainQueues (http://localhost:8081/__cypress/runner/cypress_runner.js:122003:14)
      at <anonymous>
  (Results)
  ┌──────────────────���────────────────────┐
  │ Tests:        8                       │
  │ Passing:      7                       │
  │ Failing:      1                       │
  │ Pending:      0                       │
  │ Skipped:      0                       │
  │ Screenshots:  0                       │
  │ Video:        false                   │
  │ Duration:     1 minute, 3 seconds     │
  │ Spec Ran:     dashboard/index.test.js │
  └───────────────────────────────────────┘
================================================================================
  (Run Finished)
      Spec                                    Tests  Pass…  Fail…  Pend…  Skip…
  ┌────────────────────────────────────────────────────────────────────────────┐
  │ ✖ dashboard/index.test.js         01:03      8      7      1      -      - │
  └────────────────────────────────────────────────────────────────────────────┘
    1 of 1 failed (100%)              01:03      8      7      1      -      -
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>cypress: `cypress "run" "--spec" "cypress/integration/dashboard/*" "--record" "false" "--config" "video=false"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>cypress script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2019-04-23T02_11_51_043Z-debug.log
ERROR: InvocationError for command /home/travis/build/apache/incubator-superset/superset/assets/cypress_build.sh dashboard (exited with code 1)
___________________________________ summary ____________________________________
ERROR:   cypress-dashboard: commands failed

@villebro @coderfender Thank you both for your help.  All unit tests passed!

@mistercrunch, I believe all the issues you've raised were addressed.  Could you please take a look?  Thanks!

I have a small question though (out of curiosity). Do we need to write Unit tests on the Python side to check this behavior ?

@cgivre can you also add Drill in the table of supported engines in docs/installation.rst and any additional steps needed to get it up and running (if needed).

@villebro @mistercrunch @kristw
I believe all comments have been addressed.  Could someone please take a look and let me know if anything else needs to be addressed?

I can confirm that I have tested this on my cluster using S3 and File system (DFS and CP) plugins. Apart from issues in the Drill Dialect ( which isn't pertinent to this repo/project), I can confirm that the functionality seems to be as expected .

@cgivre as this PR in its current state would break support for existing engines I don't think it can be merged. I would propose putting through a PR first that adds support for period separated table names, and once that's merged, rebasing this and merging once the dust settles. I have an idea of how this could be done with minimal collateral damage. @mistercrunch if this sounds ok I can put through a PR that makes minimal changes required to add support for period separated table names.

I think the feature around TABLE_NAMES_CACHE_CONFIG when enabled makes it such that on the left panel, when schema is NOT selected, the table dropdown, instead of behind greyed out, will allow to search across all the tables in the database across schemas. This concatenates the {schema}.{table_name}.
Now if we start having table names with periods in them, this stuff will get messed up. We'll either need proper quoting and quoting-aware splitting, or we need a better data structure, from say:
[
    "myschema.table1",
    "myschema2.table2"
]

to:
    {"schema": "myschema", "table": "table1"},
    {"schema": "myschema2", "table": "table2"}

Thanks for the comment @mistercrunch , I had totally missed the allow_multi_schema_metadata_fetch db feature. Agree that this is non-trivial and needs to be thought through thoroughly.

I would be an advocate of the second approach that @mistercrunch mentioned where we have a better data structure.  However, I'm not sure I know enough about the internals of Superset to implement those kinds of changes.  (Unless I'm wrong and that would be an easy fix)
It also does seem out of scope for this PR.  Should we create a separate PR for that specific issue? @villebro could you assist with the implementation?

@cgivre yes I do think this is out of scope for this PR. I can look into how this could be done. I also think the second approach is better.

Thanks @villebro!  I appreciate your help on this.

@villebro I updated the title.  Thank you very much for your assistance getting this PR completed.  From my perspective we are ready to go.

Let's leave this open for a few days to see if anyone has something to add. But IMO this is ready to be merged.

Awesome to see. Should the README.md#database-support be updated with Apache Drill?

@cgivre ^^^

Thanks @mistercrunch and @SamuelMarks
I addressed this and one small bug in https://github.com/apache/incubator-superset/pull/7635, which @villebro just approved.


Use framework referencing for AFHTTPClient

Your call on whether to merge this, but this lib can't be turned into a framework with the direct-style header imports in AFOAuth1Client.h.
Should work with all versions of CP.

+1


foundation.min.css and foundation.min.js downloads are all messed up

What should happen?
Downloading these files should provide you with the essential files you requested and should be able to be used immediately
...
What happens instead?
The files are all jumbled into single lines and out of order syntax wise
...
Possible Solution

None at the moment.
...
Test Case and/or Steps to Reproduce (for bugs)

Test Case:  This is not a bug, but an inconsistency in the downloads

How to reproduce:

Download the entire package and see if it happens again.
It happens every time I download the package.

Context

I have been unable to utilize the foundation.min.css file for my portfolio website. I have been using the foundation.css file, but don't need all of the extras.
...
Your Environment

Foundation version(s) used: 6
Browser(s) name and version(s): Chrome and Firefox
Device, Operating System and version: Fedora
Link to your project: No link currently available.

Checklist

[ x ] I have read and follow the CONTRIBUTING.md document.
[ x ] There are no other issues similar to this one.
[ x ] The issue title and template are correctly filled.

I have attached an image below:

Answered here... https://github.com/foundation/foundation-sites/discussions/12313


[SUPPORT] query hudi table with Spark SQL on Hive return empty result

Tips before filing an issue

Have you gone through our FAQs?
Yes

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced

Hudi 0.9 on EMR-5.34.0
Create and generate a table with DeltaStreamer from JsonKafkaSource
use zeppelin and spark SQL to query the table with the following key parameters

%spark.conf
spark.app.name query_hudi_table
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.jars.packages org.apache.hudi:hudi-spark-bundle_2.11:0.5.3,org.apache.spark:spark-avro_2.11:2.4.4
spark.sql.hive.convertMetastoreParquet false

Presto 0.265 and Hive work well to query the table.

To Reproduce
Steps to reproduce the behavior:

Expected behavior
Hope spark SQL would query the data normally just like Presto and Hive SQL
Environment Description

Hudi version : 0.9

Spark version : 2.4.8

Hive version :2.3.8

Hadoop version : Amazon 2.10.1

Storage (HDFS/S3/GCS..) : S3

Running on Docker? (yes/no) : no

Additional context
Add any other context about the problem here.
Stacktrace
no errors.
Add the stacktrace of the error.

from what you listed, org.apache.hudi:hudi-spark-bundle_2.11:0.5.3,org.apache.spark:spark-avro_2.11:2.4.4 this is hudi 0.5.3. can you confirm which hudi version do you have  problem with?

Hey @xushiyan ,
it is 0.9.0.
after further debugging with the 0.9.0 bundle, I suspect it is related to #6007.
hence I am waiting for 0.11.0 on EMR 5.x and will also try on the non-partitioned table.
the workaround now is to unset the spark.sql.sources.provider with HIVE SQL..

link to https://github.com/apache/hudi/issues/3868


#46: ignore archived repositories for Fbe#unmask_repos

@Yegorov ok, thanks

@Yegorov Thanks for the contribution! You've earned +15 points for this: +30 as a basis; -5 for very few (2) comments; -10 for too few (17) hits-of-code. Please, keep them coming. Your running balance is +76.

@yegor256 I've analyzed the work policy document and reviewed the draft message to the programmer. Here's a rewritten version of the message that's more conversational, incorporates relevant points from the policy, and aims to be more motivating:
Hey there! Thanks for jumping in on this review. I've got some good news and some room for improvement for you.
So, here's the scoop: You've earned 15 points for this review. Not bad, but let me break it down for you:
You started with a solid 25-point base - that's automatic for every review. Nice!
Now, I noticed you only left one comment. The policy encourages more engagement, aiming for at least 6 comments to avoid a 10-point deduction. Unfortunately, we had to apply that deduction here.
But hey, look on the bright side! You didn't review your own code (that would've cost you 40 points), and you showed up to participate. That's great!
Want to boost your points next time? Here are some tips:

Leave more comments - you can earn up to 20 points for that!
If you're reviewing a larger piece of code (15+ hits-of-code), you'll avoid another 10-point deduction.
The more substantial the code review, the more points you can rack up (up to 40 points for the code size alone).

Your current balance is -579, but don't let that discourage you. Every review is a chance to climb up. Remember, you can earn up to 100 points per review!
Keep at it, and let's see those points soar. You've got this!

@Yegorov Hey there! 👋 Thanks for the review, but reviewing your own code isn't the best practice. Your score for this one is +5 points: +25 base, -40 for self-review, -10 for only 3 comments (we like to see at least 6!), and +30 to keep you motivated. Remember, more comments and reviewing others' code can boost your score next time. Your total balance is now +194. Keep up the good work and let's aim for that 80-point max in future reviews! 💪


Turtlebot2 cannot move using arrow keys

Hello,
I am working on "2.3 Gazebo Simulation Setup". The connection is set up successfully between ROS and Unity. ROS terminal can read the initial position of the turtlebot2 in Unity.
However, I cannot move the turtlebot2 in Unity using arrow keys, like you did in the tutorial video. Is there a script file that I should attach it to the turtlebot2 in Unity to move it? Thank you.

Sorry I can not reproduce this error. Please proceed as in the tutorial videos.

Hi
It seems that I have the same issue.
This here is the current node map from rqt_graph

I did check the topics with rostipic echo /joy which seems to work. The output of the python script "joy_to_twist" topic /cmd_vel_mux/input/navi seems to be published as well. But then the mobile_base node is missing and nothing feeds back into gazebo, which is why I guess there is not movement after pressing the buttons.

Hi @Xunzhaocunzi I am having the same issue, did you fix it?

Hi @ThomasCarstens
So far no luck no. But I'll have a few meetings with some "More-ROS-guys" than I am and maybe they will find the mistake.
We will also create some Docker Images for this ROS# / TurtleBot example that would not run on a Ubuntu VM. Maybe thats the problem.
Are you experiencing the exact same issue? So do you get the same rqt_graph?
Regards
Eric

Here's my rqt. The most striking similarity I see is that gazebo only publishes the /camera/rgb (not the /joint_states nor /odom), and mobile_base_nodelet_manager is not publishing a /mobile_base to gazebo.

I am using Ubuntu 16.04 on VMware and Unity 2019.3.0f5 on Windows.

Hi @luchspeter and @ThomasCarstens ,
now that you have found it that this problem is not related to ROS#, I'd like to close this issue here.
For this problem you will find better help faster on e.g. ROS Answers.
Please feel free to link this issue if you don't want to tell the story twice.
Thank you,
Martin


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-yml-archive-non-versioning-archive/pull/509 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-yml-archive-non-versioning-archive.git

Docs Build status updates of commit 51e26b5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-3.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/sql-database-engine.png
:white_check_mark:Succeeded

docs/to-be-archive/level2/article3-2-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-3.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Mobile version

This is the mobile version of the Portfolio Project. I think it is completed

This branch contains the mobile version of the Portfolio Project. It has the toolbar and headline sections.


If you reenter a --shell --repl, allow the user to rerun the last command

Illustration and workaround:
...
Entering shell REPL mode, type [e] to execute commands or press Ctrl+C to exit.
>>> e
echo "e"
>>> woops. just wanted to run the last command again. can you repeat it for me please?

Closing this issue due to its age and lack of similar reports/requests from other users.


Automating version management and publishing

See chapter "Automating version management and publishing" in the Snyk repo setup article.
GitHub fine-grained token permissions: https://stackoverflow.com/a/76550826/8682210

Resolved in #13


⚠ Bofrost.lu has degraded performance

In 4d5d023, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1775 ms

Resolved: Bofrost.lu performance has improved in d7a6a15 after 6 minutes.


HOSTEDCP-1681: Skip konflux when not necessary

This leverages a CEL expression to skip the konflux builds when changes only touch things like enhancements, docs, etc.
What this PR does / why we need it:
It reduces the load on Konflux by skipping builds for PRs that do not need it. It also makes those PRs quicker and easier to merge.
Which issue(s) this PR fixes
Fixes #HOSTEDCP-1681
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/area ci-tooling

/hold
I'm still playing with the CEL expression

/hold cancel

/lgtm

/approve

/retest-required

/retest


Remove namespace from linkerd-smi chart

Another part of #6584
This PR

stops rendering namespace.yaml in the linkerd-smi chart.
Adds a new post-install hook to add the linkerd.io/extension
label to the namespace after the chart is installed.

Signed-off-by: Tarun Pothulapati<EMAIL_ADDRESS>

I think it's fine to drop the "created-by" annotation from the new namespace-metadata template to fix that integration test :wink:


Add debugging support

Is your feature request related to a problem? Please describe.
I want to embed WAZERO as a multi langue runtime in a Go host program (it's some sort of a domain specific IDE). The Go host program has an UI to write scripts (in any language that can be compiled to WASM), execute them, and also let the user to debug the code. My Go host program will call the WASM compiler for the source language and make sure, that the source code is being recompiled with DWARF information when the user decides to start debugging. So I need a way to register break points on lines / instructions of the WASM source code in WAZERO, then step through them line by line / instruction by instruction and providing a call stack and scope information. Because speed is not important while debugging, adding this feature to the interpreter only should be enough. DWARF should have have enough information to allow WAZERO to implement such a feature, because newer Chrome versions support WASM debugging and provide the basic features I described above (https://developer.chrome.com/blog/wasm-debugging-2020).
Describe the solution you'd like
A method to register breakpoints and provide a callback function in the WAZERO interpreter. Just before the line / instruction is being executed, the interpreter calls the callback function. The callback function should have a parameter with the full internal state of the interpreter (like stack trace, variables, etc...). Variables and stack trace should be demangled by DWARF information. There should also be methods to instruct the interpreter to continue execution (and only call the callback function if another break point is being hit), execute the current instruction (and on the next instruction call the callback function), or if the instruction is a method call, call the callback method on the first instruction in the called method. Just basic features for a debugger.
Describe alternatives you've considered
I considered using GDB and running my WASM binary as a separate process, but this is very cumbersome and controlling GDB remotely is a nightmare. WAZERO is already perfectly integrated in my Go host program and runs the scripts just fine. Only the debugging feature is missing.

ISTM this feature makes sense, especially as interpreter only, but I'm not sure the team is able to dedicate time to implement it.

@Crushless if you have the cycles to submit a pull request implementing the feature, it's likely that we can find time to review and merge the work.
I agree with @ncruces that doing this in interpreter mode only would be preferred, at least as an initial step.
I would also recommend that any newly exported APIs you need be added into the experimental package, maybe even in a new sub-package of it, so we can incrementally explore the new feature, and only commit to backward compatibility when we have more experience with the solution.
Let us know!


Hangs on XLSB file read

I got XLSB file from customer. Tried to read it using 3.7.0-develop00310 : ExcelReaderFactory.CreateReader(stream)
It just hangs at: System.IO.Compression.dll!System.IO.Compression.Inflater.Inflate  (stack trace). Uses 1 CPU core on 100% and just stay there forever.
File has about 200K of rows and 25 columns. Size about 5MB. I cannot provide it because of NDA. Sorry.
Small test XLSB file works.

Hi, the stacktrace indicates there is a problem in the unzipping implementation of the .NET runtime you're using. Could be some edge case in that particular XLSB file's zip stream triggering an infinite loop bug. Don't think there's much we can do without a file to repro with.
Out of curiosity, what .NET runtime are you using? (Core? Mono? etc) Does the file open in Excel? Does it hang if you open the file using another .NET Excel library? Does it hang if unzipping directly with f.ex System.IO.Compression.ZipFile.ExtractToDirectory()?

I am using NET Core 3.1

I can open file at Excel without any problems (even at 2007).

Will try to unzip directly. But I do not really think problem with unzipping implementation of the .NET runtime. Zip is too old for that.

I have tried System.IO.Compression.ZipFile.ExtractToDirectory and it works very fast (about 1 second).
My code test is:
const string from = ...
const string extract = ...

// works very fast (about 1 second)
System.IO.Compression.ZipFile.ExtractToDirectory(from, extract);

using var stream = new FileStream(from, FileMode.Open);
// hangs foreever with taking 1 CPU core on 100%
using var reader = ExcelDataReader.ExcelReaderFactory.CreateReader(stream);

reader.ToString();

Still hangs on System.IO.Compression.dll!System.IO.Compression.Inflater.Inflate

Could it be that we read the same content from the zip over and over again here for some reason?
Getting the full stack trace would be helpful.

Stack trace just has [External Code] between my code and System.IO.Compression.dll!System.IO.Compression.Inflater.Inflate. Just 3 lines (I call the code from the Main).

I do not think ExtractToDirectory and ExcelDataReader somehow affect to each other. I get same results if run each part independent.

To get the full stack trace you need to right-click in the Call Stack window and check Show External Code.

I have download code, compiled it and attached debug DLL to the project. Code trace is:
System.IO.Compression.dll!System.IO.Compression.Inflater.Inflate
[External Code]
ExcelDataReader.dll!ExcelDataReader.Core.OpenXmlFormat.BinaryFormat.BiffReader.TryReadVariableValue(out uint value) Line 126
ExcelDataReader.dll!ExcelDataReader.Core.OpenXmlFormat.BinaryFormat.BiffReader.Read() Line 25
ExcelDataReader.dll!ExcelDataReader.Core.OpenXmlFormat.XlsxWorksheet.XlsxWorksheet(ExcelDataReader.Core.OpenXmlFormat.ZipWorker document, ExcelDataReader.Core.OpenXmlFormat.XlsxWorkbook workbook, ExcelDataReader.Core.OpenXmlFormat.Records.SheetRecord refSheet) Line 38
ExcelDataReader.dll!ExcelDataReader.Core.OpenXmlFormat.XlsxWorkbook.ReadWorksheets() Line 42
ExcelDataReader.dll!ExcelDataReader.ExcelDataReader<ExcelDataReader.Core.OpenXmlFormat.XlsxWorkbook, ExcelDataReader.Core.OpenXmlFormat.XlsxWorksheet>.ReadWorksheetsWithCache() Line 318
ExcelDataReader.dll!ExcelDataReader.ExcelDataReader<ExcelDataReader.Core.OpenXmlFormat.XlsxWorkbook, ExcelDataReader.Core.OpenXmlFormat.XlsxWorksheet>.Reset() Line 211
ExcelDataReader.dll!ExcelDataReader.ExcelOpenXmlReader.ExcelOpenXmlReader(System.IO.Stream stream) Line 14
ExcelDataReader.dll!ExcelDataReader.ExcelReaderFactory.CreateReader(System.IO.Stream fileStream, ExcelDataReader.ExcelReaderConfiguration configuration) Line 68
Program.Main() Line 48

After some research it looks like a performance issue:

Code does not hangs but works very slow. It takes about 1 minutes with my file.

XlsxWorksheet constructor has a while loop: while ((record = sheetStream.Read()) != null). It takes almost all time.

Issue looks like NET Core specific.  On NET Framework 4.5 it works 2 seconds with my file

Looks like some kind of performance regression in .NET Core when reading a deflate stream many times with a very short data buffert compared to .NET Framework.
I think it would be good if we always use a buffered stream when reading binary data from the zip archive. It makes a huge difference for .NET Core but also improves performance quite a bit for .NET Framework.
It is not needed for XmlReader since it already reads using a buffer.

Sounds good. It would be good to have this fix someday soon with a new release, so we could use XLSB functionality.

Do you plan any releases at near future or it is better just fork and use the forked one for my application?

Hi, no plans for a release currently. I'd like to poke more at this issue and understand better before changing anything. Usually a new release "suddenly happens", but cannot say when.
One idea though, instead of forking, maybe it works to put a BufferedStream around your input FileStream?

Problem with an internal zip stream, so input stream is not used there.

The issue still exist with NET Core 7 and 3.7.0-develop00385.


Mercedes not working anumore

Describe the bug
Since upgrading a couple of nightlies, the Mercedes vehicle is not detected anymore. It used to work fine with this config. The vehicle is an EQA.
Steps to reproduce
Restart evcc
Configuration details
evcc.yaml (truncated)
network:
  schema: http
  host: <IP_ADDRESS>
  port: 7070

interval: 20s # control cycle interval
sponsortoken: abcd
telemetry: true
plant: Home

vehicles:
- name: Tesla
  type: template
  template: tesla
  title: Tesla
  accessToken: abcd
  refreshToken: efgh
  vin: L1234
  capacity: 82
  phases: 3
  mode: minpv
  minSoC: 20
  targetSoC: 90
  minCurrent: 6
  maxCurrent: 16
  identifiers:
  - 5678
  cloud: false
- name: EQA
  type: mercedes
  title: EQA
  vin: VIN1234
  clientId: abcd
  clientSecret: efgh
  cache: 2m
  onIdentify:
    mode: minpv
    minSoC: 20
    targetSoC: 90
    minCurrent: 6
    maxCurrent: 16
  identifiers:
   - 1234

Mercedes Me API
API Key: ****************
OAuth Credentials (Authorization Code Flow)
Client ID: abcd
Client Secret: efgh
Redirect URLs
http://<IP_ADDRESS>:7070/oauth/vehicles/1/callback
http://<IP_ADDRESS>:8091/mb-callback

Log details
evcc vehicle
[main  ] INFO 2022/10/04 07:53:25 evcc 0.104.2 (06fa7490)
[main  ] INFO 2022/10/04 07:53:25 using config file: /home/pi/evcc.yaml
Tesla
-------
SoC:           72%
Charge status: C
Target SoC:    90%
Identifiers:   [5678]
OnIdentified:  MaxCurrent:16, MinSoC:20, TargetSoC:90, Mode:minpv, MinCurrent:6

EQA-300
-------
.SoC:         Get "https://api.mercedes-benz.com/vehicledata/v2/vehicles/VIN1234/containers/electricvehicle": oauth2: token expired and refresh token is not set
Range:        Get "https://api.mercedes-benz.com/vehicledata/v2/vehicles/VIN1234/containers/electricvehicle": oauth2: token expired and refresh token is not set
Capacity:     0kWh
Identifiers:  [1234]
OnIdentified: MaxCurrent:16, MinSoC:20, TargetSoC:90, Mode:minpv, MinCurrent:6

What type of operating system are you running?
Linux
Version
evcc version 0.104.2 (06fa7490)

[main  ] INFO 2022/10/04 07:53:25 using config file: /home/pi/evcc.yaml

Wirklich?

Nope, real path is different

Geht nur evcc vehicle nicht oder generell auch der Login übers UI?

I can login via the WebUI, but the vehicle remains undetected (red SoC bar at 20%). Login works (red circle in menu disappears after login.
However evcc vehicle continues returning
.SoC:         Get "https://api.mercedes-benz.com/vehicledata/v2/vehicles/VIN1234/containers/electricvehicle": oauth2: token expired and refresh token is not set
Range:        Get "https://api.mercedes-benz.com/vehicledata/v2/vehicles/VIN1234/containers/electricvehicle": oauth2: token expired and refresh token is not set

once connected to (and badged at) the charger

Zugangsdaten für<EMAIL_ADDRESS>

What do you mean with this?

What do you mean with this?

Wie immer: ohne Zugangsdaten keine Fehleranalyse möglich...

Ah ok, I can give access, what do you exactly need? I can pb you with the needed info

@VolkerK62 indeed seems to be the same problem

Same problem here, but I do not have access.
It started maybe two days ago?
SoC 20% (real 84%)

"Unfortunately we have an outage since 10/01/22 for all BYOCAR API´s. We will let you know as soon as this issue has been resolved."

Die MB API ist wohl derzeit gestört. Dann bleibt nur Abwarten.

That makes things clear, thanks Andig!

Server error 500 and 403 was logged also with older evcc versions since last weekend and is confirmed by Mercedes: https://developer.mercedes-benz.com/status "We’re currently facing issues with our car-related data products (Vehicle Status, Electric Vehicle status, Lock status, Pay-as-you-drive Insurance and Fuel Status) as well as with their respective BYOCAR solutions. We are aware of this and are working on it."


Update README.md with CNES acknowledgment

@keewis @tinaok  it is necessary to acknowledge you received CNES fundings for this

Looks good!


double-beep: Watch scan-score.com

double-beep requests the watch of the watch_keyword scan-score\.com. See the MS search here and the Stack Exchange search here.

scan-score\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


Retina Ready

create icons that run @2x for retina and other high res screens.

invalid
duplicate of #21 #45


Added bounds parameter to Arrow.span_range, Arrow.interval and Arrow.span (#687)

The parameter allows to specify whether returned intervals should be closed, open, left-open or right-open. The parameter values and their semantics are identical to existing Arrow.in_between method.
Closes #687

Hey @kkoziara, thanks for the contribution! @systemcatch and I have been super busy lately, but things should clear up next week and we can review it then :). Thanks!

Cool :) I am glad to help.

@kkoziara don't think that we forgot your two PRs :). We both did a first pass review and things seems solid, but we have just been very busy lately to give it a hard final look. Stay tuned!

Codecov Report

Merging #696 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #696   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           9      9
  Lines        1563   1583   +20
  Branches      255    262    +7
=====================================
+ Hits         1563   1583   +20

Impacted Files
Coverage Δ

arrow/arrow.py
100% <100%> (ø)
:arrow_up:

arrow/formatter.py
100% <0%> (ø)
:arrow_up:

arrow/parser.py
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Disable text selection in iOS (touch devices)

Description
As you have implemented reordering tiles by long clicking on a tile this fails under iOS as long pressing a tile engages iOS’s text/image selection:

By disabling this for iOS (and other touch screen devices) you might be able to rearrange tiles as expected.
The following css may be all that is needed:
-webkit-user-select: none;  /* Chrome all / Safari all */
Priority
Low (Nice-to-have)
Please tick the boxes

[x] You've read the docs
[X] You've checked for duplicate issues

Fixed with https://github.com/ajnart/homarr/commit/2594a7caa5f1b79ba66a1ecbdca7f1467c8f2177

I'm having the same issue

Issues should ideally be left open until confirmed working as expected otherwise additional comments can be missed.


initial impl for oci registry push

Description
Initial steps to push Helm Charts to OCI registry for easier distribution.
Issue reference
Fixes #6834

Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@yaron2 @artursouza can you folks help me out on this one? I need to find someone who has experience with the Dapr release pipelines to see if we can add these steps.. because it is just the last step.. I guess that if it fails we can just re-run this step alone

@salaboy Can you show this working in your fork? This way we know it works. That is the best way to validate these before merging.

@artursouza I did try this but unfortunately something before that step is failing in the pipeline -> https://github.com/salaboy/dapr/actions/runs/6272350965/job/17034136853
I am not sure if someone can validate this if they have a stable way to do it

@artursouza check the log, seems we need create oci repo for it?

@daixiang0 can you please give me a link to the logs? an OCI registry is just the dockerhub account, the same that we are using for the Dapr containers.


Program crashes if the tileset is not contained in a single file. Is this expected behavior or a bug?

For context: I was testing the library with a map I made in Tiled using a custom tileset and when trying to run the program I was getting these errors:

time="2020-12-02T16:29:07-05:00" level=error msg="TileLayer.Draw: could not get batch" error="cannot create sprite from nil tileset"
time="2020-12-02T16:29:07-05:00" level=error msg="Map.DrawAll: could not draw layer" error="cannot create sprite from nil tileset"
panic: cannot create sprite from nil tileset

I was able to fix this problem by combining my multiple tileset files into a single one. I am unsure if this is expected behavior or just an unimplemented feature. Wanted to double-check.

Hey @NullDefault I'm not 100% on the steps you took. I'm fairly sure multiple tilesets should work.
This is most likely unimplemented, but I'll need a step-by-step of what you did. At worst I'd prefer this to return a sensible error, rather than panic, if unimplemented.
Glad to hear you found a workaround.


Retry policy implementation

Hi @patriksimek
Is there any intention of implementation of retry policy when connection time out or smth else?

Hi @AlexSenchenko, there is a connection pool created with every Connection instance. So once a connection is considered dead, it is replaced by a fresh one.


Files corrupted on clone (urls inside a file, not data)

I'm cloning a repository and get the following error (from the logs):
$ git-lfs.exe smudge fonts/GOTHICBI.TTF
Error accessing media: fonts/GOTHICBI.TTF (2dc5949d57d2e172601fb6f5093c1fbf15a46
3e29ed47c4c8ff2434baf1c2b19)
Error for GET https://api.github.com/lfs/alconost/maki_lfs/objects/2dc5949d57d2e
172601fb6f5093c1fbf15a463e29ed47c4c8ff2434baf1c2b19
goroutine 1 [running]:
github.com/github/git-lfs/lfs.Stack(0x0, 0x0, 0x0)
C:/Users/techn/go/src/github.com/github/git-lfs/lfs/errors.go:525 +0x87
...
The file GOTHICBI.TTF that appears on the disk contais an url, not data:
version https://git-lfs.github.com/spec/v1
oid sha256:2dc5949d57d2e172601fb6f5093c1fbf15a463e29ed47c4c8ff2434baf1c2b19
size 139084
So, the file is corrupted and clone\pull does not resume on errors...

So what's happening is that there was an error downloading the file through the LFS API, so the "LFS pointer" object that Git LFS leaves in the Git repository is still in your working directory. I did confirm that the object is still on our servers, so it doesn't look like there's any corrupt data.
To help you further, I'll need full details of the error. You should be able to get this by running git lfs logs last in your repository. It looks like this is a private repository, so feel free to send more details to https://github.com/contact so I can help you privately.
Now, once the download problem is figured out, you can fix this easily locally:

Ensure you're on the latest Git LFS client: git lfs version should say v0.6.0.
Run git lfs pull to try to download the files again.

Hi!
Thanks for the reply. Yes, indeed, the file itself is ok on your server (if retried, it downloads succesfully). git lfs pull helped.
But, there is a serious problem that prevents us from using git lfs now. If during pull we get a file with lfs pointer instead of e.g. WAV file, there is a risk that we release our software packaged with that "corrupt file" instead of .WAV. It won't work.
If there is error downloading files during initial clone, then git pull will not update files.
We have a 10GB repo with 80k files. Some of them are 300MB. I never managed to clone the repo because of the download errors. It seems it does not retry on download failures.
Is there any progress and understanding that there should be retries on donwload errors? Amazon S3  storage does not seem to be very reliable regarding connectivity, unfortunately.
Thank you!

The Git smudge filter only works on checkout. So if there's a download error, git pull won't update bare LFS pointer files unless those files change in the pulled commits. git lfs pull is what you'll want to ensure all the LFS pointers are updated.
v0.6.0 adds retries, but not resumable retries. We're tracking more things to improve in https://github.com/github/git-lfs/issues/414.

Hi guys,
I've recently come across this issue with my local copy, other users seem to have this file in place.
I believe it's occured when I've cancelled the lfs pull by using a signal. It's left the metadata file instead of the actual file but more crucially the .git/lfs/objects relevant file has become corrupt.
As a result, fetch or pull fail with the error from the original author.
The error I've traced back to vendor/_nuts/github.com/tecnoweenie/go-contentaddressable/file.go at the line tempFIle,err := os.OpenFile(tempFilename, os.O_WRONLY|os.CREAET|os.O_EXCL, 0644)
If I print err, the contents are (0xd64558, 0xc8200de600)

@pbrooks That specific issue is tracked at https://github.com/github/git-lfs/issues/266. In the future, can you create a separate issue? Threads with multiple people seeking help for different things can get really confusing.


Kafka Indexing Service using SSL

Do we know if the kafka indexing service will work with brokers over SSL?

It should, it uses kafka-client 0.9 which I believe supports SSL. Please reopen if you have issues getting this to work.


Remove sheet(unwrapping:), etc., helpers for sheet(item:) overloads

Some cleanup we discussed that is a long time coming. This PR:

Deprecates all helpers that take unwrapping: parameters (except Binding.init(unwrapping:)).
Defines item: overloads instead.
Requires sheet, popover and fullScreenCover to take identifiable values or a key path to identity.

Fixes #75.


1.0

This branch is for now a total mess (not that much but it contains current 0.x AND 1.0 (mostly in packages/*, thanks to lerna)

If you want to play with prealpha version (for now a poc but with an almost ready and stable architecture) you can open NEXT.md and read instructions, it's pretty easy thanks to lerna.
We will iterate here by doing PR on this PR until we are happy. We might eventually push this PR into master sooner and cut a "stable" branch to keep 0.x (for bugfixes only) until this 1.x is out (at least as a beta version).

In it's current state it directly
closes #40
closes #340
closes #358
closes #598
closes #609
closes #630
closes #657
closes #674
closes #713
closes #780
closes #791
closes #806
closes #889
This will be closes because not relevant anymore
closes #676
closes #778
Also open the door to #517 #732 #734 #888

What do you think about using npm namespace?
@phenomic/core, @phenomic/plugin-react, @phenomic/plugin-*... Will be easier to give npm rights access to anyone (just add to @phenomic). And seems legit. Thoughts?

We could keep "phenomic" for a version with good defaults and no config.

Yes. Using @phenomic is a very good idea. :D

Seems it's 14$ per month, can't find a free link for oss right now... I won't pay 170$/y for this for an open source project.

@phenomic/core vs phenomic-core - they're not really that different aside from the price. 😄

The pain with no scope is when a contributor is added, you need to add npm rights for all packages... And when you create a new package, you need to think to add rights to all members etc. That's the main diff imo. Also it looks "official" (and that's another great thing).

@MoOx let's just write a script that reads a OWNERS and runs the command through lerna exec, don't you think? has the advantage of being declarative

Yeah, I think that's what babel does.

I would not go for scoped packages, from recent experience it seems that ultimately not every tooling is ready to read package.json fine with scoped packages (especially yarn)

I already subscribed for one ;)

Hey everyone, you can expect a first alpha at the end of the month! I am sure @revolunet will be happy :D

haha no pressure guys :) but YES i'm very happy thats a great news thank you 👍

Bye v0.x, we are going to focus on v1 in master! (tests are broken but no big deal, we will fix this asap)


Feature request: access history

Thanks a lot for making this most useful workflow!
I wonder if it would be possible to add a function to access previous search strings (e.g. by pressing arrow up). I find I often want to repeat previous searches (maybe slightly modified), so such a feature would speed up the process.

Thank you for using fzf-alfred-workflow and for your suggestion. In the latest version, 1.5.0, I have added a feature to save search history. Please check the README for more details.
The latest version is already available on GitHub. However, if you have installed the program from Alfred Gallery, please wait until the latest version is registered.
Thanks!

Thanks a lot for implementing this! This feature is very powerful.


Pinned actions by SHA

Pinned actions by SHA https://github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies
Included permissions for some of the actions. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

How does this work with dependabot?

How does this work with dependabot?

@roidelapluie dependabot is aware of these pinned version and they upgraded pinned versions and here is an example https://github.com/ossf/scorecard/pull/1698

Comment with version doesn’t seem updated on that pr. It still shows 3.1 while the pr is for 4.x

Comment with version doesn’t seem updated on that pr. It still shows 3.1 while the pr is for 4.x

Can you specific as to for which one you are referring to?

if you look at the diff from the pr you linked you’ll see that there’s a comment after sha.
Comment is outdated and probably was never updated by dependabot
https://github.com/ossf/scorecard/pull/1698/files

Indeed.

if you look at the diff from the pr you linked you’ll see that there’s a comment after sha. Comment is outdated and probably was never updated by dependabot
https://github.com/ossf/scorecard/pull/1698/files

Yes there is a bug in dependabot upstream for updating comments on PR's. Is that a blocker?

Not a blocker but we should not put a commend that will derive.
cc @superq WDYT about this change?

 Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload.

https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions

Not a blocker but we should not put a commend that will derive.
cc @SuperQ WDYT about this change?

@roidelapluie A friendly reminder

a  friendly ping


bump version to 1.0.28

I'm going to tag the repo to prompt some downstream builds (Arch, BSD),
and it would be nice to do it with a fresh version number. We should
probably figure out a more automated strategy for this.
r? @cjb

Might fix https://github.com/keybase/client/issues/8110, for example.

@oconnor663 Already pushed a v1.0.27 tag, already have a PR open to bump to 1.0.28.

oh lol

Will new versions now keep being tagged?

Tentative yes. We'll do it by hand for a while until we figure out how we want to automate the whole thing.


pre-commit for linting and formatting

Added pre-commit support for linting and formatting.
Applied new rules to all files in repo.
Tested functionality on meps_example successfully (unchanged)
I suggest to squash commits ;)
@joeloskarsson feel free to change rules to your asthetic preferences

@sadamov this looks great to me! Thanks for doing this, it has been on my todo list for a long time. Also, it's great you've set it to run with cicd too (running only on pushes and pull-requests to main seems sensible to me).

Regarding pyproject.toml
Eventually we will probably want to build a package and then move all dependencies into pyproject.toml. For now maybe we can keep only the tool-configurations in pyproject.toml, but leave dependencies as is (specified in README and requirements.txt). I don't think just the existence of both files causing any inteference.
Versioning
If we keep only the [tool....] entries then there would be no versioning included in pyproject.toml either. Anyhow we should be able to merge versioning or this PR in any order, just keeping in mind that the changes in this PR should be in the changelog.
@sadamov Can I have permission to push to the branch, so I can tweak the tool options? Think that might be easier than commenting and having you change them.

Only using the [tools] in pyproject.toml for now seems like a sensible choice to me.

I added also pylint now. It is a bit slow to run, but I think it offers a lot of useful linting. It is also what I have used when developing most of the code, so its principles align fairly well with  the style of the codebase. That said, there are a number of files where I have not been very strict with following this style, but I want to fix that now. So at the moment there's a list of messages from pylint, but I intend to make the changes to fix these.

I'm happy with this now. @sadamov could you

Check that nothing looks strange in the changes I made to the configs. Maybe test again on your side that there are no functionality changes.
Add a short note to the readme about how to use the pre-commit checks when working with the code?

Then we should be good to merge.

I tested the code again, and everything works as expected. Thanks for integrating pylint as well! I think with that we are ready to merge @joeloskarsson


[3.2] Support SDL2 half axes and inverted axes mappings.

This is a partial backport of #38151. It includes the parsing and implementation of SDL game controller half axis and inverted axis entries. However, to make this a non-breaking change the following have not been implemented:

The triggers remain as buttons and not axes. Therefore any axes that map to the triggers will be treated as buttons and not axes.
The Input Mappings have not been fixed, because there remains no way within Godot to differentiate between buttons and axes.

Note: I don't have a game controller to test it with; so it will need to be tested by those that do. To parse the previously excluded entries, requires deleting main/default_controller_mappings.gen.cpp so it can be recreated.
Below is an updated 3.2 version of @akien-mga's joypad test project, which includes includes highlighting the axes (except the triggers) activated on the joypad:
Joypads.zip

Rebased following 7bf9787921.

Tested locally with my generic PS3 controller, the https://github.com/godotengine/godot-demo-projects/tree/master/misc/joypads demo works well without regression.
Let's merge, and I'll ask for wide testing of controllers when I publish 3.2.3 beta 1 in coming days.

Thanks!


Incorrect dependencies

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
The dependencies for this package do not match those in the pyproject.toml file in the Github repo.
Installed packages
N/A

Environment info
N/A

@DManowitz looking into this

@DManowitz I checked upstream at PyPI and the pyproject.toml file isn't present. https://pypi.org/project/skweak/#files The github files aren't tagged for released yet so maybe we're still good for now.

@thewchan, it does appear that the Github repo isn't tagged for each release.  However, if you perform a pip install of skweak 0.3.3, say, (or look at what would be installed using --dry-run), there are definitely differences between what pip installs versus the conda-forge package.
In particular, what I noticed initially is that the conda forge package for skweak 0.3.3 has hmmlearn >=0.2.5,<=0.2.7 as a dependency.  However, the pyproject.toml file has hmmlearn = "~0.3.0" as its dependency, and if you install skweak via pip, it looks for hmmlearn>=0.3.0.

In that case it might be that the wheel file on PyPI is build differently then the sdist on PyPI; the sdist for skweak 0.3.3 does not include pyproject.toml. I'm not sure how pip would know to build with pyproject.toml unless it's pulling source from GH.
In fact, now that I've decompressed the wheel file on PyPI I can see that it is using hmmlearn >=0.3.0, unlike the setup.py in the sdist on pypi. So I think when you are using pip it is installing from the wheel while from PyPI, yet conda is pulling the sdist on PyPI, which has different requirement specification.

@DManowitz I encourage you to download the sdist and wheel file from PyPI and check it out yourself to see if it matches with what I observed.


Implement set_line_width

Just implementing stubs for set_line_width to help with portability crashes. No-ops on DX12 and Metal because it doesn't seem we have any way to expose it there (at least at first glance), so we simply don't expose wideLines as a feature and force 1.0 as the line width.
(I haven't actually tried to build the Vulkan and DX12 backends yet, so CI may fail here – I'll fix later if it does)
PR checklist:

[X] make succeeds (on *nix)
[ ] make reftests succeeds
[ ] tested examples with the following backends:

It turns out ash doesn't expose cmd_set_line_width yet – opened MaikKlein/ash#63

Thanks for the review! Addressed comments and squashed

Rebased for dx11

bors r+

@kvark sorry just noticed an error and need to rebase again, could we cancel this until I fix it?

sure
bors r-

@kvark should be fine now

Bors r+

On May 23, 2018, at 23:40, Josh Groves<EMAIL_ADDRESS>wrote:
@kvark should be fine now
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Top hits aggregation

Hello! Fulltext search returns too many results. How to get tophits results?

You can send a limit and elastic search return top hits by default. hope this helps.


The demo can't run

first,thanks for it is a great project,and sorry to my english so bad(from china).
when I insert my midikeyboard and restart chrome,console log is:"An attempt was made to break through the security policy of the user agent"。I have set up allow all website control midi device。
then how can I do to resolve it?

Hi! Do not worry about English, I am not a native Engish speaker, too :-)
The message from browser's console looks like coming from the demo trying to access cross-domain site. Which demo are you running to get this demo? I would like to know the URL to investigate why this error is coming from.

呵呵O(∩_∩)O~,unlucky,all of demo is the same problem,and when I copy the demo to my server online,also the same problem.but my keyboard can run in http://soundtrap.com/


Specify gke zone, run scripts in strict mode

This is a followup to https://github.com/GoogleCloudPlatform/jetty-runtime/pull/202

@cassand I tried running the GKE int tests on container builder and it timed out, because the wait.sh script never finished. Do you know why that might be happening now that I specified the zone?

Yes, if the application fail to deploy but the load balancer still deploy successfully the script may wait indefinitely.


ci: Fix release pipeline

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

Comparison is base (7f824dc) 96.64% compared to head (015e328) 96.64%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1411   +/-   ##
=======================================
  Coverage   96.64%   96.64%
=======================================
  Files          23       23
  Lines        1343     1343
=======================================
  Hits         1298     1298
  Misses         45       45

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


Added "proxy_buffering" option for location.

Unfortunately, there is support for "proxy_buffering" option (closes #840) for a vhost location.
So I've implemented this, pretty straightforward.

Please ignore this pull request since I've made additional changes you shouldn't pull.
Pull this one instead #853


implement volunteer heatmap

What changes are included in this PR?
Heatmap

Refactored a lot of smelly code
Formatted heatmap to actually use backend info (the original issue was that keys weren't properly capitalized)

Backend Routes

Both /volunteers and /volunteers/available were broken because of new payload params not being optional, fixed now

Volunteer Availability

Grabbed volunteer list from backend

Instructions to test changes:
Heatmap

Cross reference the heatmap numbers with backend tables
Double check the time formats are correct and properly ordered

Backend Routes

Test /volunteers and /volunteers/available so that they still work with and without the new payload params

Volunteer Availability

Cross reference the volunteer list with backend tables

Images

Todo

Heatmap currently is one indexed, so timeslots that have no volunteer availability are set to 1 instead of 0, and everything else is incremented by 1 as well (motivation is that the chart doesn't show the timeslot square without a nonzero value)
Nothing on that page is interactable other than the chart and the "View Database" button, not sure if that's by design

closes #159

Nice
Can we make it so that the list of volunteers on the right updates whenever a section on the chart is clicked? I'd imagine the logic is very similar to the heatmap logic for mapping the times etc...let me know if you need help with this


match the primary field's sort order in secondary sort

Ensuring that the secondary sort key follows the same sort order seems to fix issues we're still seeing with log messages displaying out of order.

Thanks for fix. I will merge and the fix will be part of next release.


Defaulting css-loader url to false can be miss leading

Related to #26
I have been pulling my hair out trying to figure out why fonts where not loading.
We have defaulted our css-loader url option to false.
https://github.com/DeloitteDigitalAPAC/webpack-config/blob/master/packages/webpack-config/src/index.js#L101
Where as the library normally has it as true.
https://github.com/webpack-contrib/css-loader#url
Because in our projects we are using file-loader it means none of the assets referenced in scss are ever included in the build.
I think we need to either add clear documentation to override when using file loader or turn it back to  a default of true.

Agreed it's a good point. What was the rational for having it set to false?

Hey, I agree Jenna, also overrode this on my most recent project and add file loader. I would suggest we set to true and add file loader at the same time. Otherwise we will create massive CSS files with fonts embedded inside them.
DK is Michael D on the bench this week? If so he could bring across our file loader settings from Digital Heartbeat.


Update docker_demo based on new bundling

 - spark shell commands need to also include mr bundle
 - small usability fixes to commands

@bvaradar the decision is around whether spark-bundle should also include input format classes. Spark can be used for writing as well as querying - unlike Hive or Presto. I can try to make it work in a single bundle.
Also, I think I need update the new jar requirement in few other pages as well. let me also do that.