xgboost.core.XGBoostError: b"Invalid Parameter format for max_depth expect int but value

Hello,
I am tuning xgboost regressor model with hyperopt, today a strange error just appeared  "Invalid Parameter format for max_depth expect int  ... ". The error still exist even though I removed "max_depth" from the param space.
Environment
I am using Anaconda 3 with python 3.4 on Windows 7
Below is a part of my testing code
def optimize(trials):
space = {
'n_estimators' : hp.quniform('n_estimators', 100, 1000, 1),
#'eta' : hp.quniform('eta', 0.025, 0.5, 0.025),
#'max_depth' : 6,
#'min_child_weight' : 1,
#'subsample' : hp.quniform('subsample', 0.5, 1, 0.05),
#'gamma' : hp.quniform('gamma', 0.5, 1, 0.05),
#'colsample_bytree' : hp.quniform('colsample_bytree', 0.5, 1, 0.05),
#'num_class' : 9,
#'eval_metric': 'mlogloss',
#'objective': 'multi:softprob',
#'nthread' : 6,
'silent' : 1
}
best = fmin(score, space, algo=tpe.suggest, trials=trials, max_evals=250)

print(best)

def score(params):
print ("Training with params : ")
dtrain = xgb.DMatrix(X_train, label=y_train)
dvalid = xgb.DMatrix(X_test, label=y_test)
int_feat = ['max_depth','n_estimators']
for f in int_feat:
    if f in params:
        print('change to int')
        params[f] = int(params[f])
print (params)
# watchlist = [(dvalid, 'eval'), (dtrain, 'train')]
#model = xgb.train(params, dtrain, num_round)
model = xgb.XGBRegressor(params)

model.fit(X_train,y_train)
y_pred_cv = model.predict(X_test)
RMSE = np.sqrt(np.mean((y_pred_cv - y_test) ** 2))

print ("\tScore {0}\n\n".format(RMSE))
return {'loss': RMSE, 'status': STATUS_OK}

# Detailed error message
Training with params :
change to int
{'silent': 1, 'n_estimators': 745}
Traceback (most recent call last):
File "tune_models.py", line 136, in
optimize(trials)
File "tune_models.py", line 78, in optimize
best = fmin(score, space, algo=tpe.suggest, trials=trials, max_evals=250)
File "C:\Anaconda3\lib\site-packages\hyperopt\fmin.py", line 306, in fmin
return_argmin=return_argmin,
File "C:\Anaconda3\lib\site-packages\hyperopt\base.py", line 633, in fmin
return_argmin=return_argmin)
File "C:\Anaconda3\lib\site-packages\hyperopt\fmin.py", line 319, in fmin
rval.exhaust()
File "C:\Anaconda3\lib\site-packages\hyperopt\fmin.py", line 198, in exhaust
self.run(self.max_evals - n_done, block_until_done=self.async)
File "C:\Anaconda3\lib\site-packages\hyperopt\fmin.py", line 172, in run
self.serial_evaluate()
File "C:\Anaconda3\lib\site-packages\hyperopt\fmin.py", line 89, in serial_eva
luate
result = self.domain.evaluate(spec, ctrl)
File "C:\Anaconda3\lib\site-packages\hyperopt\base.py", line 838, in evaluate
rval = self.fn(pyll_rval)
File "tune_models.py", line 50, in score
model.fit(X_train,y_train)
File "C:\Anaconda3\lib\site-packages\xgboost-0.4-py3.5.egg\xgboost\sklearn.py"
, line 247, in fit
verbose_eval=verbose)
File "C:\Anaconda3\lib\site-packages\xgboost-0.4-py3.5.egg\xgboost\training.py
", line 177, in train
bst.update(dtrain, i, obj)
File "C:\Anaconda3\lib\site-packages\xgboost-0.4-py3.5.egg\xgboost\core.py", l
ine 749, in update
_check_call(_LIB.XGBoosterUpdateOneIter(self.handle, iteration, dtrain.handl
e))
File "C:\Anaconda3\lib\site-packages\xgboost-0.4-py3.5.egg\xgboost\core.py", l
ine 97, in _check_call
raise XGBoostError(_LIB.XGBGetLastError())
xgboost.core.XGBoostError: b"Invalid Parameter format for max_depth expect int b
ut value='{'silent': 1, 'n_estimators': 745}'"

I've got the same bug

If you read the error code, somehow the max_depth is set to the dict  {'silent': 1, 'n_estimators': 745}. Please check if this indeed happen on the python side

I'm using hyperopt and have assigned hp.qunique('') to max_depth which assign a float to max_depth expecting int. I've solved this by using hp.choice.

I had the same problem so I used  hp.choice('max_depth', np.arange(1, 14, dtype=int)) . It solves the issue just in some iterations so again that error is reported.
I would greatly appreciate if you could let me know how to deal with it?
regards,

I have the same bug. is there any fix for this issue?

when defining:
xgb_step = XGBClassifier(xgb_params)
I received the same error, and I solve it by doing this:
xgb_step = XGBClassifier(**xgb_params)

I had the same problem., when do parameters tuning in XGBoost.
Below is a part of my testing code:
`def model_cv(model, X, y, cv_fold=3, early_stopping_rounds=20, seed=3):
dtrain = xgb.DMatrix(data=X, label=y)
xgb_params = model.get_xgb_params()
cv_result = xgb.cv(params=model.get_params(), dtrain=dtrain, num_boost_round=model.get_params()['n_estimators'], nfold=cv_fold,
metrics='auc', seed=seed, callbacks=[
xgb.callback.print_evaluation(show_stdv=False),
xgb.callback.early_stop(early_stopping_rounds)])
best_round = cv_result.shape[0]-1
print('best_round:', best_round)
return best_round
xgb_skt = XGBClassifier(max_depth=3, learning_rate=0.1, n_estimators=50, silent=0,
objective='binary:logistic', booster='gbtree', gamma=0, min_child_weight=1, max_delta_step=0,
subsample=1, colsample_bytree=1, colsample_bylevel=1, reg_alpha=0,
reg_lambda=1, scale_pos_weight=1,  random_state=0)
best_round = model_cv(xgb_skt, X_train, y_train)`
Error message：
XGBoostError: b"Invalid Parameter format for seed expect int but value='None'"

I had the same problem so I used hp.choice('max_depth', np.arange(1, 14, dtype=int)). It solves the issue just in some iterations so again that error is reported.
I would greatly appreciate if you could let me know how to deal with it?
regards,

Thanks I resolved it,it;'s working.


add unstable branch and make main site not direct to stable branch

done: unstable.betatester1024.repl.co


Blank page i suppose

https://hrpg.lscult.com/zones  < displays no info on the page

This SQL was missing from the import, please execute manually from your side, I have fixed the repository:
https://github.com/nenuadrian/Secret-Republic-Hacking-Browser-Game-V3/commit/a924035f57caba53ee68f387496272751c08335d
INSERT INTO zones (id, nrm, president, data, status, rank, next_elections, market_tax, defense, hack, vault, fmarket_tax, min_defence, min_finance) VALUES (1,480,559,NULL,NULL,0,0,1,0,0,436,2,588,836),(2,60,38,NULL,NULL,0,0,1,0,0,23.05,2,0,0),(3,67,38,NULL,NULL,0,0,1,0,0,21666.12,2,0,0),(4,55,38,NULL,NULL,0,0,1,0,0,22.53,2,0,0),(5,55,1510,NULL,NULL,0,0,1,0,0,31.8,2,0,0),(6,152,52,NULL,NULL,0,0,1,0,0,41.8,2,0,0);


First time getting around using the tool, which I'm very excited about the lifecycle management side of things.
My git is globally configured to sign all my commits using GPG by default, as I want committing unsigned code to be an 'opt-out' in my environments.
However, since copier creates new temporary commits for internal reasons, it triggers a few GPG signature popups, so I looked into disabling that behaviour, as I have no wish to sign temporary commits and the commit commands fail if I don't.
It's not elegant - especially in the tests, where even more inits happen - but this patch basically inject a commit.gpgsign=False in each copier-created temporary repositories.
I'd welcome any feedback, as this is mostly a quick fix to allow me to continue working on my code template, but I figured it could be helpful to others !

Why don't you just use a gpg agent? That way, you unlock the key once and the rest just works.
I use gpg signing and never had this problem.

Codecov Report

Merging #856 (8b2cad3) into master (6f6208b) will decrease coverage by 0.50%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #856      +/-   ##
==========================================
- Coverage   96.58%   96.08%   -0.51%
==========================================
  Files          41       41
  Lines        2990     3038      +48
==========================================
+ Hits         2888     2919      +31
- Misses        102      119      +17

Flag
Coverage Δ

unittests
96.08% <100.00%> (-0.51%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

copier/main.py
94.33% <100.00%> (+0.01%)
:arrow_up:

copier/vcs.py
97.70% <100.00%> (+0.02%)
:arrow_up:

tests/conftest.py
91.30% <100.00%> (-4.16%)
:arrow_down:

tests/test_complex_questions.py
100.00% <100.00%> (ø)

tests/test_config.py
99.15% <100.00%> (+<0.01%)
:arrow_up:

tests/test_copy.py
100.00% <100.00%> (ø)

tests/test_demo_update_tasks.py
100.00% <100.00%> (ø)

tests/test_dirty_local.py
100.00% <100.00%> (ø)

tests/test_migrations.py
100.00% <100.00%> (ø)

tests/test_minimum_version.py
100.00% <100.00%> (ø)

... and 8 more

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

Yeah I'm using gpg-agent, but for Signature it's configured to ask my smartcard's pin for each signature action (for Authentication, namely ssh, I put a longer cache time). I manually review all patch chunks before signature and use those signatures to secure some of my deployment's supply chains, so having my agent sign things blindly doesn't fit my needs.

I rebased it to get the CI fixes from #861.


locode-db: store locodedb as embed csv.gz files

Getting records from gzipped files using embed. Removed redundant csv with continents. Removed duplicates form tables. Generated csv.gz.
Refs #17.

@carpawell as for

why do countries.csv.gz and locodes.csv.gz change when i call make?

we use make for regeneration of locodes.csv and countries.csv, so countries.csv.gz and locodes.csv.gz are overwritten every time.

we use make for regeneration of locodes.csv and countries.csv, so countries.csv.gz and locodes.csv.gz are overwritten every time.

yes, but why do they differ? do they differ every time we generate a "db"? even if "in" is the same?

yes, but why do they differ? do they differ every time we generate a "db"? even if "in" is the same?

files csv.gz will be different every time because of the difference in files metadata. The content of the files is the same if the inputs are the same. gzip command, which we use in Makefile, with -f flag overwrites existing files with new metadata. So we can add checking content before overwriting.

Have you tried --no-name to avoid timestamps in resulting files? I think it should be possible to have the same result for the same input. And we don't care about names/timestamps for our purpose as well.

We add the linter, we can fix the linter!


link to github and elasticsearch from website

Switch to bootstrap menu
Add menu link to es products page
Add github fork link

Fixed on snapshot 1.2


Emby auto grouping

Description:
This PR adds an option to the Emby component, allowing all available Emby applications to be added to a group.emby group. This allows the group.emby group to be added to a custom default view, without needing to explicitly know the name of every Emby application.
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#4008
Example entry for configuration.yaml (if applicable):
media_player:
  - platform: emby
    host: emby.local
    port: 443
    ssl: true
    auto_hide: true
    auto_group: true
    api_key: bla

Checklist:
If user exposed functionality or configuration variables are added/changed:

[Y] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[Y] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[NA] New dependencies have been added to the REQUIREMENTS variable (example).
[NA] New dependencies are only imported inside functions that use them (example).
[NA] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[NA] New files were added to .coveragerc.

If the code does not interact with devices:

[Y] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[NA] Tests have been added to verify that the new code works.

Hi @BnMcG,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Hi @BnMcG,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Apologies, I'm not too familiar with Travis, does this line mean there's a problem with the code written or the test itself?

ERROR: InvocationError: '/home/travis/build/home-assistant/home-assistant/.tox/lint/bin/pylint homeassistant'


SET QUOTED_IDENTIFIER OFF leads to Unhandled exception error

Describe the bug
Stored Procedure with SET QUOTED_IDENTIFIER OFF leads to the following error:
`Unhandled exception: grate.Exceptions.MigrationFailed: Migration failed due to errors:

Incorrect syntax near 'ScriptsRun'.
---> Microsoft.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near 'ScriptsRun'.
at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at Microsoft.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at Microsoft.Data.SqlClient.SqlCommand.CompleteAsyncExecuteReader(Boolean isInternal, Boolean forDescribeParameterEncryption)
at Microsoft.Data.SqlClient.SqlCommand.InternalEndExecuteNonQuery(IAsyncResult asyncResult, Boolean isInternal, String endMethod)
at Microsoft.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult)
at Microsoft.Data.SqlClient.SqlCommand.EndExecuteNonQueryAsync(IAsyncResult asyncResult)
at Microsoft.Data.SqlClient.SqlCommand.<>c.b__208_1(IAsyncResult result)
at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
at Dapper.SqlMapper.ExecuteImplAsync(IDbConnection cnn, CommandDefinition command, Object param) in /_/Dapper/SqlMapper.Async.cs:line 647
at grate.Migration.AnsiSqlDatabase.ExecuteAsync(DbConnection conn, String sql, Object parameters)
at grate.Migration.AnsiSqlDatabase.InsertScriptRun(String scriptName, String sql, String hash, Boolean runOnce, Int64 versionId, TransactionHandling transactionHandling)
at grate.Migration.DbMigrator.RunTheActualSql(String sql, String scriptName, MigrationType migrationType, Int64 versionId, ConnectionType connectionType, TransactionHandling transactionHandling)
at grate.Migration.DbMigrator.<>c__DisplayClass25_0.<g__LogAndRunSql|0>d.MoveNext()
--- End of stack trace from previous location ---
at grate.Migration.DbMigrator.RunSql(String sql, String scriptName, MigrationType migrationType, Int64 versionId, GrateEnvironment environment, ConnectionType connectionType, TransactionHandling transactionHandling)
at grate.Migration.GrateMigrator.Process(DirectoryInfo root, MigrationsFolder folder, String changeDropFolder, Int64 versionId, ConnectionType connectionType, TransactionHandling transactionHandling)
at grate.Migration.GrateMigrator.LogAndProcess(DirectoryInfo root, MigrationsFolder folder, String changeDropFolder, Int64 versionId, ConnectionType connectionType, TransactionHandling transactionHandling)
at grate.Migration.GrateMigrator.Migrate()
ClientConnectionId:68ac6fbc-8621-4b69-a296-8357ce9da664
Error Number:102,State:1,Class:15
--- End of inner exception stack trace ---
at grate.Migration.GrateMigrator.Migrate()
at grate.Commands.MigrateCommand.<>c__DisplayClass0_0.<<-ctor>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.NamingConventionBinder.CommandHandler.GetExitCodeAsync(Object returnValue, InvocationContext context)
at System.CommandLine.NamingConventionBinder.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass17_0.<b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass19_0.<b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b__18_0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<b__5_0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass8_0.<b__0>d.MoveNext()`

To Reproduce
Changing quoted_identifier to ON allows grate to run successfully.
Expected behavior
Allow the setting to remain OFF
Screenshots
n/a
Desktop (please complete the following information):

OS: [Linux
Version: [Amazon Linux 2023]

Additional context
This is a migration attempt from RoundHouse.

Had the same issue, but for me, I found a solution.
Hope it can help you.
After using SET QUOTED_IDENTIFIER OFF in a script I have to set it back to SET QUOTED_IDENTIFIER ON.
It seems that it does not matter where as long as it is set back to ON before the end of the script file.
So I can set the QUOTED_IDENTIFIER multiple times through a script, but when the OFF setting is no longer needed I will set it back to ON.
Example 1.

This will not give the error.


Create fiat account

The sample app doesn't have the function to create wire account. Adding the create wire account API with a sample mock data

Closing this ticket since I modified other files to fix the linting issue. Have raised a new ticket here https://github.com/circlefin/payments-sample-app/pull/55


(IDEA) Division of registration notification types on Slack

@az could you divide this 3 types of registration notification on slack?

ambassador - ticket id: 2831
vip - ticket id: 2830
offer - ticket id: 2753
we've previously discussed that adding 'roles' is not a good solution, but maybe a dedicated channel for each of them would work?

@KarolinaTEH i must dive in slack API details..... i will come back with some ideas

@az there are 2 more forms on the website, and it got 'quite' messy at the sales channel
new forms:

report request - ticket id: 2990
masterclasses application - ticket id: 2782

@KarolinaTEH ok i ve come up with some solution... can u provide slack channel names?
ambassador - ticket id: 2831
vip - ticket id: 2830
offer - ticket id: 2753
report request - ticket id: 2990
masterclasses application - ticket id: 2782

#ambassador_application
#vip_application
#offer_request
#report_request
#mc_application

done... instructions on slack #ecommerceberlin_it


Submersion of Parathelypteris into Amauropelta s.l. and Coryphopteris (Thelypteridoideae; Thelypteridaceae) [PASSED]

Author(s) of proposal
Susan Fawcett and Alan R. Smith
Name of taxon
Parathelypteris, Amauropelta, Coryphopteris
Rank of taxon
Genus
Approximate number of species affected
15
Description of change
Some species of Parathelypteris sensu PPG I were resolved among members of Coryphopteris and were transferred to that genus (Fawcett and Smith 2021), while others, including the type species, A. glanduligera, resolved with the Amauropelta clade and were transferred to Amauropelta by Y.H. Chang (Kuo et al. 2019). This circumscription was adopted by Fawcett and Smith (2021), who recognized four subgenera within Amauropelta.
For keys and morphological descriptions, see Fawcett & Smith 2021. For phylogenetic analyses, see Fawcett et al. 2021.
Fawcett_Smith_2021.pdf
Fawcett_2021_GlobalPhylogeny.pdf
Reason for change
Parathelypteris as recognized by PPG I  is paraphyletic, with its species resolving among within Coryphopteris or with Amauropelta s.l. Alternatively, the small clade of six species corresponding to Amauropelta subg. Parathelypteris S.E. Fawc. & A. R. Sm. could be recognized at genus rank and circumscribed to include only those six species.
Fawcett, S. and A. R. Smith. 2021. A Generic Classification of the Thelypteridaceae. Sida, Botanical Miscellany 59. Fort Worth: Botanical Research Institute of Texas Press.
Fawcett, S., Smith, A.R., Sundue, M., Burleigh, J.G., Sessa, E.B., Kuo, L.Y., Chen, C.W., Testo, W.L., Kessler, M. and Barrington, D.S., 2021. A global phylogenomic study of the Thelypteridaceae. Systematic Botany, 46(4), pp.891-915.
Fawcett, S., A. R. Smith, M. Sundue, J. G. Burleigh, E. B. Sessa, L.-Y. Kuo, C.-W. Chen, W. L. Testo, and M. Kessler. GoFlag Consortium, and D. S. Barrington. 2021. Data from: A global phylogenomic study of the Thelypteridaceae. Dryad Digital Repository. https: doi.org/10. 5061/dryad.gxd2547j4.
Kuo, L. Y., T. C. Hsu, Y. S. Chao, W. T. Liu, H. M. Chang, C. W. Chen,
Y. M. Huang, F. W. Li, Y. F. Huang, W. Shao, P. F. Lu, C. W. Chen, Y. H. Chang, and W. L. Chiou. 2019. Updating Taiwanese pteridophyte checklist: A new phylogenetic classification. Taiwania 64: 367–395.
Reference(s) for publication of the name
Fawcett_Smith_2021.pdf
Kuo, L. Y., T. C. Hsu, Y. S. Chao, W. T. Liu, H. M. Chang, C. W. Chen,
Y. M. Huang, F. W. Li, Y. F. Huang, W. Shao, P. F. Lu, C. W. Chen, Y. H. Chang, and W. L. Chiou. 2019. Updating Taiwanese pteridophyte checklist: A new phylogenetic classification. Taiwania 64: 367–395.
List the numbers of any related issues
No response
Code of Conduct

[X] I agree to follow the PPG Code of Conduct

This proposal was voted on during PPG Ballot 7 (voting period January 2024). A total of 75 votes were cast. There were 75 'Yes' votes (100%) and 0 'No' votes (0%). The proposal passes.


When Prompting for Subscription, Auto-Select If There's Only One

When running the login command inside of the ADE Shell, you are shown a list of subscriptions to choose from. However, this is not ideal when only one subscription is in your tenant, and we should just auto-select the subscription and show a log message that it was a selected.

Detect how many subscriptions exist for the user in their tenant
If there is only one, auto select it
Write a message to the user that it was selected
Allow the script to continue.

Completed.


One should be able to specify parameters types on expectNew just as invokeMethod

From<EMAIL_ADDRESS>on November 07, 2008 14:59:49
To differentiate between wrapper and primitive type constructors.
Original issue: http://code.google.com/p/powermock/issues/detail?id=64

From<EMAIL_ADDRESS>on November 07, 2008 06:01:17
Summary: One should be able to specify parameters types on expectNew just as invokeMethod

From<EMAIL_ADDRESS>on November 17, 2008 07:59:44
Fixed
Status: Fixed


Update web fonts + Translations

Fixed an error in a translation.
Updated the web-fonts to use the files that are licensed.

:+1:


Add ARM64 support where possible

The main code changes are

https://github.com/jupyterhub/repo2docker/commit/e759cd4631c69c40299b106c547dd8ed24f0776a Changes freeze.py to include the Conda platform name in the .lock filename
https://github.com/jupyterhub/repo2docker/commit/060d0eb2608b4350c4114d17c17ee580c57acd09 Most of the logic for switching between amd64 and arm64
https://github.com/jupyterhub/repo2docker/commit/78b886d1e21fc526cea89f38cf608e687cf40949 Adds a new --Repo2Docker.platform config option

The others are for CI or refreezing.
The following isn't supported on arm64:

Python < 3.7: not available on conda-forge
R/Rstudio: Our current source for RStudio only seems to provide amd64 binaries. Our options are to find a new source for R (best done in a separate PR by someone who knows about R), or to merge this with a warning that it only provides partial arm64 support.

~Currently includes these CI fixes:~

[x] https://github.com/jupyterhub/repo2docker/pull/1226
[x] https://github.com/jupyterhub/repo2docker/pull/1227

quay.io image if you want to test this: quay.io/manics/repo2docker:2023-01-02-12-10-arm64
Note I didn't realise there were other incomplete PRs open when I started working on this....

Closes https://github.com/jupyterhub/repo2docker/pull/1055
Closes https://github.com/jupyterhub/repo2docker/pull/1180

I've just pushed a couple of minor fixes- platform.machine() reports x86_64 on both OS X and Linux, but different values for ARM).


Someone add my name and Linkedin link in the contributors.md

I'll take this.

Please specify your Linkedin account link

Ah, i misunderstood. I thought you wanted me to add Your name to the contributors list.

Ah, i misunderstood. I thought you wanted me to add Your name to the contributors list.

As far as I understood he wants his name added to the Contributors.md file with a link to his linkedin profile. At least that's what I understood...

That's what i did. I've just done both now. Add mine and his.


Renamed feed’s title not preserved.

Changing the title (name) of a feed added to NNW works, but after if I move that feed to another folder, the name go back to the original one.

@kevinm6 are you using a syncing service or a local RSS account?

I've moved to sync on iCloud on all my devices and this is not happening anymore, so for me the issue is closed.

I think this issue was fixed in NNW 6, too.


Exclude CareKit for now (bad .spi.yml)

Validated all of them beforehand this time:
❯ env base_url=https://swiftpackageindex.com rester ~/Projects/SPI/spi-server/restfiles/doc-test.restfile
🚀  Resting /Users/sas/Projects/SPI/spi-server/restfiles/doc-test.restfile ...

🎬  /AudioKit/AudioKit/documentation started ...

✅  /AudioKit/AudioKit/documentation PASSED (2.188s)

...

🎬  /vapor-community/HTMLKit/documentation started ...

✅  /vapor-community/HTMLKit/documentation PASSED (0.715s)

Executed 83 tests, with 0 failures

sudo merge to get this deployed and silence the test failures


why not support 3D slide？

why not support 3D slide？

Your issue is closed because it is not filled correctly. Before you open an issue please review the contributing guideline.
Please fill the issue template correctly and:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with isssue

It will save a lot of time for other contributors to check your issue and fix it.


Review request for To Do list: add & remove

On this milestone

Removed all hardcoded items from the tasks array created in first project.
Created a new JavaScript file for the new functionality.
Implemented a function for adding a new task (add a new element to the array).
Implemented a function for deleting a task (remove an element from the array).
Implemented a function for editing task descriptions.
By default new tasks acquire property completed set to false and the property index set to the value of the new array length (where if you're adding a 5th task to the list, the index of that task should equal to 5).
Deleting a task, update all remaining items' indexes, so they represent the current list order and are unique(i.e. if you're deleting the first task index 1 from the list, the index of the next task(2) is set to 1)..
All changes to the To Do List are saved in local storage.

Hi @mercymugambi,
While you made a great effort in this project, I cannot proceed to review your code.
Invalid Code Review Request
Most parts of your readme file are describing Portfolio project from the HTML module. Kindly note that we have moved on from that and so the readme should be updated accordingly based on the project. Kindly edit your readme to fit this project.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Changes implemented as requested
Fixed delete functionality to delete items.
Fixed description to be editable and updated on local storage.
Fixed index to update after an item is deleted.


Intermittent Integration Test failures

There is an issue where Integration tests intermittently fail (about 1 in 25 test runs) because the DSC LCM is executing another consistency check:

See: https://ci.appveyor.com/project/PowerShell/xnetworking/build/2.10.334.0
Triggering AppVeyor to build again resolves the issue. However, for non PowerShell team members this requires a dummy commit (which isn't ideal).
@narrieta noticed this problem in xNetworking (I've seen it many times in various repos that have integration tests and have just gotten used to working around it). I know others have seen it too. Might be time to look into a proper solution.
I think this is most likely because an LCM consistency check has been kicked off by the ConfigurationMode timer. I will try and do some more testing to see what how the LCM is configured on an AppVeyor base OS. I find it unlikely that the LCM ConfigurationMode timer would kick off so soon after a config was applied.
We could probably work around this by adding the -Force parameter to the { Get-DscConfiguration -Verbose -ErrorAction Stop } | Should Not throw but this bothers me a bit - feels like a work around rather than a solution.
Any thoughts from the community and the MSFT DSC team would be appreciated.

Well we do have admin rights on the appveyor boxes so we should be able to configure the LCMs how we need them right?
I've still been trying to get my integration tests sorted for SharePointDsc but what we were looking at (and it's yet to be tested yet) was the concept of using the AfterEach{} block in Pester to clear the configuration documents with Remove-DscConfigurationDocument to make sure that if that job or anything else was to to fire while we weren't looking it wouldn't have any docs to apply. Also menat we could have a clean slate at the start of each run. Worth looking in to maybe? Thoughts?

@BrianFarnhill - some good ideas there I reckon.
It might actually be worth adding a function to the DSCResource.Tests TestHelpers.psm1 to reset the LCM and clear out the documents.
e.g.
function Reset-DSC {
    Stop-DscConfiguration -Force -ErrorAction SilentlyContinue
    Remove-DscConfigurationDocument -Stage Current -Force
}

This could then be called automatically by Initialize-TestEnvironment and Restore-TestEnvironment (for integration test types only) - as well as in AfterEach{} blocks.
What do you reckon?

@PlagueHO that sounds like a good idea to me :-) :+1:

@PlagueHO Yea I agree, I would remove more than just the Current document, take the previous and pending ones too incase things go south in the tests - but that is a much better idea.
We definitely want it as a separate function though and don't just rely on it in the initialise though, because if I have multiple configs to apply in one describe block (like a first one to create and object and a second one to update it or something) then we still wanna be able to clear it between each of those tests, but outside of that scenario it's a top idea.

@BrianFarnhill, @kilasuit  - cool. I'll submit a PR to the DSCResource.tests module and we can go from there. I'll tag this issue in the PR so you can comment.
Good idea about the deleting the pending and previous documents as well.

I'll close this one now. If anyone runs into a problem with an intermittent IT failure we can reopen it.

Unfortunately we just ran into this issue again in xNetworking (see https://ci.appveyor.com/project/PowerShell/xnetworking/build/2.12.367.0):

It looks like this PR didn't resolve the problem. So, I've reopened this issue.
One other solution may be to call Get-DSCConfigurationStatus and before this line is called and wait for Status -ne 'Running'.
If this was done I'd suggest adding a function to the TestHelpers.psm1 module (e.g. Wait-DSC) that waits for the LCM to complete.
The problems with the above approach are:

If the LCM is stalled then the tests will never complete - perhaps a timeout would solve this?
Each integration test would need to be modified to include this call to Wait-DSC.

I know this is a fairly minor issue but it is a pain to resolve when it occurs (at least for us non-MSFTies :grin:).

@PlagueHO - Perhaps another way to tackle this would be to set the Time for the consistency check refresh time to a much higher value than it currently is set?
What is it being set as when its being run?

I think this one is fixed now so I'll close and reopen if I see it happen again.


fix wrong run-and-move-down behaviour (#16)

Fixes #16.
Changed an includes-statement to an actual comparison.
(What an odyssey, thanks @kylebarron for your help!)

Git can definitely be confusing at first! Getting in the practice of using different branches can definitely help. For example, if you had put stuff before on a dev branch, you could've started a new run-and-move-down-dev branch now and it might've been easier. I still get tripped up on that too!

Good shout, I will try that next time!
I'm probably just too busy with my own stuff, that I never considered the need for using branches, let alone doing PRs a lot. :/

I never used to use branches but they can really help! Now whenever I'm trying to implement almost any feature, no matter how small, I make a new branch for it

My current main purpose for using git is writing my dissertation. I wish it had distinguishable features. :D

This should be good now @nikitakit , sorry for this issue.

Thanks! I'll try to get a new release out soon.


NUTCH-2449 Replace Tika LanguageIdentifier in language-identifier

This PR finishes off and therefore supersedes https://github.com/apache/nutch/pull/233 in a post-NUTCH-2891/ b0cbea5 world :)
@sebastian-nagel I have no examples which would validate NUTCH-1397. Do you?

Thanks, @lewismc!


Roadmap Docs

Preview 📚

LOL thanks Codecov

One thing the diagram doesn't really cover is individual node execution, and scheduling it self. Maybe that's captured in deterministic Wasm, but it really is work onto itself, without the embedded wasmtime for example.

Not sure that we need .md files counting against our Codecov metrics, or any of the tests to run when only writing prose 🤔

Not sure that we need .md files counting against our Codecov metrics, or any of the tests to run when only writing prose 🤔

oh they are not counting on metrics. But will add a filter for things rust/toml specific. It's just a little finicky to get the right cross-section.

It seems to think it does

Merging #306 (https://github.com/ipvm-wg/homestar/commit/90c35c6b0ec0e42f3b1c64760f604b9991ad374f) into main (https://github.com/ipvm-wg/homestar/commit/f388dbf35c33f8d6ab0b685727e068f86206eab1) will decrease coverage by 0.05%.

(Anyhow, nothing that has to change today or something. Just noting it)

Q @expede:

Package for deployment to managed services? Docker count here?

A: @zeeshanlakhani

Package for deployment to managed services? Docker count here?

That's part of it, but if we can do a one-click deploy on AWS, then even better.

A @zeeshanlakhani:

Package for deployment to managed services? Docker count here?

That's part of it, but if we can do a one-click deploy on AWS, then even better.

Yep. I'll define this more toward infrastructure and add some sub components.


Looks at all URLs, not just those specified at startup

Describe the bug
Looks at all URLs, not just those specified at startup
Expected behavior
look  just those specified at startup
Actual behavior
Looks at all URLs, not just those specified at startup
How To Reproduce?
launch with this options: spoof-dpi  -url youtube.com -url googlevideo.com  -window-size 0 -debug
Client information
OS: macOS
Version: 14.6
Additional context

As spoof-dpi sets the proxy config of your OS on start up, this is an expected behavior. it performs TCP Level fragmentation of client hello for the given urls and just bypass all other packets as it does't exist for the rest.

So, why chat on Twitch.tv cant connect when spoofdpi active?

https://github.com/user-attachments/assets/c7790e6c-9c42-43b2-81de-d8a828b3f163

spoof-dpi version?

spoog-dpi v0.10.2

Try the latest version

It seems to work, thanks


Token macro is broken in 0.15.39

Any use of the Token macro gives the error: error[E0433]: failed to resolve: unresolved import, help: a similar path exists: syn::token``.
This can be worked around by adding use syn::token; to the use site. I assume the Token implementation just needs an absolute path somewhere.
This caused compilation errors with derive-new.

This is a compiler bug: https://github.com/rust-lang/rust/issues/62562. Please use an older compiler for now.


Annotate method inputs and outputs using typing

For example:
def parse(input):
    """
    Parse a set of KGCL command separated by next-line operator.

    Returns instantiated dataclass objects from model.kgcl.
    """
    statements = input.splitlines()
    parsed = []

    for s in statements:
        parsed.append(parse_statement(s))
    return parsed

The arguments and the output should be typed

Mostly done in #50


Notifications: notifications pruning must delete records from related tables as well

Such as events2users
Also this table should be cleaned from previously deleted records during update.

Related comit for v.11 69e6c04


Browser Sync plugin for brackets

Browsersync plugin for brackets
Live Preview does not work with pages which are rendered by templates. It works for static files and also opens up a new browser window.
Though LiveReload plugin available in the Brackets extension registry overcomes the above shortcomings, it has to be installed in every browser.
If we can bring the features of browsersync as a new plugin, the task of installing the plugin in every browser can be avoided. To add to that, it synchronises actions like scrolling or clicking between browsers of not only the same device but cross-device.

@petetnt - can i be assigned this issue ?


add new terms genetic muscle disorder and metabolic muscle disorder

close #5658

@sabrinatoro could you review this PR with @pnrobinson when you meet on Thursday? thank you!

Addresses https://github.com/monarch-initiative/mondo/issues/6008

@nicolevasilevsky I made a lot of changes to this PR based on our expert discussion on March 2, 2023.
Please take a look and review before merging.
I think we can merge and continue the work in another PR and on the other issue (https://github.com/monarch-initiative/mondo/issues/6008).


Add templates for issues and pull request

Description
Using GitHub actions, integrate the templates for the pull requests and issue creations. Take inspiration from other repositories but make sure not to plagiarise any content. Make it customized for this repo. You can discuss with me what things I want to consider when you are assigned this issue

Hey @kaustubhgupta I would like to work on the issue!

@arps18 assigned to you!

Can you assign me the issue? Would like to work on it!

Okay assigned to you @aaishikasb

On it!

#40
Added a PR please check.

#44
Please approve, added the requested changes.


Cluster upgrade: make command calling stream stdout/stderr.

@mikedanese did this with logs and I took it out; I should have just replaced it with stdout/stderr.
This will help us debug GCE upgrade failures. If a GCE upgrade fails and the script never returns, we don't see any output because the test framework kills the job, and we don't print stdout/stderr until the call returns. This makes it so we see output as it's produced so we can debug failures better. This was motivated by this exact thing happening on a few Jenkins GCE runs.
Risk: low
Impact: low
I tested this locally and it worked as intended.

@roberthbailey
@quinton-hoole

LGTM

@quinton-hoole, is this ok to merge?

Yes, ok-to-merge.  Given the high value and low risk.

:) LGTm

LGTM.


Don't crash when no argument is given

Check that there is a sub-argument before getting the first one. Fixes issue #1205

Dang, do I feel dumb now.


Include Big library for decimals

Include Big library for decimals

Please do not merge this request yet because the deployment and check widget functions do not like this.

Using this reference to create Big objects (decimal) results in deployment issues.

We do bundle big.js with the client. However, we should not add all possible dependencies in the boilerplate to show users that it's there.


General object type is not assignable/equivalent to an object with specific properties

Bug Report
🔎 Search Terms
general type missing properties
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about "Type System Behavior"

⏯ Playground Link

Playground link with relevant code
💻 Code

class Foo {
    declare f1: string;
    declare f2: number;
}

class FooBar extends Foo {
    declare b1: string;
    declare b2: number;
}

type BarOnly = {b1: string, b2: number}

const val1: FooBar  = {} as Foo; // doesnt work, fair enough

const val2: FooBar  = {} as Foo & BarOnly // works, understandable

const val3: FooBar  = {} as Foo & Record<any, any> // doesnt work? does Record<any, any> not structurally cover anything BarOnly might have?

const val4: FooBar  = {} as Record<any, any> // doesnt work? does Record<any, any> not structurally cover anything BarOnly might have?

type Foo1 = {
    f1: string;
    f2: number
}

type FooBar1 = Foo1 & {
    b1: string;
    b2: number;
}

const val11: FooBar1  = {} as Foo1; // doesnt work, fair enough

const val12: FooBar1  = {} as Foo1 & BarOnly // works, understandable

const val13: FooBar1  = {} as Foo & Record<any, any> // doesnt work? does Record<any, any> not structurally cover anything BarOnly might have?

const val14: FooBar1  = {} as Record<any, any> // doesnt work? does Record<any, any> not structurally cover every object like structure?

🙁 Actual behavior
A general object type, with all keys and values allowed, is not structurally equivalent to an object with specific properties, the error says the general object type is missing properties from the specific object type.
🙂 Expected behavior

In the FAQ structural typing is summarised as

two types are compatible if their members are compatible

If I understand this correctly, Record<any, any> should be compatible with any object-like type as it supports any members.
Also, an intersection of Record<any, any> with any other object-like type with specific properties should be compatible with any object-like type, but hopefully with IntelliSense etc for the explicitly defined properties (IntelliSense currently works like this but mentioning it to make sure it is maintained).

This is the intended behavior. See https://stackoverflow.com/questions/58458308/what-does-a-typescript-index-signature-actually-mean for an in-depth explanation

I see, so it was a design decision for safer assignments. Unfortunately its incompatible with my use case, would you be able to provide any tips of any alternatives if possible?
My use case for this is that I'm working on typing some existing code where some class instances are kept in a map, which is dynamically populated so cant be statically typed, where some id is the key and the instance is the value. The class instances all extend some base class, so I was hoping to have atleast the members of the base class available via intellisense and type checked, and the existing code doesnt need to be touched (if its not using the base class members incorrectly). However, with this limitations, it means typing the map would require every usage of objects from the map to be casted so something like:
class BaseClass {}
class SomeClass extends BaseClass {}

const classMap: Record<string, any>;

function(someId): SomeClass {
  return classMap[someId];
}

needs to be changed to:
class BaseClass {}
class SomeClass extends BaseClass {}

const classMap: Record<string, BaseClass>;

function exampleFunction(): SomeClass {
  // ... some code
  return classMap[someId] as SomeClass; // type cast now required
}

This is a core aspect of the code I'm working with and its used everywhere so the effort to add these casts in is significant, and it doesnt really add a lot of value for existing usages.  However, any new usages suffer as they just have an any, is there any way to get around this without having to change existing code?
If its not possible my fallback is to have new code use a utility which does the casting e.g.
function getItem<T extends BaseClass = BaseClass>(id: string): T {
  return classMap[id] as T
}

And I think this should provide the typing and flexibility, as I think Typescript can also infer generics from the expected return, e.g.
function exampleFunction(): SomeClass {
  // ... some code
  return getItem(someId); // casts it to SomeClass
}

see playground example
But not sure if this will have limitations when we start using it. Is there a better way?


Flow focus-check

Hello! Is it possible to run flow focus-check without checking file's dependencies?

@binjospookie Does it make any sense? Without checking dependencies all imports will be treated as any and a lot of errors will be hidden.

Yes. You’re right.


Improve Run Pipeline drop down ordering

Ideally the ordering would be:
default pipelines first
default_*
generic pipelines next
generic_*
then all others in alphabetical order
Ideally it also doesn't show the .pipe extension

@mattdawkins - pining to see if this is still relevant.  We've already remove the .pipe extension do we still want the ordering like that?  (only asking because I'm working on some other small related tasks).

Going to close.  There is only currently one generic pipeline and putting that single item at the top and sorting the rest alphabetically seems like it could be confusing.


chore: removing templates_generated.go

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
It looks like templates_generated.go was removed by this PR on April 25.
However, it was generated again and was added back a few days later, probably because of the use of an old Makefile.

Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2627

Relevant Lines:
3458

💛  - Coveralls

thanks for taking care of this! I had this on my backlog for past week lol

will run abe2e's to make sure everything's still working, which I'm sure it is

can it be added ti the .gitignore file such that it doesnt happen again ?

good suggestion, added.
we might also think about adding a GH to make sure out-dated branches aren't adding it back as well


Integrate mvsqlite as a distributed database on foundationdb and libsqlite

Since libsql is a sqlite derivative, I am trying to explore ways of embedding @losfair's amazing work with libsql.
https://github.com/losfair/mvsqlite

Oh we are exploring that as well! https://github.com/libsql/sqld/blob/main/sqld/src/libsql/mwal/mod.rs , right now it works on top of a fork of mvSQLite which implements a frontend with virtual WAL instead of VFS: https://github.com/psarna/mvsqlite/tree/mwal

And we're interested in the other way round, i.e. making libSQL better suited to run mvSQLite as well, e.g. https://github.com/libsql/libsql/issues/11, https://github.com/libsql/libsql/issues/12, #20

Did you document the steps needed to convert libsql to mvsqlite?

Also I am investigating how to have a limit of 15 seconds or less configuration option for timeouts

Did you document the steps needed to convert libsql to mvsqlite?

What do you mean by convert? One of the ways mvSQLite is used is to just LD_PRELOAD an application that uses SQLite with a mvSQLite library - you can do exactly the same with an application that uses libSQL, and it will work (https://su3.io/posts/mvsqlite#drop-in-addition), because libSQL is compatible with SQLite ABI.

My goal is to make a static library and merge it with my variation of the Godot Engine.
Problems

static library linking is broken in the official release of libsql for wasm
libsql as sqlite3.h / sqlite3.cpp requires changes to rename "sqlite3_step" to "real_sqlite3_step" and "sqlite3_open_v2" to "real_sqlite3_open_v2"


Projects out of date

Some of the GitHub projects need to be updated/closed.

/cc @SteveL-MSFT @joeyaiello

We'll do a mass cleanup and also produce a roadmap as we get closer to end of 6.2 before we start 6.3

This needs to be fixed still


clear cache fallback to pages does not work

https://github.com/getkirby/cli/blob/9182f924454a7d00e586b6b9e82266557c94abb4/commands/clear/cache.php#L17
using ??= does not work here since $name will be an empty string if returned from prompt with ENTER. use $name = empty($name) ? 'pages' : $name; or something similar instead.

✅


Fixed types for correct declaration file (closes #91)

Closes #91

Merged in 33a8e016, thank you!


docs(fs): correctly set filesystem group

Current dependencies on/for this PR:

main

PR #30

PR #31   👈

PR #32

PR #33

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: K5yEkBD2dLgv1WFxOfGc


Find balanced scrypt parameters

To clarify: the idea here is to find a good set of parameters for scrypt encryption/decryption that reduces the amount of time it takes to open a wallet. The "recommended" parameters seem to be too taxing for a mid-range laptop (and maybe acceptable for a higher-end PC).

I will expand on this issue.
Our framework currently encrypts the Cardano master private key using the PBES2 encryption scheme, as implemented in the pkcs5 Rust crate.
Currently, our wallet implementation keeps a copy of the encrypted master key in memory. We only decrypt the master key when necessary, such as when a user signature is needed. When we do it, we do it inside a closure - but we don't zero out the memory yet (see issue #36).
The main issue with our choice of encryption scheme is that the recommended set of parameters is too slow for interactive use. While we do the decryption of the private key in a separate thread (to make sure the UI does not freeze) the user still needs to wait an unacceptable amount of time (more than 10 seconds, depending on the user machine).
We know the set of parameters is the culprit because we saw a noticeable improvement after lowering these to be less taxing. These are currently hardcoded here.
We want a more principled solution, one that answers the following questions:

Is the set of parameters we chose safe enough to be used for disk storage of the encrypted key?
Is the set of parameters good enough for interactive use as well?

If it's not possible to have a set of encryption parameters that is safe for both uses, what encryption scheme alternative can we use?

Is it a possibility to have the lock/unlock methods on your key container? Perhaps keeping the key decrypted when unlocked, with a timeout feature that then locks the key (and perhaps zeroes out the memory).
My point is that maybe, leaving the key unencrypted for the duration of the user session works around this problem. Then perhaps you get to use strongest encryption parameters as unlocking and locking would be done sparingly, and not for each interactive key use.

@bladyjoker That's a very good idea and I think we could definitely improve our implementation by keeping the key unencrypted for a limited amount of time, avoiding user signatures in the process. This could even be desirable as a feature, since blockchain games may have a need for signing data or transactions more frequently, something that the more standard "enter your password for every signing operation" paradigm does not help to do.
But still, even my password manager does not take 10 seconds to unlock. There is only so much wait time a user may accept, even for an initial load. I did some measurements on my laptop:

Current code (hardcoded parameters, we don't know how safe it is): between 400ms and 500ms to encrypt/decrypt.
"Recommended parameters" given upstream in pkcs5 library: between 19000ms and 20000ms to encrypt/decrypt.

So it's actually far worse than I expected, it takes 20 seconds to encrypt/decrypt the key on my (admittedly old) Intel Core i5 laptop from 2017. I think there should be some middle ground here, but I'm not sure how to evaluate whether we are compromising too much the security by reducing the load times.

I found this book which gives some helpful tips for choosing scrypt parameters. It seems like one must either choose to encrypt something for interactive use or permanent storage.
Perhaps a good solution would be to persist the key to disk using very strong encryption parameters (something similar to the recommended set) but, upon loading to memory, encrypt/decrypt using a faster set of parameters (more suited to interactive use).
What do you think?

Good point, password length impacts encryption/decryption time, so I suppose I should run a couple of scenarios with a more realistic password (no more 1234).

Perhaps a good solution would be to persist the key to disk using very strong encryption parameters (something similar to the recommended set) but, upon loading to memory, encrypt/decrypt using a faster set of parameters (more suited to interactive use).

I think that's a very good idea. I would go with that.


Documentation updates for March 2023

Updates to Lotame UserID docs. We are re-enabling existing clientId related functionality that is still in the underlying code, but was removed from docs while we did some more ground work to be ready for it. Also, minor tweaks to verbiage.
🏷 Type of documentation

[X] text edit only (wording, typos)
[X] new examples

📋 Checklist
N/A

Nice catch of the curly quotes. That is what I get from copy/pasting from my PM's Google Doc where he was editing the verbiage. 😄


[Recoveryservicesbackup] Add LRO to ProtectionContainers PUT

ARM (Control Plane) API Specification Update Pull Request
This PR is a fix for https://github.com/Azure/azure-sdk-for-net/issues/37904
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.
Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[ ] New API version. (Such PR should have been generated with OpenAPI Hub, per this wiki doc.)
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[X] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[ ] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[ ] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.

Breaking changes review (Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

@ishanjindalms @ankur741999 @ramat-msft
We got a customer reported issue in https://github.com/Azure/azure-sdk-for-net/issues/37904, and we did a temporary fix on SDK side. But the root cause is LRO declaration missing in the swagger definition, so we create this PR to fix it.
Could someone from recovery service team to follow up with this PR? Thanks.

this is a minor correctness fix for LRO for registering a backup container. looks good to me.

/pr RequestMerge


Enumerator flags problem

This issue is about 2 things related to enumerations in duktape/C. First the Duktape API enumeration flags section needs an update. It still lists the 1.x flags.
The real issue is however something else: I'm working on a util.inspect implemention with duktape. For that I played with the DUK_ENUM_NO_PROXY_BEHAVIOR to see if that would help implementing that special proxy view (with target and handler). It does not, but shows a strange behavior when used with DUK_ENUM_INCLUDE_HIDDEN. In that case duk_enum() throws the error:

TypeError: object required, found true (stack index -1)

As soon as I remove the proxy flag everything starts working again. I get this error probably for a proxy property (an array proxy) I created as one of the object members. It shows the virtualized entries when enumeration of hidden member is enabled (and no-proxy-behavior is off), but shows nothing when hidden members are excluded (which seems strange, since these virtualized members are not hidden). Not sure if that's related. I'm just mentioning it for completeness. The main issue is that duk_enum() fails when used with the no-proxy-behavior flag together with the show-hidden flag.

Thanks, I'll look into it.

Not sure if related, but the Proxy target/handler values are no longer hidden symbols but are duk_hproxy members instead. So at present there's no way to gain access to them from either Ecmascript or C code.

Re: DUK_ENUM_NO_PROXY_BEHAVIOR, it's not a very useful flag at present and should probably be removed for several reasons:

The _Target and _Handler properties used to be enumerable using the flag. However, they were internal properties and thus not under versioning guarantees. Now the properties are no longer properties but part of duk_hproxy so they can't be enumerated any more.
A useful flag would be a way to enumerate a target without side effects. That's necessarily going to be a partial result because one can't invoke Proxy traps. But in some contexts one may want to do that.

As a general use case, the ability to inspect internals of values is much wider (and IMO separate) problem from enumeration. Inspection is somewhat tricky to design right because if it comes with versioning guarantees, one can't expose too many internals because they change over time. On the other hand exposing internals without versioning guarantees is easier, but may be frustrating for application writers.
The current solution for inspection is very bare bones and based on two APIs (also the debugger protocol has some access to internals):

duk_inspect_value()
Duktape.info(), its Ecmascript counterpart

The basic idea is to give an arbitrary value, and the result is an object providing a set of properties describing internal stuff related to the value. This includes things like pointers, type tags, reference count, etc. The keys are not under versioning guarantees and liable to change in any release. However, the set of properties is not very comprehensive; mostly I just transformed the Duktape 1.x array format (which was quite inconvenient) into an object result and left it at that. For example, duk_hproxy internals like target/handler table are not exposed now.
But, because the result is an easily extensible object, and because the keys are not under versioning guarantees, it's relatively straightforward to expose new stuff via the API (and then delete them if the internals change). So exposing the Proxy target/handler would be pretty easy now.

Technically if one enumerates a Proxy without invoking any traps, the result is always an empty object--not even a partial one--because all operations are forwarded to the target object.  Not particularly useful :)

@fatcerberus That's not necessarily 100% true if there is later on an API to interact with a duk_hobject directly, without any standard semantics. But right now in master (and 2.2) that's pretty much it.

That's a good idea for a future change actually: Make hidden symbol property writes bypass the standard Proxy semantics.  If the eventual plan is for hidden symbols to not be accessible to Ecmascript at all, as is in implied in documentation, then Proxy traps shouldn't be invoked for them either.

That's actually current behavior for hidden Symbols: they don't go through Proxy traps and are invoked on the Proxy itself. That's not necessarily the best behavior if Duktape and application hidden Symbols are separated (which may soon be the case in master).
So yes, you can add a hidden Symbol to the Proxy and then duk_enum() it with DUK_ENUM_NO_PROXY_BEHAVIOR. I stand corrected )

@fatcerberus Re: hidden Symbols and Proxy behavior, I'm not sure what behavior makes sense going forward, so I don't want to change the current behavior unless that idea is clearer.
For application code it might be best if hidden Symbols mostly worked like ordinary Symbols, because it would be awkward if call sites working with a potentially proxied target would need to be aware of the Proxy to set hidden Symbols on the target. At least I would find that a bit surprising.
Skipping the proxy trap is quite important right now so that the trap doesn't get access to a potentially sensitive hidden Symbol. OTOH with the possible change that Ecmascript code can never access property values even when holding a hidden Symbol, this would be a non-issue and maybe the trap could be allowed to capture the write.
So, maybe the current behavior is a reasonable compromise between these issues.
For Duktape hidden Symbols the best behavior might be different because they're used for a little bit different purposes. For example, it matters whether a _Finalizer property is set on the target or the Proxy, and the correct behavior may be more a matter of each individual call site rather than there being a single right behavior.
For this the best solution would be C property access APIs allowing control of Proxy behavior, side effects, etc from the call site. But this wouldn't necessarily be tied to Symbols as such; one may want to write a property without a prototype lookup for instance, even for a normal string key, similarly to how duk_def_prop() with DUK_DEFPROP_FORCE bypasses some Ecmascript protections when called by (always trusted) C code.

Assuming the behavior is implemented where Ecmascript code can't use the hidden Symbol, then it makes less sense to invoke the trap, since even a simple passthrough trap won't work then:
targ[trappedKey] = value;

Hmm, that's true - the trap could just log the access or something like that, but would be unable to forward it. Unless the trap was native, of course.
But in essence this would make it difficult to work with Ecmascript traps and hidden Symbols, which would be a big downside.

Anyway I kind of hijacked @mike-lischke's issue, so we should continue this discussion elsewhere. :)

Added a note to #1116 laundry list for Proxy.

Looks like it is then not possible to implement proxy details in util.inspect. Not a big issue, I guess. No idea how often proxy output is required in inspect calls, but I think not very. For the error I have to check my older sources again and come back here once I know more.


Bump version to 0.2.1

In order to pick up this change:
https://github.com/servo/core-graphics-rs/pull/46

@bors-servo r+

:pushpin: Commit f5e5e9c has been approved by glennw

:hourglass: Testing commit f5e5e9c with merge 6f9c47c...

:sunny: Test successful - travis


Can't create new characters.

Before and after v12 upload, the create new character option allows the name to be typed in, but no characters are added to the list.  Same for NPCs.  Some character sheets popup, but not all.  Picture import for tokens isn't working either.   I can create new vehicles and scenes, just not new characters.

Do you have any mods enabled?.  Creating a character works just fine here on v12.
Check the console for errors.

Thanks for getting back to me.  So I know now it isn't an update issue for
ac2d20, that helps.
No mods to the game.  Here is what is happening.  I copied the most recent
URL 11.5.3 - the one at the top of the list.
On my Foundry screen, it has the ac2d20 at 11.3.0.  When I updated with the
new URL it says it is already updated and remains at 11.3.0.
I uninstalled and recreated the world and it still reads 11.3.0.
At on point it did go green and read 11.5.3, then it changed back to yellow
11.3.0.  This was after I posted my question, so it's something on my end.
I'll clear the cache and see if that helps.  I'll post in github if that
works or if something else did.
Thanks again,
Walter
On Sat, Jun 8, 2024 at 8:13 PM Paul Maskelyne @.***>
wrote:

Do you have any mods enabled? Creating a character works just fine here on
v12.
Check the console for errors.
—
Reply to this email directly, view it on GitHub
https://github.com/Muttley/foundryvtt-ac2d20/issues/102#issuecomment-2156273447,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BI3WEX5TEXWJGGJCILLO4X3ZGO23FAVCNFSM6AAAAABJALRONGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJWGI3TGNBUG4
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

You shouldn't need to install manually via a URL at all.  Just go into the Game Systems section of the Foundry launcher and install the game from the list there:

I would uninstall the system and then reinstall via the menu.

Thanks.  I started that and when I went to uninstall, it said I didn't have
permission or had to 'unlink.'  I sent that to my server admin (not forge),
and he had manually updated the system to v12.  He changed a permission for
me so I wasn't able to do that.  He changed that and it updated.
Everything works!  Thank You!
Walter
On Sun, Jun 9, 2024 at 4:46 PM Paul Maskelyne @.***>
wrote:

You shouldn't need to install manually via a URL at all. Just go into the
Game Systems section of the Foundry launcher and install the game from the
list there:
image.png (view on web)
https://github.com/Muttley/foundryvtt-ac2d20/assets/853835/adbc6cd0-6b1e-49c3-b995-570e1c539492
I would uninstall the system and then reinstall via the menu.
—
Reply to this email directly, view it on GitHub
https://github.com/Muttley/foundryvtt-ac2d20/issues/102#issuecomment-2156822969,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BI3WEXZVFJLVFKRZOVJT3CLZGTLMXAVCNFSM6AAAAABJALRONGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJWHAZDEOJWHE
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

OK, so it sounds like it was a server configuration error then.
I'm glad you've got things working now.
Have fun.


Unsure how to update running infra

I'm finding that when I update a TF module, I can't update running infra (e.g. a security group config of an AWS VPC).
This is probably me, but I check in the mod change.
If I do a terragrunt get, it says nothing has changed (it doesn't appear to check the repo hash).
If I do a terragrunt get --terragrunt-source-update, this destroys the state of the running VPC and from the output of a subsequent plan, I can see that it obviously wants to add all the objects again.
I'm using s3 to store remote state and FOSS TF.
I just need to check out the updated module code into the extant TG temp source folder so that the subsequent tg plan just wants to apply the above tweak.
I notice a terragrunt -update also doesn't work.
Cheers

Very hard to help without seeing the code. Could you share your modules, Terragrunt config, and the commands you're running?

OK this is a simple setup that replicates the problem.  Basically, as far as I can see, because running terragrunt get --terragrunt-source-update causes the local temp dir to be blown away and the module to be checked out of the module repo again, it appears to intantiate new state, and thus drops the old state meaning it ignores the extant vpc and wants to build a new one.
First, my vpc module in its own module repo:
Modules repo:
$ /bin/ls test-vpc/
test-vpc.tf

$ cat test-vpc/test-vpc.tf
provider "aws" {
    version = "~> 1.22"
    region  = "${var.aws_region}"
}
terraform {
#	backend "s3" {}
}

resource "aws_network_acl" "pub-acl" {
    vpc_id = "${aws_vpc.test.id}"
    subnet_ids = [
        "${aws_subnet.pubSubnetA.id}"
    ]

    ingress {
        protocol   = "tcp"
        rule_no    = 104
        action     = "allow"
        cidr_block = "<IP_ADDRESS>/0"
        from_port  = 0
        to_port    = 65535
    }

    egress {
        protocol   = "tcp"
        rule_no    = 204
        action     = "allow"
        cidr_block = "<IP_ADDRESS>/0"
        from_port  = 0
        to_port    = 65535
    }
}

resource "aws_internet_gateway" "igw" {
  vpc_id = "${aws_vpc.test.id}"
  tags {
        Name = "igw"
    }
}

resource "aws_subnet" "pubSubnetA" {
    vpc_id                  = "${aws_vpc.test.id}"
    cidr_block              = "${var.pubSubnetCidrA}"
    availability_zone 	    = "${var.aws_region}a"
    map_public_ip_on_launch = true
    tags = {
    	Name =  "pubSubnetA"
    }
}

resource "aws_route_table" "pubRouteTable" {
    vpc_id = "${aws_vpc.test.id}"
    tags {
        Name = "pubRouteTable"
    }
}
resource "aws_route" "pubRoute" {
    route_table_id         = "${aws_route_table.pubRouteTable.id}"
    destination_cidr_block = "<IP_ADDRESS>/0"
    gateway_id             = "${aws_internet_gateway.igw.id}"
}
resource "aws_route_table_association" "pubSubnetA-association" {
    route_table_id = "${aws_route_table.pubRouteTable.id}"
    subnet_id = "${aws_subnet.pubSubnetA.id}"
}

resource "aws_default_security_group" "testSG-DisusedDef" {
    vpc_id = "${aws_vpc.test.id}"
}

resource "aws_security_group" "sgDef" {
    name        = "sgDef"
    description = "Replacement default sg"
    vpc_id = "${aws_vpc.test.id}"
}

resource "aws_security_group_rule" "testSGR-in" {
    type = "ingress"
    security_group_id = "${aws_security_group.sgDef.id}"

    from_port   = "22"
    to_port     = "22"
    protocol    = "TCP"
    cidr_blocks = ["<IP_ADDRESS>/0"]
}

resource "aws_security_group_rule" "testSGR-out" {
   type = "egress"
   security_group_id = "${aws_security_group.sgDef.id}"

   from_port   = "0"
   to_port     = "0"
   protocol    = "-1"
   cidr_blocks = ["<IP_ADDRESS>/0"]
}

variable "aws_region" {
	description = "The AWS region to deploy to (e.g. us-east-1)"
}

variable "vpcCidr" {
	description = "CIDR for VPC"
	default     = "<IP_ADDRESS>/16"
}

variable "pubSubnetCidrA" {
	description = "CIDR for public subnet A"
	default     = "<IP_ADDRESS>/24"
}

resource "aws_vpc" "test" {
    cidr_block = "${var.vpcCidr}"
    enable_dns_support = true
    enable_dns_hostnames = true
    tags = {
        Name = "vpc-${var.aws_region}"
    }
}

######################################################################
Now here's the non-repo-based global state and locking and then my qa environment code:
$ /bin/ls
global	qa

$ cat global/main.tf

provider "aws" {
    version = "~> 1.21"
    # tf gets the keys from ~/.aws/credentials
   region = "eu-west-1"
}

resource "aws_dynamodb_table" "test-ddb-lock" {
   name = "test-ddb-lock"
   hash_key = "LockID"
   read_capacity = 20
   write_capacity = 20

   server_side_encryption {
       enabled = true
   }

   attribute {
      name = "LockID"
      type = "S"
   }

   tags {
     Name = "Global Terraform Lock Table"
   }
}

resource "aws_s3_bucket" "test-tfst8" {
    bucket_prefix = "test-tfst8-"
    acl           = "private"
    force_destroy = true

    lifecycle {
        ## so terraform destroy does not stop...
        #
        prevent_destroy = false
    }

    server_side_encryption_configuration {
        rule {
            apply_server_side_encryption_by_default {
                sse_algorithm     = "AES256"
            }
        }
    }

    tags {
        Name        = "testStateMgmt"
        Environment = "testGlobal"
    }

    versioning {
        enabled = true
    }
}

######################################################################
And my 'qa' environment code:
$ /bin/ls -R qa
common.tfvars		terraform.tfvars	test-vpc

qa/test-vpc:
terraform.tfvars

$ cat qa/common.tfvars
aws_region = "eu-west-1"

$ cat qa/terraform.tfvars
terragrunt = {
    remote_state {
        backend = "s3"
        config {
            bucket         = "test-tfst8-20180801065720370200000001"
            key            = "${path_relative_to_include()}/terraform.tfstate"
            region         = "eu-west-1"
            encrypt        = true
            dynamodb_table = "test-ddb-lock"
        }
    }

    terraform {
        ## Force Terraform to keep trying to acquire a lock for
        # up to 20 minutes if someone else already has the lock
        extra_arguments "retry_lock" {
            commands  = ["${get_terraform_commands_that_need_locking()}"]
            arguments = ["-lock-timeout=20m"]
        }

        ## for each tfvars dir (all those below root, per app)
        ## find the common.tfvars file in the dir above (which happens to be this one)
        #
        extra_arguments "common_vars" {
            commands  = ["${get_terraform_commands_that_need_vars()}"]
            arguments = ["-var-file=${get_tfvars_dir()}/../common.tfvars"]
        }
    }
}

$ cat qa/test-vpc/terraform.tfvars
terragrunt = {
    terraform {
        source =<EMAIL_ADDRESS>    }

    include = {
        path = "${find_in_parent_folders()}"
    }
}

OK, now let's fire it up:
$ cd test-env/qa/test-vpc
$ terragrunt init
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:10:25 Running command: terraform --version
[terragrunt] 2018/08/02 19:10:25 Reading Terragrunt config file at /pathto/terraform/test-env/qa/test-vpc/terraform.tfvars
[terragrunt] 2018/08/02 19:10:25 Terraform files in /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc are up to date. Will not download again.
[terragrunt] 2018/08/02 19:10:25 Copying files from /pathto/terraform/test-env/qa/test-vpc into /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:10:25 Setting working directory to /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:10:25 Running command: terraform init -backend-config=key=test-vpc/terraform.tfstate -backend-config=region=eu-west-1 -backend-config=encrypt=true -backend-config=dynamodb_table=test-ddb-lock -backend-config=bucket=test-tfst8-20180801065720370200000001 -lock-timeout=20m

Initializing provider plugins...

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

$ terragrunt plan
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:10:57 Running command: terraform --version
[terragrunt] 2018/08/02 19:10:57 Reading Terragrunt config file at /pathto/terraform/test-env/qa/test-vpc/terraform.tfvars
[terragrunt] 2018/08/02 19:10:57 Terraform files in /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc are up to date. Will not download again.
[terragrunt] 2018/08/02 19:10:57 Copying files from /pathto/terraform/test-env/qa/test-vpc into /Users/mql/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:10:57 Setting working directory to /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:10:58 Running command: terraform plan -lock-timeout=20m -var-file=/pathto/terraform/test-env/qa/test-vpc/../common.tfvars
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

------------------------------------------------------------------------

An execution plan has been generated and is shown below.

------------------------------------------------------------------------

Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.

OK let's hit it:
$ terragrunt apply -auto-approve --terragrunt-non-interactive
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:11:34 Running command: terraform --version
[terragrunt] 2018/08/02 19:11:34 Reading Terragrunt config file at /pathto/terraform/test-env/qa/test-vpc/terraform.tfvars
[terragrunt] 2018/08/02 19:11:34 Terraform files in /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc are up to date.  Resources: 11 added, 0 changed, 0 destroyed.

OK, now let's change a minor point in the module code:
$ sed -i.bak 's/to_port    = 65535/to_port    = 65000/' test-vpc.tf && rm -f test-vpc.tf.bak  && grep 65 test-vpc.tf
        to_port    = 65000
        to_port    = 65000

$ git commit -m "changed vpc [e|in]gress port" test-vpc.tf && git push -u origin master
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 340 bytes | 340.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To bitbucket.org:phosphre/test.git
   94fb52c..eec09a3  master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

Now back in the qa environment area, we need to do a terragrunt get of the updated module code.
$ terragrunt get -update=true
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:21:52 Running command: terraform --version
[terragrunt] 2018/08/02 19:21:52 Reading Terragrunt config file at /pathto/terraform/test-env/qa/test-vpc/terraform.tfvars
[terragrunt] 2018/08/02 19:21:52 Terraform files in /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc are up to date. Will not download again.
[terragrunt] 2018/08/02 19:21:52 Copying files from /pathto/terraform/test-env/qa/test-vpc into /Users/mql/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:21:52 Setting working directory to /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:21:52 Running command: terraform get -update=true

OK, the terraform docs say:

-update - If specified, modules that are already downloaded will be checked for updates and the updates will be downloaded if present.

Maybe the TF update option doesn't look in the source repo at the git checksum.  I've not checked the TF code for this.
As such, my only option is to do a terragrunt get --terragrunt-source-update as posited at the top of the post:
$ terragrunt get --terragrunt-source-update
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:25:44 Running command: terraform --version
[terragrunt] 2018/08/02 19:25:44 Reading Terragrunt config file at /pathto/terraform/test-env/qa/test-vpc/terraform.tfvars
[terragrunt] 2018/08/02 19:25:44 The --terragrunt-source-update flag is set, so deleting the temporary folder /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44 before downloading source.
[terragrunt] 2018/08/02 19:25:44 Downloading Terraform configurations from<EMAIL_ADDRESS>into /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44 using terraform init
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:25:44 Initializing remote state for the s3 backend
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:25:44 Running command: terraform init -backend-config=key=test-vpc/terraform.tfstate -backend-config=region=eu-west-1 -backend-config=encrypt=true -backend-config=dynamodb_table=test-ddb-lock -backend-config=bucket=test-tfst8-20180801065720370200000001 -lock-timeout=20m<EMAIL_ADDRESS>/home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44
Copying configuration from<EMAIL_ADDRESS>Terraform initialized in an empty directory!

The directory has no Terraform configuration files. You may begin working
with Terraform immediately by creating Terraform configuration files.
[terragrunt] 2018/08/02 19:25:47 Copying files from /pathto/terraform/test-env/qa/test-vpc into /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:25:47 Setting working directory to /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:25:47 Initializing remote state for the s3 backend
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:25:47 Running command: terraform init -backend-config=bucket=test-tfst8-20180801065720370200000001 -backend-config=key=test-vpc/terraform.tfstate -backend-config=region=eu-west-1 -backend-config=encrypt=true -backend-config=dynamodb_table=test-ddb-lock -lock-timeout=20m

Initializing provider plugins...
- Checking for available provider plugins on https://releases.hashicorp.com...
- Downloading plugin for provider "aws" (1.30.0)...

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
[terragrunt] 2018/08/02 19:25:58 Running command: terraform get

But now, it appears to have replaced the state:
$ terragrunt plan
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:26:29 Running command: terraform --version
[terragrunt] 2018/08/02 19:26:29 Reading Terragrunt config file at /pathto/terraform/test-env/qa/test-vpc/terraform.tfvars
[terragrunt] 2018/08/02 19:26:29 Terraform files in /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc are up to date. Will not download again.
[terragrunt] 2018/08/02 19:26:29 Copying files from /pathto/terraform/test-env/qa/test-vpc into /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] 2018/08/02 19:26:29 Setting working directory to /home/.terragrunt/ZiQETBggNKskEx4-sG45R3wl8_Y/IpvnuiWS2c1cHk8AuLYWJw3vu44/test-vpc
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:26:29 Initializing remote state for the s3 backend
[terragrunt] [/pathto/terraform/test-env/qa/test-vpc] 2018/08/02 19:26:30 Running command: terraform init -backend-config=bucket=test-tfst8-20180801065720370200000001 -backend-config=key=test-vpc/terraform.tfstate -backend-config=region=eu-west-1 -backend-config=encrypt=true -backend-config=dynamodb_table=test-ddb-lock -lock-timeout=20m

Initializing provider plugins...

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
[terragrunt] 2018/08/02 19:26:30 Running command: terraform plan -lock-timeout=20m -var-file=/Users/mql/Keep/knightlore/industries.psy/platform/terraform/test-env/qa/test-vpc/../common.tfvars
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

------------------------------------------------------------------------

An execution plan has been generated and is shown below.

------------------------------------------------------------------------

Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.

This is not what I was expecting - I was hoping it would just update the ACL ports, not add a whole new VPC.  What am I missing here?  There's a free logo in it for you...

Blimey, I need to get more sleep.  I'm glad it wouldn't have taken you as long to see the issue as it took me to write about it.  Thanks Jim.

No problem! A second set of eyes always helps 👀


Lua Version of JWLuaMenu plugin

Background
RGP Lua 0.66 will include some features that make it possible to rewrite the JWLuaMenu plugin as a script. I would like to do this in the interests of making it possible for others to contribute to it or modify it to suit their needs. The new features are:

An option that allows a script to run when Finale starts up (and only then).
A new finenv.GetFinaleMainWindow() function that is required on Windows for manipulating menus.

The script will also depend on a new version of luaosutils that contains apis for interrogating and rearranging Finale's menus (actually, the menus of whatever process Lua is running in).
The crux of the issue
My question for this group is where to put the script on GitHub. The options would seem to be:

The src directory of this repo (or a subdirectory of it).
A separate repo in the finale-lua organization.
An entirely separate repo in my personal account.

The main challenge is the dependency on luaosutils. To add it to the src directory of this repo would mean accommodating luaosutils in the deployment process. I'm not sure how to do that. It is further complicated on macOS by the possibility that the luaosutils library has to be signed and notarized before a user could download and use it without an ugly process of blessing the library. I still am not sure of the answer to this question.
Like JWLuaMenu, the script will need a menu layout file. I am intending to use the same format for the script as the plugin.

My current thought is that in this repo would be good if possible, but I had a couple of quick questions.
Just thinking generally, are any other scripts (current or future) in this repo likely to utilize luaosutils? I guess the implied question I'm asking is: should we be looking at having the standard deployment process accommodate luaosutils?
And from there...:

How should it be offered for download? Zip file, or a separate link for luaosutils (are there likely to be more libraries in this form used by other scripts in the future?) If a zip file, do instructions need to be included in the zip file or just on the download page?
Any version management of luaosutils? If it is going to be potentially used by other scripts (either from here or somewhere else) what happens if a new version is overwritten with an old one? Current scripts avoid this sharing issue by being self contained in one file.

I'm not familiar with the notarizing process. How would that affect the way it is offered for download or where it is hosted?

luaosutils started out as a file downloading utility. The idea was that it could be used to check versions.
For the latest iteration, I have expanded it to include menu utilities and a process launcher that is silent. (os.execute is not silent on Windows: it opens a console window. While a macOS version is not strictly necessary, I added one for completeness. Both versions were generated for me in seconds by ChatGPT, which I am gradually finding to be indispensable.)
It occurred to me that an easy way to deploy it would be to pre-load it in RGP Lua, like luasocket. But that would defeat the goal of a fully open-source library that is not dependent on the RGP Lua release schedule.
The signing and notarizing is the biggest potential issue. Jan Angermüller has been using it in Perfect Layout. He may have a better handle on whether it is actually an issue.

I think that sounds like a good approach.

I'm closing this issue as we seem to have solved it.


revisit muted autoplay / autoplay next

[ ] on ios, autoplay next recycles players and mutes next video.
[ ] we should look into other improvements around muted state - my odysee seems to keep reverting to this, even though I've unmuted in previous sessions and am interacting with the page.

recheck muting scenario after videojs upgrade


Histogram fails to render in Jupyter notebook on Travis

I'm getting this error on TravisCI:
jupyter nbconvert --to notebook --execute "Examples.ipynb" --output "Examples.04da486.ipynb"

[NbConvertApp] Converting notebook Examples.ipynb to notebook

[NbConvertApp] Executing notebook with kernel: python3

[NbConvertApp] ERROR | Error while converting 'Examples.ipynb'

Traceback (most recent call last):

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/nbconvertapp.py", line 381, in export_single_notebook

    output, resources = self.exporter.from_filename(notebook_filename, resources=resources)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py", line 172, in from_filename

    return self.from_file(f, resources=resources, **kw)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py", line 190, in from_file

    return self.from_notebook_node(nbformat.read(file_stream, as_version=4), resources=resources, **kw)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/exporters/notebook.py", line 31, in from_notebook_node

    nb_copy, resources = super(NotebookExporter, self).from_notebook_node(nb, resources, **kw)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py", line 132, in from_notebook_node

    nb_copy, resources = self._preprocess(nb_copy, resources)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/exporters/exporter.py", line 309, in _preprocess

    nbc, resc = preprocessor(nbc, resc)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/preprocessors/base.py", line 47, in __call__

    return self.preprocess(nb,resources)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py", line 242, in preprocess

    nb, resources = super(ExecutePreprocessor, self).preprocess(nb, resources)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/preprocessors/base.py", line 70, in preprocess

    nb.cells[index], resources = self.preprocess_cell(cell, resources, index)

  File "/home/travis/miniconda/lib/python3.6/site-packages/nbconvert/preprocessors/execute.py", line 275, in preprocess_cell

    raise CellExecutionError(msg)

nbconvert.preprocessors.execute.CellExecutionError: An error occurred while executing the following cell:

------------------

p = charts.Histogram(mpg,

                     values='cty',

                     bins=12

                    )

Image(export_png(p))

------------------

WebDriverException: Message: {"errorMessage":"'undefined' is not an object (evaluating 'window.Bokeh.documents')","request":{"headers":{"Accept":"application/json","Accept-Encoding":"identity","Connection":"close","Content-Length":"393","Content-Type":"application/json;charset=UTF-8","Host":"<IP_ADDRESS>:43357","User-Agent":"Python http auth"},"httpVersion":"1.1","method":"POST","post":"{\"script\": \"\\n    // add private window prop to check that render is complete\\n    window._bokeh_render_complete = false;\\n    function done() {\\n      window._bokeh_render_complete = true;\\n    }\\n\\n    var doc = window.Bokeh.documents[0];\\n\\n    if (doc.is_idle)\\n      done();\\n    else\\n      doc.idle.connect(done);\\n    \", \"args\": [], \"sessionId\": \"2c25a020-5aa0-11e7-8a80-69b54a60bad9\"}","url":"/execute","urlParsed":{"anchor":"","query":"","file":"execute","directory":"/","path":"/execute","relative":"/execute","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/execute","queryKey":{},"chunks":["execute"]},"urlOriginal":"/session/2c25a020-5aa0-11e7-8a80-69b54a60bad9/execute"}}

Screenshot: available via screen

make: *** [run_nb] Error 1

I can run the same example on my Mac and it works fine.
Any idea what is going wrong?

Here's a striped down version: https://travis-ci.org/tdhopper/pythonplot.com/builds/247233785
Failing to generate this notebook: https://github.com/tdhopper/pythonplot.com/blob/c72b2a1431807fe60b616b0002e07bdd47b7f948/Examples.ipynb

No idea, but I doubt this is related to bkcharts specifically. Can you make an issue on the main bokeh repo, with a title along the lines of "SVG export fails to render in nbconvert"? If possible with an example that just makes a trivial plot with bokeh.plotting?
FYI bkcharts is essentially unmaintained at this particular point in time. I'd highly recommend checking out Holoviews as an much more active and supported very high level interface on top of bokeh:
http://build.holoviews.org/gallery/index.html

ping @canavandl


TBIBank - The number of jobs posted on scrapers.peviitor.ro (0) is not the same as the number of jobs posted on the company's website (20)

ENVIRONMENT: production
URL: https://scrapers.peviitor.ro
Browser: Microsoft Edge
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser
Run scraper for "TBIBank " Company
Check the number of jobs
Open https://tbibank.ro/career
Check the number of jobs

EXPECTED RESULTS:
The number of jobs is the same on scrapers.peviitor.ro as on the company's website
ACTUAL RESULTS:
The number of jobs posted on scrapers.peviitor.ro (0) is not the same as the number of jobs on the company's website (20)

Fixed!

After retesting, the number of jobs is the same on scrapers.peviitor.ro as on the company's website


⚠ Samsung has degraded performance

In 8381b69, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2724 ms

Resolved: Samsung performance has improved in 2daed48.


Make sure that PF is started

When you run the formula for first time PF is not started because service pf onestatus returns 0 and SaltStack takes that as "running" but it's not the case.
So this PR does:

Make sure PF is started when service is enabled.
Add initial PF configuration with an allow rule for SSH connections so Kitchen is not disconnected during highstate.
Comment queueing because it needs kernel to have support for ALTQ and you need to compile custom kernel for that.

Hi,
sorry for the late answer, looks good to me.
Thanks for all your work so far!


Authenticate user

[x] Get username/password
[x] Validate username/password

GET username and password, open session and create userId, FirstName, email, and isLoggedIn properties in session object


6pm-c-svpa tutor assignment

This PR is the create and read operations for tutor assignments. For the front end it adds a page to view tutorAssignments and a page to create new tutor assignments as well as components for the display table and submission form and lastly services to help send the creation form to the back end. I also added in code that Bryne Terce(sorry if this is spelled incorrectly) wrote that helps convert the format of quarters for courses. For the backend I added a controller for tutor assignment that has a get and a put and I added a tutor assignment repository. I added a couple more specific gets to course controller and a couple different finds to the course repository.

@sethvanb  you need to get this green on CI before it can be merged.  If you need help with that, please:

ask in section today
ask during office hours
ask on Slack

40 points for this!  Nice job