[PUI] Login silently fails with MFA enabled

Please verify that this bug has NOT been raised before.

[x] I checked and didn't find a similar issue

Describe the bug*
In inventree/inventree-brother-plugin#49 @matmair said that PUI is supposed to redirect to PUI during login when a user has MFA enabled. Unfortunately, this does not work for me.
The POST request to /api/auth/login made by PUI results in 403 with
{"detail":"MFA required for this user"}

Also, the Console in WebDevTools spits this:
Uncaught (in promise) TypeError: r.hasOwn is not a function
    de                  https://inventree.domain.tld/static/web/assets/index-B0j1uz07.js:3
    e                   https://inventree.domain.tld/static/web/assets/index-B0j1uz07.js:3
    promise callback*$e https://inventree.domain.tld/static/web/assets/index-B0j1uz07.js:3
    c                   https://inventree.domain.tld/static/web/assets/Login-34CefvDW.js:1
    eR                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    nR                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    rR                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    Lg                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    lS                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    If                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    c0                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:62
    Tb                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    If                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    jm                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
    wR                  https://inventree.domain.tld/static/web/assets/vendor-50JW9u3H.js:59
[index-B0j1uz07.js:3:5055](https://inventree.domain.tld/static/web/assets/index-B0j1uz07.js)

Assuming this is as helpful to you as it is to me, I disabled obfuscation in vite.config.ts which turns it to
Uncaught (in promise) TypeError: params.hasOwn is not a function
    post                          https://inventree.domain.tld/static/web/assets/index-D1HeuvK-.js:791
    doBasicLogin                  https://inventree.domain.tld/static/web/assets/index-D1HeuvK-.js:832
    promise callback*doBasicLogin https://inventree.domain.tld/static/web/assets/index-D1HeuvK-.js:829
    handleLogin                   https://inventree.domain.tld/static/web/assets/Login-D6W4F6wJ.js:99
    Nb                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:7195
    Tb                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:7207
    Ub                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:7210
    nf                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8147
    se                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8170
    hd                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8442
    Qk                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:11746
    Jb                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:7148
    hd                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8243
    fd                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:7641
    ed                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:7624
    addEventListener eval:4
    pf                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8213
    qf                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8186
    sf                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8193
    sf                            https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:8192
    createRoot                    https://inventree.domain.tld/static/web/assets/vendor-givYlcs0.js:12867
    <anonymous>                   https://inventree.domain.tld/static/web/assets/index-D1HeuvK-.js:1344

I hope this helps.
Steps to Reproduce

Open a private browser window
Go to /platform
Try and log in with an account that has MFA enabled
Observe an eternal spinning circle and nothing else

Expected behaviour
After clicking "Log in", get redirected to CUI to complete MFA authentication.
Deployment Method

[ ] Docker
[ ] Package
[x] Bare metal
[ ] Other - added info in Steps to Reproduce

Version Information
Version Information:
InvenTree-Version: 0.17.0 dev
Django Version: 4.2.16
Commit Hash: 327884c
Commit Date: 2024-11-29
Commit Branch: master
Database: postgresql
Debug-Mode: False
Deployed using Docker: False
Platform: Linux-6.1.0-13-cloud-amd64-x86_64-with-glibc2.36
Installer: GIT
Active plugins: [{'name': 'InvenTreeBarcode', 'slug': 'inventreebarcode', 'version': '2.1.0'}, {'name': 'InvenTreeCoreNotificationsPlugin', 'slug': 'inventreecorenotificationsplugin', 'version': '1.0.0'}, {'name': 'InvenTreeCurrencyExchange', 'slug': 'inventreecurrencyexchange', 'version': '1.0.0'}, {'name': 'InvenTreeLabel', 'slug': 'inventreelabel', 'version': '1.1.0'}, {'name': 'InvenTreeLabelMachine', 'slug': 'inventreelabelmachine', 'version': '1.0.0'}, {'name': 'InvenTreeLabelSheet', 'slug': 'inventreelabelsheet', 'version': '1.0.0'}, {'name': 'DigiKeyPlugin', 'slug': 'digikeyplugin', 'version': '1.0.0'}, {'name': 'LCSCPlugin', 'slug': 'lcscplugin', 'version': '1.0.0'}, {'name': 'MouserPlugin', 'slug': 'mouserplugin', 'version': '1.0.0'}, {'name': 'TMEPlugin', 'slug': 'tmeplugin', 'version': '1.0.0'}, {'name': 'Brother Labels', 'slug': 'brother', 'version': '1.0.0'}]
Please verify if you can reproduce this bug on the demo site.

[ ] I can reproduce this bug on the demo site.

Relevant log output

@matmair this is the only instance of hasOwn in the code:

I just reverted that line and it solves the issue.
It now behaves as follows:

For short moment, a popup appears in the lower right corner stating "Login failed"
Redirect to CUI with MFA prompt
Redirect to PUI

@sur5r thanks for the feedback.
From here: https://stackoverflow.com/questions/69561596/object-hasown-vs-object-prototype-hasownproperty

Object.hasOwn() is intended as a replacement for Object.hasOwnProperty() and is a new method available to use (yet still not fully supported by all browsers like safari yet but soon will be)

Are you using Safari?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn#browser_compatibility

No, I'm on Firefox 133.

Thanks! Tried it here and it works now.

Awesome, thanks for letting me know


Coverage transparency

Description
We need transparency on what is covered and what is not.
Details
It could be automatic or manually.
We need to keep track of what screens/flows/components are tested.
A list of test cases mapped to the app functionality.
Implementation
Research solutions.

TestRail?
An excel sheet?
Readme?
GitHub badge?
PR coverage comment?

I'll describe here what test we have and what they validate, then we can decide where to put it to be readable for everybody (like the readme of the repo or a centralize place like that)

Every test is run in the same safe, with 2 owners and a 2 out of 2 policy.
Every test connects to MM, importing the 2 owners of the safe. Other wallets cannot be used
There are no test currently that will not connect the wallet to the safe, even test that can be done in read only mode like "address book" are connecting the wallet to the safe
Test that doesn't require the safe to be created or loaded will access the safe immediately by URL (so apps/#/safes/SAFE_ADDRESS/balances)
There is a .env file where you can select which env you want to test in, where you set your test safe, the mnemonic to import your wallet, the PK of the 2 owners of the safe, a "found receiver" which is an account to send funds, a "non-owner" address and the PR number to test in a specific PR.
This test can be run on dev, staging, prod rinkeby, PR(PR_NUMBER), localhost

Current Tests:

Load safe
-- Enters into the load form with the Load button
-- Types name and address for the safe
-- Enters the name of the 1st owner in the list
-- Checks in the 3rd step that the safe name and owner name are the ones set before
-- Loads the safe
-- Opens the QR code for the safe on the sidebar and checks the safe name again

Create safe
-- Enters into the create safe form with the Create button
-- Type a name for the safe
-- Adds a new owner row
-- Check that owner names and addresses are required when clicking submit
-- Type names and addresses only for "owner2"
-- Checks that the policies selector matches the amount of owners
-- Checks in review step the name of the safe, name and address of owner2
-- Checks "block explorer" and "back" button during the safe creation
-- Checks safe name on the sidebar once the safe is loaded

Send funds
-- Open send funds form
-- Types a receiver address
-- Selects ETH token to send (is hardcoded to send only ETH, so it will fail for other networks currently)
-- Validates error for invalid amounts: 0, "abc", 99999
-- Checks "Send max" button
-- Checks receiver address and amount input in the review step
-- Signs with current account, executes with the 2nd owner account
-- Goes to history tx tab, checks tx amount sent and receiver address
-- Goes to Assets, checks the amount of tokens was reduced by the sent amount

Reject tx
-- Checks current ETH funds in safe
-- Open send funds form
-- Fills address, eth amount and signs transaction
-- Open tx details and click reject button
-- Signs with current owner
-- Checks ON-CHAIN REJECTION text to assure rejection is waiting for execution
-- Executes Rejection
-- Opens history tab, checks last tx is a Rejection and checks the successful status

Modify policies
-- Opens modify policies
-- Opens selector, selects "1" value
-- Signs transaction with current owner, confirm and executes with the 2nd owner
-- Opens modify policies again, changes it to "2"
-- Signs and execute
-- Checks in settings the successful change to "2 out of X"

Add/remove Owners
-- Enter add owner form
-- Validate Owner name and address required, invalid address, duplicated address
-- Input valid owner name and address,
-- Checks them in review step and submits, confirms and executes
-- Finds new owner in the owners list, clicks on remove owner
-- Sets threshold value to "2"
-- Verifies owner to be removed name an address
-- Signs and executes. Verifies tx success status

Replace owner
-- Add owner form, inputs name and address, validates name and address in review step. Signs and executes
-- Find added owner. click "Replace" button
-- Add valid name and address for replacement owner
-- Validate owner being replaced name and address and owner for replacement name and address in review step
-- Signs and execute
-- Validate owner for replacement present in the owner list
-- Removes owner for replacement. Sets threshold to "2". Check owner name and address in review step
-- Signs and executes
-- Checks status success of executed tx

Address Book
-- Loads safe form, giving name to the safe and the first 2 owners
-- Enter into address book. Validates 3 entries present by name (the load safe process created them)
-- Creates an entry with valid name and address. Validates it in the entries list
-- Validate error messages in entry creation: "RandomString", duplicated entry.
-- Validates ENS names translation (is a hardcoded ENS name for this test)
-- Edits entry. First validates name to be required, then enters a valid new name and saves
-- Finds edited name and deletes the entry
-- Exports a file (no validations)
-- Imports a file. checks new expected name to be in the entries list

@mikheevm @katspaugh @liliya-soroka
This is what the e2e test do for now. Now we got to put it in a place were can be read by everybody and we can keep updated.
We suggested earlier to put it in the readme, even tho it seems kinda long. Maybe que can do a currentStatus.txt in the repo or something like that

Great i'll add those comments and then create a script to extract those comments


Using Collection field of type:date, default: now throws date.toUpperCase error

The ~/.meteor-kitchen/templates/bootstrap/client_accounts.js, function Helpers.formatDate needs else clause, line 86 should be else.
		if(date.toUpperCase() == "NOW") {
			date = new Date();
		} else {                          //<<<<<<<line 86
		    if(date.toUpperCase() == "TODAY") {
			d = new Date();
			date = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0);
		   }
               }

Question:  Are the ~/.meteor-kitchen files available somewhere for pull requests?

Hi @bartonhammond

Thank you for bug report, I'l fix it in next version (v0.9.37).

Source code: sorry, "meteor kitchen" source code is not yet open (btw it's written in C++).

P.S. maybe interesting to you: v0.9.36 is just uploaded few minutes ago - added support for OAuth logins and Collection2 (experimental).

Yeah - I noticed things changed - I am working with Designer and things got
a little wonky (messed up).
As to code being available, I meant the code that is installed with
meteor-kitchen under ~/.meteor-kitchen/templates such as the file I noted
above.
On Mon, May 18, 2015 at 6:00 PM, Petar Korponaić<EMAIL_ADDRESS>wrote:

Hi @bartonhammond https://github.com/bartonhammond

Thank you for bug report, I'l fix it in next version (v0.9.37).
Source code: sorry, "meteor kitchen" source code is not yet open (btw
it's written in C++).
P.S. maybe interesting to you: v0.9.36 is just uploaded few minutes ago -
added support for OAuth logins and Collection2 (experimental).
—
Reply to this email directly or view it on GitHub
https://github.com/perak/kitchen-site/issues/87#issuecomment-103242730.

What's messed up in GUI?
BTW, I just noticed that for all existing apps with user account system you need to check "login_with_password" inside application object (it's checked by default for new apps, but is left unchecked for existing ones... bugs and more bugs :) ).
There is no repository for kitchen template files. If you find more bugs just report here please until I open the complete source.
Thanks!

Oh - nothing is messed up with the GUI now - there was just some
strangeness while I was navigating and  trying to download the json source

I think the site was reloading while I was working.  No problem now
though.

Got the "login_with_password" - thanks for the heads up.
btw, is there a way to change the Register to have a "validate password"?
On Mon, May 18, 2015 at 6:22 PM, Petar Korponaić<EMAIL_ADDRESS>wrote:

What's messed up in GUI?
BTW, I just noticed that for all existing apps with user account system
you need to check "login_with_password" inside application object (it's
checked by default for new apps, but is left unchecked for existing ones...
bugs and more bugs :) ).
There is no repository for kitchen template files. If you find more bugs
just report here please until I open the complete source.
Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/perak/kitchen-site/issues/87#issuecomment-103256213.

Do you think on validate e-mail? Not yet, I'l add that soon. Currently working on a project for customer using meteor-kitchen, so I am adding features on-the fly as I need them. In next few days there will be a lot of new stuff added into "kitchen" ("validate e-mail" is one of required features).

"validate e-mail" is good when registering.  I'm referring to "validate
password" when registering.
On Mon, May 18, 2015 at 6:32 PM, Petar Korponaić<EMAIL_ADDRESS>wrote:

Do you think on validate e-mail? Not yet, I'l add that soon. Currently
working on a project for customer using meteor-kitchen, so I am adding
features on-the fly as I need them. In next few days there will be a lot of
new stuff added into "kitchen" ("validate e-mail" is one of required
features).
—
Reply to this email directly or view it on GitHub
https://github.com/perak/kitchen-site/issues/87#issuecomment-103264379.

Ah, I understand. Not yet possible. Please add separate issue for that. Thanks.

Done: https://github.com/perak/kitchen-site/issues/88
On Mon, May 18, 2015 at 6:43 PM, Petar Korponaić<EMAIL_ADDRESS>wrote:

Ah, I understand. Not yet possible. Please add separate issue for that.
Thanks.
—
Reply to this email directly or view it on GitHub
https://github.com/perak/kitchen-site/issues/87#issuecomment-103267269.

:+1:


[allocator/region] Issue 23090 - Don't use NullAllocator as a sentinel type

This PR addresses issue 23090 for std.experimental.allocator.building_blocks.region by splitting the functionality previously accessed using NullAllocator out into two new allocators, BorrowedRegion and SharedBorrowedRegion. The original Region and SharedRegion are now assumed to always own the memory they allocate from, and will always (attempt to) deallocate it in their destructor.
To avoid code duplication, Region and SharedRegion have been refactored to use BorrowedRegion and SharedBorrowedRegion internally.
cc @atilaneves

Buildkite is green so hopefully this won't be too disruptive.

Is there any way this PR could be split in smaller PRs? Maybe, incrementally move parts to SharedRegion or SharedBorrowedRegion ? Otherwise, I find it difficult to review.

@RazvanN7 The most granular possible breakdown would be something like:

Add BorrowedRegion.
Refactor Region to use BorrowedRegion internally.
Remove use of NullAllocator as a sentinel from Region.
Add SharedBorrowedRegion.
Refactor SharedRegion to use SharedBorrowedRegion internally.
Remove use of NullAllocator as a sentinel from SharedBorrowedRegion.

I think 6 PRs is probably too many, so the question becomes, how should we group these steps together? Some possibilities:

Group changes to Region and changes to SharedRegion separately: {1, 2, 3} and {4, 5, 6}.
Group refactoring changes and functional changes separately: {1, 2, 4, 5} and {3, 6}.
Both of the above: {1, 2}, {3}, {4, 5}, and {6}.

Conceptually, I think the {1, 2, 3} and {4, 5, 6} grouping probably makes the most sense, since the refactoring changes are difficult to justify in isolation. From a reviewing perspective, however, it probably makes more sense to separate the refactoring from the functional changes.
Perhaps a good compromise would be to separate the individual steps within a PR into distinct commits, which reviewers can evaluate one at a time? I've tried to do that already in this PR, although I didn't quite succeed in separating steps 4 and 5 cleanly (but I can clean up the git history if desired).

@pbackus Doing a review commit by commit is fine. I didn't look at the commits, I simply went on with the "Files Changed" tab and was a bit overwhelmed by the changes. However, I see that the separation in the commits is very well done, so I will take a look at it commit by commit. Thanks!


Fix arguments for T0 workflows

Fix an issue with "missing" arguments for T0 Repack workflows that triggered a nested wmexceptions. Related to tmp wmcache file
Fixes #10800
Status
Tested with T0 replay
Description
Digging within the nested wmexceptions after the warning
WARNING:Service:The cachefile /tmp/cmst0/.wmcore_cache_xlpsm5ls/cmssdt.cern.ch/-3895757188456107843_GET__SDT_cgi-bin_ReleasesXML_ does not exi
st and the service at https://cmssdt.cern.ch/SDT/cgi-bin/ReleasesXML/ raised a FileNotFoundError(2, 'No such file or directory') when accessed

The issue that triggers the chain is during the Repack workflow arguments validation. Checking StdSpecs/Repack.py all the arguments that are used on T0 agent are described in that piece of the code. But I found within StdSpecs that the function factoryWorkloadConstruction  is defined in StdBase.py and Resubmission.py and are kind of similar.
The changes that I made was to retrieve some functions from Resubmission.py and  adapt those for the T0 agent.
Still,  is not clear to me why this validation of the repack arguments trigger the issue with the cache file,  and why this happened during the transition between  python2-wmcore-agent and python3-wmcore-agent due that this PR is not needed if a python2 T0 agent is created/deployed.
Also if production doesn't run Repack workflows that may be the cause that this issue did not affect the deployment of python3 version of WMAgent.
At least I believe this makes it clear that the problem is not due to the configuration of the T0 vms.
Is it backward compatible (if not, which system it affects?)
Maybe.
Related PRs
Other proposal to fix #10800 is using #10801
External dependencies / deployment changes
No

You completely removed the validation, that's why it's now going to work :)
At this point, I think the best we can do is to give you a debugging patch, such that you can apply it to the agent and try to collect more information to see what's happening here.

Hi @amaltaro @todor-ivanov
So this issue about creating the wmcore-cache file is "properly" handled by two solutions. One is #10801  where if the cache file is expired or None it will "force" the creation.
The other solution is by this PR where if the usual creation of the cache file fails it will try it again only if the error was an IOError. With this new PR Im trying not to be "penalized" in performance by others users that use Services.py  due as far as I know this issue didn't pup-up during the transition between py2-p3 agents.
By proposing this new solution all the arguments of the T0 workflows are been validated by this line.
I will leave 3 samples of T0 workflows arguments that must be validated. Check for example that the arg RequestString doesn't appear in the files Repack.py,Express.py,Promtp.py. So Im still not sure if by #10801 all the arguments of T0 workflows are been validated.
Repack:
{'Memory': 2000, 'Requestor': 'Tier0', 'RequestName': 'Repack_Run345595_StreamPhysics_Tier0_REPLAY_2021_v1_21
1118_0554', 'RequestString': 'Repack_Run345595_StreamPhysics_Tier0_REPLAY_2021_v1_211118_0554', 'RequestorDN': 'Tier0', 'RequestDate': [], 'RequestTransition': [], 'RequestStatus': '
new', 'RequestPriority': 256000, 'PriorityTransition': [], 'CMSSWVersion': 'CMSSW_12_0_3_patch1', 'ScramArch': 'slc7_amd64_gcc900', 'ProcessingVersion': 1, 'MaxSizeSingleLumi': 25769
803776, 'MaxSizeMultiLumi':<PHONE_NUMBER>, 'MinInputSize':<PHONE_NUMBER>.4, 'MaxInputSize':<PHONE_NUMBER>, 'MaxEdmSize':<PHONE_NUMBER>6, 'MaxOverSize':<PHONE_NUMBER>, 'MaxInputEvents': 3000000, 'MaxInputFiles': 1000, 'MaxLatency': 86400, 'MinMergeSize':<PHONE_NUMBER>.4, 'MaxMergeEvents': 3000000, 'UnmergedLFNBase': '/store/unmerged/data', 'MergedLFNBase': '/store/backfill/1/data', 'RunNumber': 345595, 'AcquisitionEra': 'Tier0_REPLAY_2021', 'Outputs': [{'dataTier': 'RAW', 'eventContent': 'ALL', 'selectEvents': ['HLT_L1SingleMu3_v1:HLT', 'HLT_L1SingleMu5_v1:HLT', 'HLT_L1SingleMu7_v1:HLT', 'HLT_L1SingleMuCosmics_v1:HLT', 'HLT_L1SingleMuOpen_DT_v2:HLT', 'HLT_L1SingleMuOpen_v2:HLT'], 'primaryDataset': 'Cosmics'}, {'dataTier': 'RAW', 'eventContent': 'ALL', 'selectEvents': ['HLT_Physics_v7:HLT'], 'primaryDataset': 'HLTPhysics'}, {'dataTier': 'RAW', 'eventContent': 'ALL', 'selectEvents': ['HLT_HcalNZS_v12:HLT', 'HLT_HcalPhiSym_v14:HLT'], 'primaryDataset': 'HcalNZS'}, {'dataTier': 'RAW', 'eventContent': 'ALL', 'selectEvents': ['HLT_L1EXT_HCAL_LaserMon1_v1:HLT', 'HLT_L1EXT_HCAL_LaserMon4_v1:HLT', 'HLT_L1SingleEG10_v1:HLT', 'HLT_L1SingleEG15_v1:HLT', 'HLT_L1SingleJet10erHE_v1:HLT', 'HLT_L1SingleJet12erHE_v1:HLT', 'HLT_L1SingleJet16_v1:HLT', 'HLT_L1SingleJet200_v1:HLT', 'HLT_L1SingleJet20_v1:HLT', 'HLT_L1SingleJet35_v1:HLT', 'HLT_L1SingleJet8erHE_v1:HLT', 'HLT_Physics_v7:HLT', 'HLT_Random_v1:HLT', 'HLT_ZeroBias_v2:HLT'], 'primaryDataset': 'MinimumBias'}], 'ValidStatus': 'VALID'}

Express:
{'TimePerEvent': 4, 'SizePerEvent': 1700, 'Memory': 11900, 'Multicore': 8, 'Requestor': 'Tier0', 'RequestName': 'Express_Run345595_StreamCalibration_Tier0_REPLAY_2021_v1_211118_0554', 'RequestString': 'Express_Run345595_StreamCalibration_Tier0_REPLAY_2021_v1_211118_0554', 'RequestorDN': 'Tier0', 'RequestDate': [], 'RequestTransition': [], 'RequestStatus': 'new', 'RequestPriority': 261000, 'PriorityTransition': [], 'ProcessingString': 'Express', 'ProcessingVersion': 1, 'Scenario': 'AlCaTestEnable', 'CMSSWVersion': 'CMSSW_12_0_3_patch1', 'ScramArch': 'slc7_amd64_gcc900', 'RecoCMSSWVersion': 'CMSSW_12_0_3_patch1', 'RecoScramArch': 'slc7_amd64_gcc900', 'GlobalTag': '120X_dataRun3_Express_v2', 'GlobalTagTransaction': 'Express_345595', 'GlobalTagConnect': 'frontier://PromptProd/CMS_CONDITIONS', 'MaxInputRate': 23000, 'MaxInputEvents': 100000000, 'MaxInputSize':<PHONE_NUMBER>, 'MaxInputFiles': 10000, 'MaxLatency': 3600, 'AlcaSkims': ['EcalTestPulsesRaw', 'PromptCalibProdEcalPedestals'], 'DQMSequences': [], 'AlcaHarvestTimeout': 43200, 'AlcaHarvestCondLFNBase': '/store/unmerged/tier0_harvest/2021', 'AlcaHarvestLumiURL': 'root://eoscms.cern.ch//eos/cms/store/unmerged/tier0_harvest/2021', 'DQMUploadProxy': None, 'DQMUploadUrl': 'https://cmsweb.cern.ch/dqm/dev;https://cmsweb-testbed.cern.ch/dqm/offline-test', 'StreamName': 'Calibration', 'SpecialDataset': 'StreamCalibration', 'UnmergedLFNBase': '/store/unmerged/data', 'MergedLFNBase': '/store/backfill/1/data', 'PeriodicHarvestInterval': 86400, 'RunNumber': 345595, 'AcquisitionEra': 'Tier0_REPLAY_2021', 'Outputs': [{'dataTier': 'DQMIO', 'eventContent': 'DQMIO', 'primaryDataset': 'StreamCalibration'}, {'dataTier': 'ALCARECO', 'eventContent': 'ALCARECO', 'primaryDataset': 'StreamCalibration'}, {'dataTier': 'RAW', 'eventContent': 'RAW', 'selectEvents': ['HLT_EcalCalibration_v2:HLT', 'HLT_HcalCalibration_v1:HLT'], 'primaryDataset': 'TestEnablesEcalHcal'}], 'ValidStatus': 'VALID'}

PromtReco:
{'TimePerEvent': 1, 'SizePerEvent': 1500, 'Memory': 11900, 'Multicore': 8, 'Requestor': 'Tier0', 'RequestName': 'PromptReco_Run345880_MinimumBias_Tier0_REPLAY_2021_v1_211118_0559', 'RequestString': 'PromptReco_Run345880_MinimumBias_Tier0_REPLAY_2021_v1_211118_0559', 'RequestorDN': 'Tier0', 'RequestDate': [], 'RequestTransition': [], 'RequestStatus': 'new', 'RequestPriority': 251000, 'PriorityTransition': [], 'AcquisitionEra': 'Tier0_REPLAY_2021', 'CMSSWVersion': 'CMSSW_12_0_3_patch1', 'ScramArch': 'slc7_amd64_gcc900', 'RunNumber': 345880, 'SplittingAlgo': 'EventAwareLumiBased', 'EventsPerJob': 6000, 'RobustMerge': False, 'ProcessingString': 'PromptReco', 'ProcessingVersion': 1, 'Scenario': 'ppEra_Run3', 'GlobalTag': '120X_dataRun3_Prompt_v2', 'GlobalTagConnect': 'frontier://PromptProd/CMS_CONDITIONS', 'InputDataset': '/MinimumBias/Tier0_REPLAY_2021-1/RAW', 'WriteTiers': ['AOD', 'MINIAOD', 'DQMIO', 'ALCARECO'], 'AlcaSkims': ['SiStripCalZeroBias', 'SiStripCalMinBias', 'TkAlMinBias', 'HcalCalHO', 'HcalCalIterativePhiSym', 'HcalCalHBHEMuonFilter', 'HcalCalIsoTrkFilter'], 'PhysicsSkims': [], 'DQMSequences': ['@common', '@commonSiStripZeroBias', '@ecal', '@hcal', '@muon', '@jetmet'], 'UnmergedLFNBase': '/store/unmerged/data', 'MergedLFNBase': '/store/backfill/1/data', 'ValidStatus': 'VALID', 'EnableHarvesting': 'True', 'DQMUploadProxy': None, 'DQMUploadUrl': 'https://cmsweb.cern.ch/dqm/dev;https://cmsweb-testbed.cern.ch/dqm/offline-test'}

Please let me know if any of you have comments about this issue due that T0 is still running with #10801 and if we don't use 10801 basically we are not able to run any job.
Thanks

@jhonatanamado thanks for providing these examples. I would suggest to pick the Repack configuration you provided above and try to reproduce it in our unit test setup, basically calling the workload construction with those key/value pairs. Something similar to:
https://github.com/dmwm/WMCore/blob/master/test/python/WMCore_t/WMSpec_t/StdSpecs_t/Repack_t.py#L249-L253
I suspect we won't be able to reproduce it though, since we have basic tests done with the test arguments already in place.
If nothing works, we should then create a temporary patch, deploy a replay instance and patch it before injecting anything and try to fetch the exact error. That would allow us to pin point the root cause and make the proper fix.
This PR provides some valuable spec validation though. Can I ask you to create a new GH issue requesting the implementation of such T0 spec parameter validation? Then move most of these changes to a new feature branch/PR  and we can follow this separate development from there. Thanks

@jhonatanamado I think you started working on it in order to fix the Tier0Feeder cache, right?
Would you like to continue working on the spec validation for T0 workflows (partially in this PR), or shall we close it?

Hi @amaltaro , this was a second approach to fix the cache issue where we will force the creation of that directory it if it hits only the not os.path.exists(cachefile) exception. You can close it.

Thanks Jhonatan. I am closing it then.


GPS signal error - always displayed

Describe the bug
My car has a GPS signal issue with the comma3, having returned the device already and being given another one I think the most likely cause is the heating elements in my windscreen
When this GPS error comes up it says 'hardware malfunction if sky visible' but this blocks the entire screen mostly and blocks useful information
please can we change this warning to a smaller one so that it doesn't block the screen / only show it for 30 seconds or something?
Provide a route where the issue occurs
see above
openpilot version
0.9.2
Additional info
No response

Can you post a route? And a picture of your setup?

Not actionable without a route


Add missing write barrier in IOU_initialize

Since it's the initialize method, it's extremely unlikely that self would have reached the old generation, hence almost impossible to run into this bug short of using GC.stress.
But still, that write barrier is technically needed.

Sorry, could you rebase the PR off main? I seem to have botched it :-.

Done.


Silent mode

All other code parts looks good to me.
But
1> You should try to beautify your commit message referring to previous commits
2> 61365e9 and 3787488 should be squashed into one commit.


HTTP sending empty reply after update to 20.7.7

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
[*] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[*] I have searched the existing issues and I'm convinced that mine is new.
Describe the bug
opnSense with 20.7.6 correctly forwarded http requests to https, if configured so. After updating to 20.7.7, http is not possible anymore, https works correctly. I see this on 2 different firewalls, reboot of one of them did not change anything.
To Reproduce
Steps to reproduce the behavior:

Update to opnSense 20.7.7
curl -I http://IP
You see: curl: (52) Empty reply from server

Expected behavior
opnSense should show login screen via http or rediret to https, depending on what is configured.
OPNsense 20.7.7 (amd64, OpenSSL).

Might be lighttpd update. If you use redirect to https your source url can probably be fixed to avoid this.

On 17. Dec 2020, at 22:25, ahaase-c4u<EMAIL_ADDRESS>wrote:

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
[*] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[*] I have searched the existing issues and I'm convinced that mine is new.
Describe the bug
opnSense with 20.7.6 correctly forwarded http requests to https, if configured so. After updating to 20.7.7, http is not possible anymore, https works correctly. I see this on 2 different firewalls, reboot of one of them did not change anything.
To Reproduce
Steps to reproduce the behavior:
Update to opnSense 20.7.7
curl -I http://IP
You see: curl: (52) Empty reply from server
Expected behavior
opnSense should show login screen via http or rediret to https, depending on what is configured.
OPNsense 20.7.7 (amd64, OpenSSL).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

shouldn't it just redirect, when printing headers as well, it looks like this on my end:
# curl -v -l http://xxxx/
*   Trying xxxx...
* TCP_NODELAY set
* Connected to xxxx (xxxx) port 80 (#0)
> GET / HTTP/1.1
> Host: xxxx
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Location: https://<IP_ADDRESS>/
< Content-Length: 0
< Date: Thu, 17 Dec 2020 18:45:53 GMT
< Server: OPNsense
<
* Connection #0 to host <IP_ADDRESS> left intact
* Closing connection 0

Yes, if you configured http to redirect to https. But on my 20.7.7 exactly nothing is in reply. Can I adjust the redirect myself, or has this to be done by the next update?

https://twitter.com/opnsense/status/1339847119977533442

See 4533


Collector: use AbortController and AbortSignal

[x] tests and linter show no problems (npm t)
[x] tests are added/updated for bug fixes and new features
[x] code is properly formatted (npm run fmt)
[ ] description of changes is added in CHANGELOG.md
[x] update .d.ts typings

Landed in https://github.com/metarhia/metautil/commit/1572dd3d971b98b26df4a22c9db4a4e6918958f6, https://github.com/metarhia/metautil/commit/dcbcf5ff97891364e6c78054857911bda898dc8f, and https://github.com/metarhia/metautil/commit/b7fc2c5441a944bfcf5a37e53542307f28c87130


BAC Version 1: new flags for hit/hurtboxes

Fixes #5

I've added the fix by @toolassisted for issue #4 as well

Hey, thanks!
I had already started working on it and was nearly done so I'm not going to merge this. I was missing the 2 extra unknowns in AutoCancel though, so thanks for telling me! I will, of course, give you both credit for this anyway. Thanks again.

No problem 👍 thanks for all your work. Closing the PR now


v 06 yellow bouncing ball labelled as bad goal

In the description of objects, the bouncing yellow ball is labelled as bad. Is this correct ?

@beyretb should clarify here because the documentation is strange. Almost everything indicates they are good goals, such as the name GoodGoalMulti, but then this sentence seems out of place:

A bad reward bouncing on objects. Will start moving in the direction provided by the rotation parameter

My understanding is that green objects terminate the episode with a good score, red objects terminate an episode with a bad score, and orange/yellow objects accumulate score until either all of them are collected (including a green one if present) or the episode terminates (such as by time, death zone, red ball, etc.)
I'm sure someone more official can clarify or update the documentation.

Krisives is correct. I've fixed and clarified the documentation page about rewards. As well as fixing the mistake it should be a bit easier to read now.
We plan to tidy up the rest of the docs on release.


Update Docker image building for v1.0

Some updates will be needed:

Update to Python v3.11 image
Ensure system dependencies are correct
Verify whether GIT_SSH_COMMAND is still needed

At least the comment should be changed :)

Fix versioning

Currently builds without errors, but I'm keeping the issue open until I've ensured everything works as expected in docker env & staging.
Things to be on the lookout for:

Any Whitenoise hiccups?
Celery complaining about gfbm or not?

The Docker image seems to be working fine when run in a local environment. No Whitenoise problems and the celery workers also don't raise any errors.
I'll still test in staging before closing this issue, just in case.

I just noticed that for whatever reason, versioneer versioning isn't working. The version insteads shows up as untagged. Running git tag in the container returns no tags. Never seen this before, got to investigate.

I haven't noticed any other Docker build related issues when running on staging, not for sodar-web or the celery containers. Closing the issue.


Network related issue

Version
windows 11
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
5.4.72
Distro Version
Ubuntu
Other Software
No response
Repro Steps
installing ubuntu and pushing any git repo will recreate the issue
Expected Behavior
I am a developer using wsl for more than a year in window 10 and Recently i have updated to windows 11
the issue is when i am pushing anything in git it get stuck multiple time like multiple time doing ctrl+c and push again will work sometime
for npm install it get stuck and after some time its says timed out like error
Actual Behavior
In windows 10 its works fine
Diagnostic Logs
No response

Do you have stable network access externally to code source server.   Ex: ping github/lab etc... for code source
Do you have TCP port access to the target server.  Ex:  wget,  or telnet to specific target port
Is time sync and configuration correct within WSL.  Ex date  -> check timzone and zone offset.. time mucks with SSL sessions
Do you have solid DNS lookup from WSL instance to external git resource server?  Ex: nslookup forward and reverse
This will set a baseline of connectivity is not the issue.
If all the above pass, then

take a moment to post how WSL is connected:  NAT vs Bridged  (diagram of packet flow / path)
post versions of the WSL, Git, tools for the distro your using.

Post commands your running within shell. it hangs.. many times is time sync / dns / communication.  Last one would be if your doing NAT.... do you have hang up with firewall/ software scanning as it is transfered.  Ex:  Disable for test of baseline
Output system logs and security logs from the OS during the git sync command.
Touch files / folders within git path to make sure you have local write permissions taken care of.  Copy a large local file to that path direct, to rule out some kind of write issue.
I realize above is a kind of basic set of steps to baseline "working state".  This conveys a baseline and then can help those who have deeper code and or debug skills focus on those issues once the basics are ruled out.

Thanks for reporting this @coderboyakash. What's the expect command you're running and what's the output ?

Sorry for  delay on response.  In demo setup purgatory for K8...
At this point...I don't know what command to run.  What I can say is that WSL is DOA for me.  Uninstall / reinstall (remove feature) ,  remove Linux image, try different version etc...    All I get is that network not found.  If someone can post for me commands to run to track down what WSL thinks it is connected to, that would help
wsl
The network was not found.

I posted via feedback tool the logs.
One interesting thing..  downloaded test power shell in c:\temp

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
PS C:\WINDOWS\system32> wsl
The network was not found.
PS C:\WINDOWS\system32>

Ran diag script

PS C:\WINDOWS\system32> wsl
ansible@LT-A0070501:/mnt/c/WINDOWS/system32$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet <IP_ADDRESS>/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether f2:7b:a0:d5:6e:d4 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 02:f3:af:2e:1d:1a brd ff:ff:ff:ff:ff:ff
4: tunl0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip <IP_ADDRESS> brd <IP_ADDRESS>
5: sit0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit <IP_ADDRESS> brd <IP_ADDRESS>
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:21:b9:20 brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/20 brd <IP_ADDRESS> scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe21:b920/64 scope link
valid_lft forever preferred_lft forever
ansible@LT-A0070501:/mnt/c/WINDOWS/system32$ sudo ip addr flush dev eth0
[sudo] password for ansible:
ansible@LT-A0070501:/mnt/c/WINDOWS/system32$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet <IP_ADDRESS>/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether f2:7b:a0:d5:6e:d4 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 02:f3:af:2e:1d:1a brd ff:ff:ff:ff:ff:ff
4: tunl0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip <IP_ADDRESS> brd <IP_ADDRESS>
5: sit0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit <IP_ADDRESS> brd <IP_ADDRESS>
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:21:b9:20 brd ff:ff:ff:ff:ff:ff
ansible@LT-A0070501:/mnt/c/WINDOWS/system32$ sudo dhclient eth0

<client request hangs for 2+ min>

Forwarding still enabled

No bridge on HV Switch

Or Gb NIC (used by HV switch "WSL" to bridge and also bind management / local windows traffic)

Windows updates / patch. Reboot.  Back to broken state:
`PS C:\temp%tmp%\WSL> Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
PS C:\temp%tmp%\WSL> Set-ExecutionPolicy Bypass -Scope Process -Force
PS C:\temp%tmp%\WSL> .\collect-wsl-logs.ps1
Directory: C:\temp\%tmp%\WSL

Mode                 LastWriteTime         Length Name

d-----         5/11/2022   8:19 AM                WslLogs-2022-05-11_08-19-05
The operation completed successfully.
The operation completed successfully.
The operation completed successfully.
get-acl : Cannot find path 'C:\ProgramData\Microsoft\Windows\WindowsApps' because it does not exist.
At C:\temp%tmp%\WSL\collect-wsl-logs.ps1:35 char:1

get-acl "C:\ProgramData\Microsoft\Windows\WindowsApps" | Format-List  ...

  + CategoryInfo          : ObjectNotFound: (:) [Get-Acl], ItemNotFoundException
  + FullyQualifiedErrorId : GetAcl_PathNotFound_Exception,Microsoft.PowerShell.Commands.GetAclCommand

Log collection is running. Please reproduce the problem and press any key to save the logs.
Saving logs...
Press Ctrl+C to cancel the stop operation.
100%  [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]
The trace was successfully saved.
Logs saved in: C:\temp%tmp%\WSL\WslLogs-2022-05-11_08-19-05.zip. Please attach that file to the GitHub issue.
PS C:\temp%tmp%\WSL>`
Something run in the "networking.bat" is what "fixes" it.
Attached is the output from the run.
WSL_network_bat_run_logs.txt

Update: Fresh windows 11 build /laptop.
I am thinking it is something in my deployment path..  but at least it is consistent.

Install Windows
Add Feature "HV" "WSL"
Add vSwitch WSL.

WslRegisterDistribution failed with error: 0x803b0001
Error: 0x803b0001 The network was not found.
Press any key to continue...
`
Attached is run of log collec
WslLogs-2022-05-15_07-49-39.zip
t

I was trolling through services and features on my New fresh Win11 load.. And noted two entries in features about HyperV and "Virtual Machine"
I googled around and found this article
https://www.urtech.ca/2021/07/solved-hyperv-vs-virtual-machine-platform-vs-windows-hypervisor-platform-vs-windows-subsystem-for-linux-vs-windows-sandbox/
So I did a manual installation of Windows feature.
Reboot required
Now that "Windows Features" shows both HyperV and Virtual Machine Platform installed, I re-ran baseline:
`PS C:\temp> wsl
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
PS C:\temp> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl --install -d '.
NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS
PS C:\temp> wsl  --install -d Ubuntu
Ubuntu is already installed.
Launching Ubuntu...
PS C:\temp>
`
Ubuntu start shell
`Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x803b0001
Error: 0x803b0001 The network was not found.
Press any key to continue...`
So I ran diag script and attached
`PS C:\temp> Set-ExecutionPolicy Bypass -Scope Process -Force; .\collect-wsl-logs.ps1
Directory: C:\temp

Mode                 LastWriteTime         Length Name

d-----         5/16/2022  11:01 AM                WslLogs-2022-05-16_11-01-01
The operation completed successfully.
The operation completed successfully.
The operation completed successfully.
get-acl : Cannot find path 'C:\ProgramData\Microsoft\Windows\WindowsApps' because it does not exist.
At C:\temp\collect-wsl-logs.ps1:35 char:1

get-acl "C:\ProgramData\Microsoft\Windows\WindowsApps" | Format-List  ...

  + CategoryInfo          : ObjectNotFound: (:) [Get-Acl], ItemNotFoundException
  + FullyQualifiedErrorId : GetAcl_PathNotFound_Exception,Microsoft.PowerShell.Commands.GetAclCommand

Log collection is running. Please reproduce the problem and press any key to save the logs.
Saving logs...
Press Ctrl+C to cancel the stop operation.
100%  [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]
The trace was successfully saved.
Logs saved in: C:\temp\WslLogs-2022-05-16_11-01-01.zip. Please attach that file to the GitHub issue.
PS C:\temp>`
WslLogs-2022-05-16_11-01-01.zip
I will keep poking around.. but trying to help debug


Pelican command does not work

https://github.com/apache/infrastructure-pelican/blob/e9e1d355e8b7c05de3a77883e132973eb2727cc2/Dockerfile#L33
The pelican command generates lots of errors, and does not create any output.
It needs a settings file.

Is the purpose of the Dockerfile to drive the creation of or just the testing of ASF Pelican sites?
In general ASF Pelican sites should be created from the template-site repository by either pressing the "Use this template" button or by copying files from a checkout.

See PR #20

It seems to me the purpose of the Dockerfile should be to allow testing of both the plugins and a site that uses those plugins.
In which case bare pelican commands are not really relevant, and could be dropped.
However, if it is desired to support the use of pelican directly, then the sample commands must actually work.

It's not currently desired to support all bare pelican commands. Once buildsite.py dir a settings file is present and that could be included on a pelican command line.


Custom Search For TableScreen

This enables TableScreen to be backward compatible if the user wants to use default search on title or search_text, but allows custom search to be specified. E.g.:
class MySearchable < PM::TableScreen
  searchable placeholder: "Search events", with: -> (cell, search_string) {
    return cell[:properties][:event_name].downcase.strip.include?(search_string.downcase.strip)
  }
end

For those wanting code that does not resist refactoring quite so much, you can specify a method:
class MySearchable < PM::TableScreen
  searchable placeholder: "Search events", with: :search_method

  # other stuff
  def search_method
    return cell[:properties][:event_name].downcase.strip.include?(search_string.downcase.strip)
  end
  }
end

Real world examples would probably be more complex.

This is awesome.
One more thing. We're currently working on the version-2.3 branch. Could you close this PR and bring your branch up to date with version-2.3 and do a new PR into that branch? I may not merge it in time for 2.3 but definitely for 2.4.
With that change, we're also including documentation (via the ./docs folder) in future PRs, so update the markdown documentation there.
Sorry to make you jump through so many hoops. You'll be a card-carrying ProMotion contributor of note after this one. ;)

I've updated to the version-2.3 code. Feel free to pull this whenever ready. I guess my git-foo returned (to some extent :).

Moved to #641.


Send periodic ping messages to keep connection open

We noticed that the subscription will not receive new updates after running for a longer time, and will also not get an error on the error channel (we are not on latest master).
This is probably because the connection gets dropped because of inactivity by a load balancer on the relay side. In order to fix this we could add periodic ping message and return an error if we don't get a pong response in time.

FYI, https://github.com/nbd-wtf/go-nostr/commit/d3a1624880de10debace0568a3ed072a1c3a7b66 doesn't actually do anything, because the defer ticker.Stop happens immediately (the function does not block after it).
I would also prefer a procedure similar to  https://github.com/gorilla/websocket/blob/master/examples/chat/client.go#L62 , requiring pong messages to be received every X seconds or otherwise returning an error. I would also prefer the use of an error channel to communicate this back to the user of this library.
I'm working on a fork of this lib with an error channel and a ping/pong mechanism at  https://github.com/getAlby/go-nostr/.


ENH: Update the CMake minimum required version.

Update the CMake minimum required version to match the one required by ITK
master.

Rebased on master. Checks passed. Merging.


Remove Codesmell

Ask if file exists before initializing ?
Analyze if necessary
https://github.com/FreaKzero/dlvr/blob/master/src/lib/config.js#L15

Isnt a problem .env is designed to handle this


Update gui for view task and list command

Codecov Report
Base: 64.14% // Head: 64.12% // Decreases project coverage by -0.01% :warning:

Coverage data is based on head (b1d8e1a) compared to base (c9b02fc).
Patch coverage: 16.66% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #142      +/-   ##
============================================
- Coverage     64.14%   64.12%   -0.02%
  Complexity      409      409
============================================
  Files            81       81
  Lines          1428     1430       +2
  Branches        146      146
============================================
+ Hits            916      917       +1
- Misses          473      474       +1
  Partials         39       39

Impacted Files
Coverage Δ

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

.../seedu/address/logic/commands/ListTaskCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/commands/ViewTaskCommand.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
90.74% <25.00%> (-3.38%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Links to other version of documentation contains invalid entries

Another version combo box contains nonexisting versions and links lead to localhost:3000

Thanks for reporting!

@melissawm is this a sphinx theme issue? if not, we should move it to napari/napari


fix(su): improve participant modal

:tada: This PR is included in version 1.31.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Refund is ignoring the amount property

Without it, we can't implement partial refunds.
const refund = (opts, body) =>
  request.post(opts, routes.transactions.refund(body.id), {})

https://github.com/pagarme/pagarme-js/blob/master/lib/resources/transactions.js#L98

https://github.com/pagarme/pagarme-js/pull/53

reopening to close when we merge the PR :)


Amazing !

https://github.com/rupeedigitalassets/RUPEE/blob/011102ece7c0a47d617dd88076c12db412784ded/src/net.cpp#L1176
This coin has no real dev team behind it its built via wallet builder and you are being taken for a ride

We are part of the relaunch team. New code will be pused in about three weeks, depending upon Diwali by our development team in India, they will modernizer the code. and fix any issues in it.  Will keep you posted on that. Work will be started by next week.


Android version of the wsa

What is the android version of the wsa, because i installed it and aida64 says that it is android 13 so the downloaded gapps won't work because they are for android 11

This tool was for WSA with Android 11. Now WSA has updated to 13 so you probably need to find a x86_64 GApps 13 yourself and still it is not guaranteed to work

Mine shows android 12 and here are the gapps  that i am trying to use https://sourceforge.net/projects/litegapps/files/litegapps/x86_64/32/basic/v2.8/


[Question]  Custom adapter

Hello, thank you for maintaining this library!  I'm using a custom adapter  - feathers-pouchdb which is not in your supported adapter list.  How do I define the adapter when using this library? Or use by default adapter will be workable?  Any guidance will be appreciate.

I closed this because the documentation already stated supported adapters.


AS-944: importPFB -> importJob for listing

per broadinstitute/firecloud-orchestration#904, the GET /api/workspaces/{workspaceNamespace}/{workspaceName}/importPFB API is deprecated and replaced with GET /api/workspaces/{workspaceNamespace}/{workspaceName}/importJob.
This PR updates the UI to use the not-deprecated endpoint.
Do not merge this until broadinstitute/firecloud-orchestration#904 is released to prod!
Tested manually by running a local UI. The API call in question occurs when entering the Data tab of a workspace.
N.B. even though the POST /api/workspaces/{workspaceNamespace}/{workspaceName}/importPFB is not deprecated, it may be soon, so I've updated that ajax call as well.

@dmohs thank you for the thumb … I've re-requested review because I ended up changing the POST api as well.
I like your suggestion about concision but I've left it as-is for consistency within the file, please speak up if you feel strongly about changing that.


Determine what to do with chat functionality

In recent PRs chat functionality has been introduced. We need to decide what to do with it.

Disable the chat feature. Keep the contacts list.


Allegheny County Jail strip searches

Someone has requested help on a data project:
Submission notes
How many children in the jail were strip-searched, and what precautions are used in the unimaginable circumstance when a youth is strip-searched? How are the sessions recorded? Who is present when a search is conducted?
Broken out for adult men, adult women, non-gender conforming adults
How often are people strip searched and why?
Location
Allegheny County Jail
How to help
Leave a comment if you'd like to help. Do you have ideas, questions, or need any more information to get started?

These records do not seem to exist, and are out of scope.

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."


got a System.OutOfMemoryException

i'm interest in helios. but i got a System.OutOfMemoryException when i ran TimeService example on single local machine. sorry i can't support the stacktrace info, but below is the method throw this exception (it's in helios-1.4.1\src\Helios\Concurrency\Impl\DedicatedThreadPoolFiber.cs):
public void Add(Action op)
{
     if (Running)
         _threadPool.QueueUserWorkItem(() => Executor.Execute(op));
}

os: window 7 ultimate 64 bit
memory: 16g

me too.....

I too have seen this! I first saw it in Akka's TimeService sample, and wondered if it was Actor related.
I later tried Helios's version and the same problem occurred.
This is obviously a Helios issue, and it's a real show stopper!

Just noticed that Helios is depreciated in favor of DotNetty from Azure.

#75 related - looking into it.

99% sure the issue here is the unnecessary allocation of new delegates.... This might be a 1-line fix. Let's see.

Fixed as part of 2.1 using the new APIs.


fix: restore __file__ variable for imported toolkits and functions

Commit cf86ba778605bf0e7494817e83dbf940c0086277 changed the way toolkits and functions were imported to use exec, whereas they previously were written to files and imported. The use of exec means that module-global variables such as __file__ are no longer defined.
This change breaks this code execution tool for Open WebUI (issue: https://github.com/EtiennePerot/open-webui-code-execution/issues/11), as the module needs to re-execute its own code in a subprocess in order to properly sandbox itself. This is done using __file__ in order to know where the module's code is located.
This PR creates a temporary in-memory file that contains the imported toolkit or function's code and exists only during the import process. Then it injects the path to this in-memory file as the __file__ variable in the exec context. This restores the ability for the toolkit or function being imported to rely on __file__.
Pull Request Checklist
Before submitting, make sure you've checked the following:

[x] First-time contributors: Created a discussion about the change: https://github.com/open-webui/open-webui/discussions/5510
[x] Target branch: dev branch.
[x] Description: See above.
[x] Changelog: See below.
[x] Documentation: No relevant documentation to update.
[x] Dependencies: None.
[x] Testing: Tested manually. Fairly trivial change.
[x] Code review: Done.
[x] Prefix: fix.

Changelog Entry
Fixed

Restored toolkits and functions' ability to use the __file__ variable to refer to their own code.

Screenshots or Videos
Without this fix, tools and functions do not have the __file__ variable defined.

LGTM, Thanks!


In case a Growatt inverter might be needed: our fleet consists out of MiN 4600, MiC 3000, MiC 2000, MiC 600 and SPH 4600

In the past 3 days I have finally successfully installed Grott standalone on a Pi3 running as a usual python program.
ommunication to my Pi 4 Homeassistand and mqqt has been successfully established and when I wanted to install sensors manually I ran into problems and checked the HA grott documentation again to find out that I had already achieved everything required for HA grott.
When I tried to install I ran out of time cause the sun was already gone, but I have installed the grott ha integration so far, but my mqtt is now quiet till tomorrow morning.
We have a few growatt inverters, sometime multiple so in case a check might be needed I can do that hopefully quite soon.
We have EU version incl. 10 year warranty so the usual devices and no direct import from china.
My current setup is using a pi4 as HA server and a pi 3 for the grott applicaiton which might move to a Pi Zero W over time or to the new HA server, which will be a Pi-5 4GB but when I am able and familiar how to setup grott as container under Hassio or however that might be possible.
I also want to thank you for the project developement and for the good documentation which is a lot better than the grott documentation which had caused a lot of headache and pain in the past 3 or 4 days till I finally saw the values arriving in mqqt this early morning. The biggest flaw was the basic grott.ini from the examples directory which mentioned all the mqtt settings. Even though the user id and pw were set there i had not thought that I would have to enable auth = true which is set by default as False and that was the reason why I did not receive the message for over a day or 2 .
THANKS

Hi @typxxi - Thanks for the feedback, if there's anything I can do to improve my documentation please let me know here and I'll make changes.
I'm really hoping that over time I can make this the 'go-to' source of instructions for configuring Grott.
Given you have such a wide range of inverters - how does Grott handle that? Do you have 1 grott instance for each of your inverters or does it auto-detect type for each one of them? I thought you had to tell it what type the inverter was in the grott.ini and therefore the MiN and SPH would be different values?

to close this one my reply which I had given before today:

I will write a summary of how to set a growatt inverter up with grott on a pi to deliver the data back to growatt servers and to home assistant for 1 or multiple inverters. but as you know it will take time but you will get an answer or input from me
regarding the grott instance question I guess you mean that if I have one raspberry pi for all my inverters or 2 ?
No, I have just one.
but if you meant that if I had 2 grott instances of your grott integration if you can call it that way I have to clarify things first.

Did you mean this point?

If so I can tell you that i had mistakenly pressed the button below "add entry" or Eintrag hinzufügen at this spot

Afterwards a second element also called grott appeared which you could mean with 2nd grott instance .
I have to admit that I found it weird and I nothing read about that so i wanted to get rid off that 2nd grott imediately.
That being said I had changed the destination IP from my other inverters one after the other over 3 days in batches of 2 or 3 by simply editing the wifi stick settings via web and growatt server pave. Once I pressed save there on the growatt wifi stick setup the traffic was rerouted from the growatt server to my pi 3 grott "proxy" which then forwarded the messages to the growatt server (which I had checked over days and all routers if the data and the same would still arrive) AND to the mqtt server / broker on my HA installation .
And for whatever reason my 1 and only HA grott instances has been populated which means that first the device appeared there, so I had 3 devices instead of 2 with 68 entities. Within minutes (my wifi stick have a 1 minute reporting not the default 5 minute reporting) my grott instance was populate with the 4th inverter and then also with some sensors appearing , I mean I had more than 68 entities but not 102 . At least it felt for me so that while the mqtt messages arrived they were handled and caused your grott integration to create the new sensors.
Sorry, but I did not observe the whole process or intervened, I simply waited and gave the system time to do the work while I checked on the pi3 if further inverters were sending messages or not cause I had made a list to write down which inverter id with which logger id when appeared for the first time on the pi-3 and if that caused error messages or not cause I had spent the days before with mistake by mistake during the grott installation or maybe not clear enough instruction and the most important one the grott.ini mqtt setting auth = False with the following lines for the mqtt ha userid and its password, cause this has to be set to auth = True . It had cost me hours cause I simply did not believe that a change was neccessary if the author mention user and password . I saw the authentification failed message, changed password and what not till I finally thought twice if I really would have to change that to true or not.
After all that mess on the grott setup side on my pi3 which I had thought to be easy, I was very carefull with the installation of the grott ha integration cause I expected a lot more pitfalls than during my grott installation, therefore I was very reluctant to push the grott ha system and did not update, but checked the grott pi3 server side . However the inverters appeared one after the other as all the 34 sensors appeared for all 7 inverters. Also the renaming of each inverter and its entities worked like a charm. I am quite happy so far regarding how it is performing for the past 3 days at least cause I started the setup saturday evening and suddenly on sunday morning not only the messages were reappearing in the mqtt explorer but also the grott instance become alive again which means the messages once you open a device / inverter
Here in the right column I can check if the messaging and reporting into HA is still alive

From the fleet of inverters mentioned above all are working fine somehow (I call it this way cause I have done nothing like editing a list of inverters and id, wifi stick and what not - only for me on paper and note++ to make sure it is working properly) except 1 inverter.
The SPH 4600 has not my final OK cause the battery is not ready and therefore I have not checked that inverter at all in general and of cause not in HA, but in case of trouble or bugs I will write about. But the 1 phase SPH series sph 3000 to 6000 is a quite old and reliable one with its own flaws, quirks and features, not so famous for being totally buggy in the integration.
I will close this comment cause you are aware in case you need some testing it in a multi inverter setup or for one of these inverters cause I tend to have also another one, the most important "brother", the spare. So I can play around with such cause I also have 10 or 12 not connected panels from used 240 Wp up to most recenty 600 Wp high current panels.
Therefore I do not have to risk much in such cases cause it will be an isolated testbed in case you need such support.
Great job, quite happy and I will contribute and support the developement too.

Was never an issue, just an offer as it is in the future therefore closed.


Updating unique_table_sync_key to address incremental unique test fail

Proposing a change for an easy fix
Please provide your name and company
Maris Popens, Easypark
Link the issue/feature request which this PR is meant to address

https://github.com/fivetran/dbt_fivetran_log/issues/90
Detail what changes this PR introduces and how this addresses the issue/feature request linked above.
Implementing what the issue describes and what was discussed under the issue.
How did you validate the changes introduced within this PR?
Which warehouse did you use to develop these changes?
Did you update the CHANGELOG?

[ ] Yes
[x] No

Did you update the dbt_project.yml files with the version upgrade (please leverage standard semantic versioning)? (In both your main project and integration_tests)

[ ] Yes
[x] No

Provide an emoji that best describes your current mood

😪
Feedback
We are so excited you decided to contribute to the Fivetran community dbt package! We continue to work to improve the packages and would greatly appreciate your feedback on our existing dbt packages or what you'd like to see next.
PR Template

Community Pull Request Template (default)

Maintainer Pull Request Template (to be used by maintainers)

Hi @JustMaris thank you for opening this PR! I will review this today and let you know if I have any questions.
Would you be comfortable with me making updates directly to this branch? Most likely nothing major, just some under the hood updates to prepare the branch for release.

Hi @JustMaris thank you for opening this PR! My team will review this today and let you know if I have any questions.
Would you be comfortable with me making updates directly to this branch? Most likely nothing major, just some under the hood updates to prepare the branch for release.

That's completely fine. I didn't know everything that needs to be done, and due to that didn't do everything that needs to be done.

@JustMaris thanks again for opening this PR to address the open issue of the unique key in the end model. I have just been able to review your changes and they look great! I made some additional under the hood updates to ensure this will be ready to merge and release.
This will result in the v1.2.0 release of the fivetran platform package. As we are changing the unique key of an incremental model we will need to make this a major update in order to ensure users capture the changes in a full refresh.
Thanks again and I will push this forward for to our internal release process. You should see this live within the week. 😄

Glad to hear that. Looking forward to the release, to have one less uniqueness test to address. 😃


Get Attachment Download URL or build download URL

I am developing a Chrome extension that allows the user to select emails in a thread and forward those, with attachments if desired, to our SaaS product. I download the file locally and upload to our service with the email body, subject, sender, etc. Pretty basic.
Is there a way to get the download URL of the attachments in an email? I see each thread can have an attachments array, but each element in the array is simply the filename. Is there a way to fetch the download url from the gmail server and include that with the filename? I can parse the message body HTML for inline images/URLs, but I do not see a way to get the download URL from the attachments section.
If this is not possible, do you know how to form the download URL similar to how you built the URL to fetch the email data? Big ask, but I figure it can't hurt if you happen to know.
Thanks in advance.

Looks like I can get the raw HTML for the message with
gmail.dom.email('id').email_body();

and parse it from there. Is this the best we can do at present?

@PANCAKES I've built a chrome extension similar to what you are doing here. Basically I inject some elements with the view_thread and view_email observers into the interface for composing an email, or for reading an email thread, which allows the user to select elements in our CRM to attach the specified email to.
I use a different approach to you - if they do it for an existing email thread, I simply call api.get.email_source for the relevant email_id which gives me the full source of the message - attachments and all and pass this to our server over AJAX.
The application then uses relevant server side libraries to parse the email source & extract all the email information - to, from, subject, body etc. I don't see why this wouldn't be able to extract attachments too provided the library being used supported it.
Hope that helps.

Thanks @brentkelly, but our API accepts a JSON payload with fields for subject, sender, etc, so I am very hesitant to add another endpoint that is specific to this single application. We do not store the entire raw email at this time. I would like to keep the email parsing on the client side and keep the API clean for our 3rd party developers, as well as ourselves.
I will circle back to this on the weekend, but for now it looks like my best option is to use gmail.js to get the emails I want (is_expanded, etc) and then, with those email ids, fetch the DOM and parse out the attachment data. I have to parse the message body for any inline images, so this is just a touch more code to get the attachment section as well.
Thanks for your comments and ideas. I will watch this issue for updates, @KartikTalwar. Thanks!

@PANCAKES So turns out that fetching attachments follows a nice convention:
https://mail.google.com/mail/u/0/?ui=2&ik={ik_value}&view=att&th={message_id}&attid=0.{atachment_index}&disp=safe&zw
attachmment_index is just the index of the attachment. If there are 3 attachments and you want to get the 3rd file, the index value will be 3. This URL is a 302 header that acts like a link shortener for the download file. Opening this link will lead you to the attachment data
var ik = gmail.tracker.ik;
var id = gmail.get.email_id();
var aid = 1; // gets the first attachment

var url = "https://mail.google.com/mail/u/0/?ui=2&ik=" + ik + "&view=att&th=" + id + "&attid=0." + aid + "&disp=safe&zw";

console.log(url);

@KartikTalwar Awesome, thanks! I was hoping it would be that easy, but I got stuck trying to find the realattrid value (which is in the download URL of the file in the DOM), but was unaware it was not required. Thanks for taking a look!

np :-)

var id = gmail.get.email_id(); is giving me 'null'. Please Help!

I want to get the URL of the attachment when an attachment is uploaded in the compose window and before sending the mail.
I was able to get the 'ik' parameter, but the gmail.get.email_id() returns null.

@VaibhavJhunjhunwala are you running get.email_id() on the compose window? email_id() only works when an already sent email is in the view. To get information about the compose box, please see dom.compose related methods. If that does not resolve your problem, please create a new issue with details on what is visible on the screen

@KartikTalwar I've raised a new issue about it. Please check it.
https://github.com/KartikTalwar/gmail.js/issues/212

Hi,
@KartikTalwar I'm experiencing a similar issue to VaibhavJhunjhunwala  except it occurs when I have an already received or sent email in view as seen here:

I can get the email data when I've selected the same email from the inbox but not when the email is up:

any advice on how to get the id when the email is open would be much appreciated.
Thanks.
(also I'm so glad this library exists :)

We have this covered through the email_data element.
Closing.

Kamino closed and cloned this issue to RogerAI/Roger-Backend

How to get ik parameter please help...

You shouldn’t need the ik parameter for anything really.
If you explained what you are trying to do, it might be easier to offer alternative approaches.


Attach Travis badge to the master branch

This pull request attaches the Travis badge to the master branch to prevent it from displaying a failing status for other branches or PRs.
It's a minor change but the current badge scared me :stuck_out_tongue:

Ahh nice. Thanks @pchaigno! :green_apple:


Alternative plugin for archiver?

I am very interested in deploying pvinfo for our accelerator. While we are currently setting up our Phoebus based environment including ChannelFinder, we are using a different archiver interface ( https://oss.aquenos.com/cassandra-pv-archiver/docs/3.2.6/manual/html/apbs03.html )
Support for our archiver interface has been already merged in the Phoebus client ( https://github.com/ControlSystemStudio/phoebus/pull/2961 ).
Can you roughly outline where we would need to adjust/extend the code to allow for a different archiver interface?
And similar question would also be to use a different logbook system, but this is currently only in evaluation ( https://github.com/wanglin86769/clog2 )

That's great to hear, happy to try to update pvinfo to integrate with your archiver and Clog.
Does the Cassandra archiver have a web interface that shows plots? The archiver appliance comes with it's own web viewer (https://github.com/archiver-appliance/svg_viewer) and pvinfo just contains links to that service.
https://github.com/ChannelFinder/pvinfo/blob/master/src/components/pv/PV.jsx#L27
https://github.com/ChannelFinder/pvinfo/blob/master/src/components/pv/PV.jsx#L27
So if you have a web viewer and can share the URL schema it expects, we can add an option to use the cassandra archiver and just add an if statement in the code based on the preference setting.
If you don't have a web plotting interface for Cassandra archiver then in the meantime you could update the REACT_APP_AA_URL env variable and a line in the code to at least show the JSON blob in a browser tab and see how PVInfo works
REACT_APP_AA_URL=http://domainname/archive-access/api/1.0/archive/1/samples
And then edit line 27 in PV.jsx to something like this:
const pvHTMLString = encodeURI(`${api.AA_VIEWER}/${id}?start=0&end=1500000000000000000&prettyPrint`);


Active market, filter out closed positions.

[x] need to filter out markets in open reporting state where position has been closed.
[x] show all markets the user has a open position, even if the market is in reporting or resolved.

looks to be working correctly - closing

confirmed - filtering out closed positions


Missing pip install file for Python3 GPU version for MacOS platform

Receive the following error when attempting to install GPU TF 1.0.1
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl
Collecting tensorflow-gpu==1.0.1 from https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl   HTTP error 404 while getting https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl   Could not install requirement tensorflow-gpu==1.0.1 from https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl because of error 404 Client Error: Not Found for url: https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl Could not install requirement tensorflow-gpu==1.0.1 from https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl because of HTTP error 404 Client Error: Not Found for url: https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl for URL https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-1.0.1-py3-none-any.whl
Environment info
Operating System:  MacOS 10.12.3
Python 3.5.2 |Anaconda 4.3.1 (x86_64)| (default, Jul  2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin

Yea, same problem here.
The non-gpu versions (ie, tensorflow/mac/cpu/* ) work fine, but the gpu ones are missing.
Python version is 3.5.2, conda 4.0.5, pip 9.0.1

@yifeif @av8ramit could you check our packages in storage.googleapis.com?
@jimthompson5802  @dwillmer you may download the packages from here in the meantime:
https://pypi.python.org/pypi/tensorflow-gpu/1.0.1

Checked and we didn't have the py3 gpu mac pip in google store. It is uploaded now. Closing this issue. Feel free to reopen if you are still seeing issues.

I am now able to install Python3 GPU version of TensorFlow 1.0.1.
Thank you.


Migrate to use rvo_interface_v1

RVO Interface V1 is a incremental update to encapsulate global variables by using a new custom struct, RVOState. Once adopted, the state should be passed around where needed, rather than being globally accessible. By eliminating global variables, we improve modularity and maintainability of the code.
Followup: to fully migrate, RVOState needs to be integrated in all files that use RVO-related operations and fully tested.

Initial implementation of rvo_interface_v1 added in branch feature/no-ref/separate-rvo2.


AI: add support for GOAL based task completion.

Currently, the AI system supports a DO-SAY based command system that lets a model predict a sequence of commands that should be run to perform some action or complete some task. Another approach I've been experimenting with is a GOAL based system that combines NLU tasks and asks the model to not only reply to the users utterance but also track one or more GOAL's it's attempting to achieve.
Given this prompt:
The following is a conversation with an AI assistant.
The assistant can book flights, cars, and always keeps track of the current GOALs.
When tracking multiple GOALs the assistant should assume they're all for the same trip.

The following actions are supported:

- bookFlight departureCity="<airport code>" arrivalDate="<date>" arrivalCity="<airport code>" returnDate="<date>"
- bookCar arrivalCity="<airport code>" arrivalDate="<date>" returnDate="<date>"

Examples:

Human: I'd like to book a flight from seattle to denver leaving january 1st and returning on the 5th
AI: I can help you with that.
GOAL: bookFlight departureCity="SEA" departureDate="1/1/2023" arrivalCity="DEN" returnDate="1/5/2023"

Human: I'd like to book a flight from seattle to denver
AI: When would you like to leave?
GOAL:  bookFlight departureCity="SEA" departureDate=*unknown* arrivalCity="DEN" returnDate=*unknown* PROMPT: When would you like to leave?
Human: january 1st
AI: When are you returning?
GOAL: bookFlight departureCity="SEA" departureDate="1/1/2023" arrivalCity="DEN" returnDate=*unknown* PROMPT: When are you returning?
Human: oh wait I meant the 3rd.
AI: Ok I have you leaving on January 3rd instead of the 1st. When are you returning?
GOAL: bookFlight departureCity="SEA" departureDate="1/3/2023" arrivalCity="DEN" returnDate=*unknown* PROMPT: Ok I have you leaving on January 3rd instead of the 1st. When are you returning?
Human: the 14th
AI: Great! lets get that booked.
GOAL: bookFlight departureCity="SEA" departureDate="1/3/2023" arrivalCity="DEN" returnDate="1/14/2023"

Conversation history:

{{conversation.history}}

Current goals:

{{conversation.goals}}

The AI should always respond to the Human and ask for any unknown parameters.
Update the bots GOAL on a separate line and include the last PROMPT.
Track multiple GOALs and put each GOAL on a separate line.

[Don't ask for unknown parameters]
[Don't delete existing GOALs]

Human:  {{activity.text}}
AI: Great, I have you returning on the 14th and needing the car the whole time. Let's get that booked.
GOAL: bookFlight departureCity="SEA" departureDate="3/1/2023" arrivalCity="DEN" returnDate="3/14/2023"
GOAL: bookCar arrivalCity="DEN" arrivalDate="3/1/2023" returnDate="3/14/2023"

For the initial utterance of I'd like a book a flight to denver. I'll also need to rent a car. The model will produce a response of:
When would you like to leave for Denver?
GOAL: bookFlight departureCity=*unknown* departureDate=*unknown* arrivalCity="DEN" returnDate=*unknown* PROMPT: When would you like to leave for Denver?
GOAL: bookCar arrivalCity="DEN" arrivalDate=*unknown* returnDate=*unknown*

The GOAL's can be separated from the output and passed back into the prompt on each successive turn of conversation.  The AI system can be programmed to monitor the completion status of goals (they're in the same format as DO actions) and then automatically execute GOAL actions once they reach a desired level of completeness.
For single task completion scenarios it's not clear that you need to pass in any conversation history which could be a huge cost savings. For multi-task scenarios the history seems to help but you probably don't need to include that many turns.
Here's an example of a final turn with the model where all tasks went from incomplete to complete within a single turn:
The following is a conversation with an AI assistant.
The assistant can book flights, cars, and always keeps track of the current GOALs.
When tracking multiple GOALs the assistant should assume they're all for the same trip.

The following actions are supported:

- bookFlight departureCity="<airport code>" arrivalDate="<date>" arrivalCity="<airport code>" returnDate="<date>"
- bookCar arrivalCity="<airport code>" arrivalDate="<date>" returnDate="<date>"

Examples:

Human: I'd like to book a flight from seattle to denver leaving january 1st and returning on the 5th
AI: I can help you with that.
GOAL: bookFlight departureCity="SEA" departureDate="1/1/2023" arrivalCity="DEN" returnDate="1/5/2023"

Human: I'd like to book a flight from seattle to denver
AI: When would you like to leave?
GOAL:  bookFlight departureCity="SEA" departureDate=*unknown* arrivalCity="DEN" returnDate=*unknown* PROMPT: When would you like to leave?
Human: january 1st
AI: When are you returning?
GOAL: bookFlight departureCity="SEA" departureDate="1/1/2023" arrivalCity="DEN" returnDate=*unknown* PROMPT: When are you returning?
Human: oh wait I meant the 3rd.
AI: Ok I have you leaving on January 3rd instead of the 1st. When are you returning?
GOAL: bookFlight departureCity="SEA" departureDate="1/3/2023" arrivalCity="DEN" returnDate=*unknown* PROMPT: Ok I have you leaving on January 3rd instead of the 1st. When are you returning?
Human: the 14th
AI: Great! lets get that booked.
GOAL: bookFlight departureCity="SEA" departureDate="1/3/2023" arrivalCity="DEN" returnDate="1/14/2023"

Conversation history:

Human:  I'd like to book a flight to denver. I'll need to rent a car as well.
AI:  What airport are you flying from and when do you plan to leave?
Human:  seattle on march 1st
AI: Ok, I have you flying from Seattle on March 1st. When are you returning and when do you need the car?

Current goals:

GOAL: bookFlight departureCity="SEA" departureDate="3/1/2023" arrivalCity="DEN" returnDate=*unknown* PROMPT: When are you returning and when do you need the car?
GOAL: bookCar arrivalCity="DEN" arrivalDate=*unknown* returnDate=*unknown*

The AI should always respond to the Human and ask for any unknown parameters.
Update the bots GOAL on a separate line and include the last PROMPT.
Track multiple GOALs and put each GOAL on a separate line.

[Don't ask for unknown parameters]
[Don't delete existing GOALs]

Human:  returning on the 14th and I'll need the car the whole time.
AI: Great, I have you returning on the 14th and needing the car the whole time. Let's get that booked.
GOAL: bookFlight departureCity="SEA" departureDate="3/1/2023" arrivalCity="DEN" returnDate="3/14/2023"
GOAL: bookCar arrivalCity="DEN" arrivalDate="3/1/2023" returnDate="3/14/2023"

P2 - I think we have evolved our thinking here.


Uncaught Error: The specified module could not be found./?~\AppData\Local\Temp\Rar$EXa4448.12...

Prerequisites

[ ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: <https://github.com/issues?q=is%3Aissue user%3Aatom>
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description

Steps to Reproduce

Expected behavior:

Actual behavior:

Versions
Atom: 1.60.0 ia32
Electron: 9.4.4
OS: Microsoft Windows 10 Pro
Thrown From: Atom Core
Stack Trace
Uncaught Error: The specified module could not be found.
\?\C:\Users\EliteBook\AppData\Local\Temp\Rar$EXa4448.12420\Atom\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
At electron/js2c/asar.js:140

Error: The specified module could not be found.
\\?\C:\Users\EliteBook\AppData\Local\Temp\Rar$EXa4448.12420\Atom\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
    at process.func [as dlopen] (electron/js2c/asar.js:140:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1034:18)
    at Object.func [as .node] (electron/js2c/asar.js:149:18)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (internal/modules/cjs/helpers.js:74:18)
    at customRequire (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:1:802772)
    at get_KeyboardLayoutManager (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:14:2877135)
    at get_manager (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:14:2877237)
    at Object.getCurrentKeyboardLayout (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:14:2877363)
    at e.keystrokeForKeyboardEvent (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:14:1121318)
    at KeymapManager.keystrokeForKeyboardEvent (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:11:1225566)
    at KeymapManager.handleKeyboardEvent (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:11:1223551)
    at WindowEventHandler.handleDocumentKeyEvent (~/AppData/Local/Temp/Rar$EXa4448.12420/Atom/resources/app/static/<embedded>:11:286682)

Commands
  2x -2:39.4.0 spell-check:toggle (a.btn-issue.btn.btn-error)
     -1:06.5.0 core:save-as (input.hidden-input)

Non-Core Packages

Additional Information

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us half way 😀

On Thu, 11 Aug 2022 at 12:34 AM, JackXammie @.***>
wrote:

(X)
—
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/25590#issuecomment-1211404160, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AXHGHDYRMCULBHER4ADRZADVYQ4B7ANCNFSM55N4XEBA
.
You are receiving this because you authored the thread.Message ID:
@.***>

How do I fix it?


⚠ Bofrost.be has degraded performance

In 7cdb03b, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2625 ms

Resolved: Bofrost.be performance has improved in f95cfc8 after 13 minutes.


refactor(layout): move max-width to feed specifically

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#78  👈
#77
#76
#75
#74
#73
#72
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @xdjeremy and the rest of your teammates on  Graphite


Unnecessary data requests being made with token refresh request

I'm not exactly sure what could cause this but previously when a token refresh request went out, it was just that one request for a refreshed token.
Now when a token refresh request goes out, it additionally sends requests for data from all other endpoints used by that page.
Example: http://i.imgur.com/SynPpEH.png (all 3 of these requests are made together when it should only be the first one)
I thought maybe it's the demo app I'm using but I tried another demo app and same thing... If anyone has an idea let me know! It's not critical but just seems like it shouldn't be doing it

@erichonkanen what are your simple-auth-token settings?

  // Ember Simple Auth
  ENV['simple-auth'] = {
    session: 'session:usersession',
    authorizer: 'simple-auth-authorizer:token'
  };

  ENV['simple-auth-token'] = {
    serverTokenEndpoint: ENV.namespace + '/auth-token/',
    serverTokenRefreshEndpoint: ENV.namespace + '/auth-token-refresh/',
    refreshAccessTokens: true,
    identificationField: 'email',
    tokenPropertyName: 'token',
    authorizationPrefix: 'Bearer ',
    authorizationHeaderName: 'Authorization',
    timeFactor: 1000,
  };

This is the session:usersession
import Ember from 'ember'
import Session from 'simple-auth/session'

UserSession = Session.extend
  # Here we set the 'session.context' property which is used for
  # filtering the User contexts throughout the site.
  context: (->
    user = @get 'user'

    # Check for a defaultContext and use that otherwise use empty.
    if user and user.defaultContext
      @container.lookup('store:main')
                .find('context', user.defaultContext)
                .then (context)=>
        @set 'context', context
    else
      @container.lookup('store:main').createRecord 'context'
  ).property 'user'

# Takes two parameters: container and app
initialize = (container, app) ->
  container.register 'session:usersession', UserSession

UserSessionInitializer =
  name: 'session'
  before: 'simple-auth'
  initialize: initialize

export default UserSessionInitializer

closing this as it's been awhile and not sure it still exists.. will reopen if I ever run into it again...


tsconfig.json purpose?

Question: tsconfig.json appears to be a reasonable way to specify a compilation context. Why isn't it available from the command line? ( tsc -c tsconfig.json ). I would like to be able to use tsconfig.json within a build system ( gulp based ) rather than it be a build system.

On the command line you can run:

tsc -p

or just call tsc with no file arguments in a directory with tsconfig.json in it

tsc

you can configure your build systems to call tsc with -p. @ivogabe might be able to help you better here.

Thank-you.
And thank-you to the team!


Feature/prevent link overwrites #210

Description
Prevented links being overwritten if the input port is already connected.
Updated the ports so they have a colour based on their type (using the top-level theme object).
Testing instructions
Add a set up instructions describing how the reviewer should test the code

Review code
Check Travis build
Review changes to test coverage
Run the site, go to the layout view, look at the port colours, try to make a link to an existing input and see that it doesn't happen.

Agile board tracking
connect to #210
connect to #273
closes #210
closes #273

Codecov Report

Merging #291 into version1 will decrease coverage by 0.34%.
The diff coverage is 67.85%.

@@             Coverage Diff              @@
##           version1     #291      +/-   ##
============================================
- Coverage     87.16%   86.82%   -0.35%
============================================
  Files            73       73
  Lines          2268     2292      +24
  Branches        372      375       +3
============================================
+ Hits           1977     1990      +13
- Misses          262      272      +10
- Partials         29       30       +1

Impacted Files
Coverage Δ

src/layout/block/blockWidget.component.js
80% <ø> (ø)
:arrow_up:

src/layout/block/BlockNodeModel.js
83.33% <ø> (ø)
:arrow_up:

src/layout/layout.component.js
90.32% <0%> (-3.02%)
:arrow_down:

src/malcolm/malcolm.types.js
100% <100%> (ø)
:arrow_up:

src/layout/blockPort/MalcolmPortModel.js
83.33% <100%> (+3.33%)
:arrow_up:

src/layout/blockPort/blockPortWidget.component.js
76.47% <100%> (+1.47%)
:arrow_up:

src/malcolm/reducer/layout/layout.reducer.js
79.31% <33.33%> (-2.51%)
:arrow_down:

src/malcolm/actions/layout.action.js
95.23% <86.66%> (-4.77%)
:arrow_down:

src/malcolm/reducer/malcolmReducer.js
78.88% <0%> (-0.48%)
:arrow_down:

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 da5dcf1...d728b4b. Read the comment docs.

I've reviewed this in Bryan's absence.


Cleanup NetBeans license header for module testng.maven

Review and cleanup the license header in testng.maven
Oracle donated NetBeans to the Apache Software Foundation.
Your task now is to replace the old license header that has Oracle (and/or Sun Microsystems
and/or NetBeans) in it with the standard Apache Software Foundation license header.
For an empty file that supports headers you must add the Apache license header.
Note that you have to use the proper license header for Java, .properties or HTML files.
Look at the nearby files for templates and copy-paste the license header.
When done commit the changes with a commit message that starts with first line
"[NETBEANS-54] Module Review " and a message body describing your review.
See a longer explanation about what we are doing here: https://cwiki.apache.org/confluence/display/NETBEANS/List+of+Modules+to+Review
Please announce in a comment when you have started work.
Files that need to be looked at in testng.maven:
testng.maven/src/org/netbeans/modules/testng/maven/Bundle.properties

Working on.

PR https://github.com/emilianbold/incubator-netbeans/pull/236


CORE-215 - Performance Improvements

Disable DB level foreign keys
Refactor routes using closures into controllers to allow for route caching
Set Travis to cache routes
Update tests using RefreshDatabase to use DatabaseTransactions
Move Privacc user setup out of TestCase

:tada: This PR is included in version 4.2.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


setChargeLimit help

First off, this is awesome, thank you for making this available!!!
I am trying to pass in a variable for this function.. where should I be passing "80" for instance?

In the message you pass to the tesla api node, set the commandArgs property on the msg object, and set it to an object containing the arguments you need. In the case of SetChargeLimit, this argument is called amt.
So: msg.commandArgs = {amt: 80}.
Easiest way to do this is to use a 'change' node and Set msg.commandArgs.amt to 80.

Perfect!  Thank you!  Attaching a screen shot of what I did exactly


Update env-example comments

Update the env file to reflect the new choices for placement and filename.

Thank you, I have forgotten to update this.


run-command: Introduce timeout for run-command

The idea of this change is to introduce a timeout for run-command so in case if the users cancel the running command it timeouts sooner than 90 mins. Currently, I set the default timeout to 300 seconds but it is configurable using --timeout flag.
Related #5
Testing Done
The following command exits after 10 seconds of execution:
$ ./kubectl-aks run-command 'sleep inf' --timeout 10

Before this change this command will be stuck forever.

Is there any easy way to add a test for this?

Good Point. Should be easy add a test. Let me update the PR

Is there any easy way to add a test for this?

Good Point. Should be easy add a test. Let me update the PR

I introduced a test for this as well. Please let me know what you think about it.


Implement Database interface in end to end and storage tests

This is no longer required as E2E tests are covering this


Correct casing of Seq in docs

Describe the issue or suggestion
SEQ should be Seq
See https://github.com/dotnet/docs-aspire/pull/830

PR still relevant, but closing this issue since it doesn't add any more info


Misplaced picture of swipe buttons

Every time after an expandable cell is expanded to full length, causing an alert or action sheet to appear, I get incorrect swipe button icon placement as displayed below on the next swipe on the same cell. It happens only if number of buttons on this side is 2 or greater to the edge closest button.
Other cells remain unaffected, but each one, that failed to display button icon correctly once, keeps this misplacement until get reused.

Bug does not depend on MGSwipeEasingFunction, but MGSwipeExpansionLayout has to be Center.

@xankraegor Can you reproduce the issue on the Mail or Swipe demo samples? I tried to set MGSwipeExpansionLayout to center but I couldn't reproduce it.
You can send me a testcase if you want and I'll debug it.


docs: add missing step in install instructions

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: