Build fails on Postgres DB

Make sure these boxes are checked before submitting your issue - thank you!

[X ] I have checked the superset logs for python stacktraces and included it here as text if any
[X ] I have reproduced the issue with at least the latest released version of superset
[X ] I have checked the issue tracker for the same issue and I haven't found one similar

Superset version
master (0.25
Expected results)
Build should complete with a Postgres v10 DB
Actual results
Build fails with the following error:
INFO  [alembic.runtime.migration] Running upgrade 956a063c52b3 -> 1226819ee0e3, Fix wrong constraint on table columns
WARNI [root] Could not find or drop constraint on columns
Traceback (most recent call last):
File "/usr/local/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/usr/local/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
psycopg2.InternalError: current transaction is aborted, commands ignored until end of transaction block
sqlalchemy.exc.InternalError: (psycopg2.InternalError) current transaction is aborted, commands ignored until end of transaction block
[SQL: "UPDATE alembic_version SET version_num='1226819ee0e3' WHERE alembic_version.version_num = '956a063c52b3'"] (Background on this error at: http://sqlalche.me/e/2j85)
Steps to reproduce
Follow steps in https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md for setting up DEV environment.
Note that this build runs fine with branch 0.25.5.

Its a new installation. The only thing perhaps to note is that we are using Docker. This is similar to this PR: https://github.com/apache/incubator-superset/pull/4193.
Is it safe to assume that the "master" branch build should succeed or shall we only use the "release" branches. As I mentioned, the release branches build fine on Postgres.  We have successfully built Superset on prior release branches using Docker.

master has been stable and should build just fine, you can point to the latest release tag as well.
I'm thinking this is related to your Postgres version. I'd try matching whatever version we use against travis.

Just hit the same issue when doing clean install on Docker against Postgres 10, will investigate.

I am also investigating. I tried postgres 9.6 and 10.  Out of curiosity how can I confirm what version Travis CI is using.  I could not find a version add-on defined in travis.yml.  I don't believe this is a postgres version issue but for reference does superset have a recommended version on which it is certified?

That whole 1226819ee0e3 migration seems slightly redundant, looking at the CI output seems it's the only migration giving off a warning. Just guessing here, but perhaps the exception coming from drop_constraint() or create_foreign_key() is somehow causing problems in alembic.op, despite being caught?
https://github.com/apache/incubator-superset/blob/875d0b5ad29ca69f1cad44257688f02072e9f75e/superset/migrations/versions/1226819ee0e3_fix_wrong_constraint_on_table_columns.py#L30-L42

By the looks of it we'll be hitting the same error at least in migration 3b626e2a6783, as there is a similar try-catch lurking there.

No, the build does fail. There is the warning that is logged when the exception is caught, but the exception invalidates the cursor, after which the next statement fails.
It looks like these migrations are remnants of some old migrations that have since been deleted/changed. As this effectively makes it impossible to make a fresh install of Superset using a Postgres backend with current stable dependencies (my hunch is that this is something brought about by psycopg2 having changed transaction defaults in the 2.7.4 version), I would suggest fixing these migrations so that they don't cause exceptions.
Btw, where can the exact specs for the python 3.6 Postgres CI confs be found? Just curious to understand why CI isn't catching this, as it's running a fresh install every time.

Per requirements-dev.txt, psycopg2==2.7.4 and it looks like we use whatever default version is used on travis which appears to be PostgreSQL v9.2 from the logs

Results from three different tests with identical configurations (Postgres 10.3 backend):
master: migrating from scratch reported warnings but finished successfully
0.25.5 tag: migration fails on first warning (see log below).
0.24.0 tag: same as master, ie. a few warnings, but no errors.
So this is not caused by the Postgres db version. I also ran a test where I first installed 0.24.0, initialized the database, then built a new 0.25.5 container, and ran the incremental migrations against the database from the 0.24.0 version, which finished without trouble. So this seems to only affect the 0.25 branch.
Full log from the 0.25.5 migration process:
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> 4e6a06bad7a8, Init
INFO  [alembic.runtime.migration] Running upgrade 4e6a06bad7a8 -> 5a7bad26f2a7, empty message
INFO  [alembic.runtime.migration] Running upgrade 5a7bad26f2a7 -> 1e2841a4128, empty message
INFO  [alembic.runtime.migration] Running upgrade 1e2841a4128 -> 2929af7925ed, TZ offsets in data sources
INFO  [alembic.runtime.migration] Running upgrade 2929af7925ed -> 289ce07647b, Add encrypted password field
INFO  [alembic.runtime.migration] Running upgrade 289ce07647b -> 1a48a5411020, adding slug to dash
INFO  [alembic.runtime.migration] Running upgrade 1a48a5411020 -> 315b3f4da9b0, adding log model
INFO  [alembic.runtime.migration] Running upgrade 315b3f4da9b0 -> 55179c7f25c7, sqla_descr
INFO  [alembic.runtime.migration] Running upgrade 55179c7f25c7 -> 12d55656cbca, is_featured
INFO  [alembic.runtime.migration] Running upgrade 12d55656cbca -> 2591d77e9831, user_id
INFO  [alembic.runtime.migration] Running upgrade 2591d77e9831 -> 8e80a26a31db, empty message
INFO  [alembic.runtime.migration] Running upgrade 8e80a26a31db -> 7dbf98566af7, empty message
INFO  [alembic.runtime.migration] Running upgrade 7dbf98566af7 -> 43df8de3a5f4, empty message
INFO  [alembic.runtime.migration] Running upgrade 43df8de3a5f4 -> d827694c7555, css templates
INFO  [alembic.runtime.migration] Running upgrade d827694c7555 -><PHONE_NUMBER>35, log more
INFO  [alembic.runtime.migration] Running upgrade<PHONE_NUMBER>35 -> 18e88e1cc004, making audit nullable
INFO  [alembic.runtime.migration] Running upgrade 18e88e1cc004 -> 836c0bf75904, cache_timeouts
INFO  [alembic.runtime.migration] Running upgrade 18e88e1cc004 -> a2d606a761d9, adding favstar model
INFO  [alembic.runtime.migration] Running upgrade a2d606a761d9, 836c0bf75904 -> d2424a248d63, empty message
INFO  [alembic.runtime.migration] Running upgrade d2424a248d63 -> 763d4b211ec9, fixing audit fk
INFO  [alembic.runtime.migration] Running upgrade d2424a248d63 -> 1d2ddd543133, log dt
INFO  [alembic.runtime.migration] Running upgrade 1d2ddd543133, 763d4b211ec9 -> fee7b758c130, empty message
INFO  [alembic.runtime.migration] Running upgrade fee7b758c130 -> 867bf4f117f9, Adding extra field to Database model
INFO  [alembic.runtime.migration] Running upgrade 867bf4f117f9 -> bb51420eaf83, add schema to table model
INFO  [alembic.runtime.migration] Running upgrade bb51420eaf83 -> b4456560d4f3, change_table_unique_constraint
INFO  [alembic.runtime.migration] Running upgrade b4456560d4f3 -> 4fa88fe24e94, owners_many_to_many
INFO  [alembic.runtime.migration] Running upgrade 4fa88fe24e94 -> c3a8f8611885, Materializing permission
INFO  [alembic.runtime.migration] Running upgrade c3a8f8611885 -> f0fbf6129e13, Adding verbose_name to tablecolumn
INFO  [alembic.runtime.migration] Running upgrade f0fbf6129e13 -> 956a063c52b3, adjusting key length
INFO  [alembic.runtime.migration] Running upgrade 956a063c52b3 -> 1226819ee0e3, Fix wrong constraint on table columns
WARNI [root] Could not find or drop constraint on `columns`
Loaded your LOCAL configuration at [/superset/superset_config.py]
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute
    cursor.execute(statement, parameters)
psycopg2.InternalError: current transaction is aborted, commands ignored until end of transaction block

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/bin/superset", line 15, in <module>
    manager.run()
  File "/usr/local/lib/python3.5/dist-packages/flask_script/__init__.py", line 417, in run
    result = self.handle(argv[0], argv[1:])
  File "/usr/local/lib/python3.5/dist-packages/flask_script/__init__.py", line 386, in handle
    res = handle(*args, **config)
  File "/usr/local/lib/python3.5/dist-packages/flask_script/commands.py", line 216, in __call__
    return self.run(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/flask_migrate/__init__.py", line 259, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "/usr/local/lib/python3.5/dist-packages/alembic/command.py", line 254, in upgrade
    script.run_env()
  File "/usr/local/lib/python3.5/dist-packages/alembic/script/base.py", line 427, in run_env
    util.load_python_file(self.dir, 'env.py')
  File "/usr/local/lib/python3.5/dist-packages/alembic/util/pyfiles.py", line 81, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/local/lib/python3.5/dist-packages/alembic/util/compat.py", line 83, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/local/lib/python3.5/dist-packages/superset/migrations/env.py", line 103, in <module>
    run_migrations_online()
  File "/usr/local/lib/python3.5/dist-packages/superset/migrations/env.py", line 96, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/usr/local/lib/python3.5/dist-packages/alembic/runtime/environment.py", line 836, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/local/lib/python3.5/dist-packages/alembic/runtime/migration.py", line 337, in run_migrations
    head_maintainer.update_to_step(step)
  File "/usr/local/lib/python3.5/dist-packages/alembic/runtime/migration.py", line 540, in update_to_step
    self._update_version(from_, to_)
  File "/usr/local/lib/python3.5/dist-packages/alembic/runtime/migration.py", line 500, in _update_version
    == literal_column("'%s'" % from_))
  File "/usr/local/lib/python3.5/dist-packages/alembic/ddl/impl.py", line 118, in _exec
    return conn.execute(construct, *multiparams, **params)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.InternalError: (psycopg2.InternalError) current transaction is aborted, commands ignored until end of transaction block
 [SQL: "UPDATE alembic_version SET version_num='1226819ee0e3' WHERE alembic_version.version_num = '956a063c52b3'"] (Background on this error at: http://sqlalche.me/e/2j85)

I assume per the above messages we can rule out Docker or Postgres version being the culprit and builds work fine on MySQL?  Not familiar yet with the TRAVIS CI build but going to get caught up on that.  I suppose my question is, would mySQL be the more "recommended" option for the Superset Metadata DB?

I agree @ahsanshah, there's definitely been some regression between 0.24 and upcoming 0.26 (master) that makes migrations oversensitive to exceptions. I have a PR in the makings for cleaning out any cruft out of the old migrations, will try to get it done asap. This of course doesn't address the oversensitivity issue, but makes it a non-issue, as there shouldn't be any warnings left to fail the migrations.

@ahsanshah, wrt to the recommended backend, just looking at CI logs it seems that mysql is the only backend out of sqlite, mysql and postgres that doesn't produce any warnings. So perhaps that's serves as some indication of stability. But going forward I think this should be seen as an isolated regression rather than an indication of postgres being deprecated.

Thank you.  Will retry build on MySQL for the time being.

I cannot reproduce, but can you try this patch? https://github.com/apache/incubator-superset/pull/5125

The problem here seems to be discrepancies betweenvrequirements.txt and setup.py, in this case the most recent stable version of flask-appbuilder (1.11.1) and what is defined in requirements.txt (1.10.0). I think it would be wise to have a CI test that relies only on the deps defined in setup.py, as that's what pip will ultimately be using.

Same problem here, with both postgres 9.6 and 10.0

@villebro indeed .
I use the flask-appbuilder (1.10.0) successfully.

Here's a quick fix https://github.com/apache/incubator-superset/pull/5133

Confirmed fix works.


Update Configure-AD-FS-Browser-WIA.md

Adjusting also the description so it can match the cmdlet's. How can we change the wiasupport.png file? I can share an example.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Oh. Right. You asked how to change the existing image. I presume you can edit the image from its current location:

https://github.com/MicrosoftDocs/windowsserverdocs/tree/master/WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA (directory)
https://github.com/MicrosoftDocs/windowsserverdocs/tree/master/WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.PNG

Maybe you should make the change in your current repository fork, to make it part of your current PR:

https://github.com/rotraves-microsoft/windowsserverdocs/blob/patch-7/WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.PNG

Notice the uppercase filename extension .PNG, which causes the image not to show here on GitHub, only showing properly on the docs.microsoft.com site. (This is a common image file issue in the entire MicrosoftDocs repository, since many images have been uploaded from Windows computers.)

@illfated , it seems that I don't have enough permissions to do it directly. Do you mind? How can I send the image to you?

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Got it. Available here: https://github.com/rotraves-microsoft/windowsserverdocs/blob/patch-7/WindowsServerDocs/identity/ad-fs/operations/media/wiasupport.PNG

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rotraves-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Image is also updated here: •	https://github.com/rotraves-microsoft/windowsserverdocs/blob/patch-7/WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.PNG

#sign-off

It looks like you're trying to change the casing in a folder or file name. This isn’t allowed. Either revert to the original casing or completely change the file name to enable sign-off.

interesting. That is different to what I have seen earlier, but I guess that script is under development.

Need any other interaction from my end?

Not that I know of. I presume your PR content is ready for final review & merge.

@rotraves-microsoft : Notice the following message I get when I remove & rebuild (clone) my GitHub fork from web to my Windows 10 computer:
"C:\Program Files\Git\bin\git.exe" clone -v --recurse-submodules --progress "https://github.com/illfated/windowsserverdocs" "C:/github/illfated/windowsserverdocs"
Cloning into 'C:/github/illfated/windowsserverdocs'...
POST git-upload-pack (475 bytes)
remote: Enumerating objects: 196757, done.
remote: Total 196757 (delta 0), reused 0 (delta 0), pack-reused 196757R
Receiving objects: 100% (196757/196757), 826.29 MiB | 1.08 MiB/s, done.
Resolving deltas: 100% (146029/146029), done.
Updating files: 100% (5995/5995), done.
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.PNG'
  'WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.png'
Done

Press Enter or Esc to close console...

Any chance that the file with uppercase extension (.PNG) is unneeded or not in use at the moment?

See also the master branch directory content:

https://github.com/MicrosoftDocs/windowsserverdocs/tree/master/WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA

That image is duplicated. I've added both with different extension because I was having some issues making it work.
--- Rodrigo Travessa ---
From: Trond B. Krokli<EMAIL_ADDRESS>Sent: Friday, December 18, 2020 08:14
To: MicrosoftDocs/windowsserverdocs<EMAIL_ADDRESS>Cc: Rodrigo Travessa<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windowsserverdocs] Update Configure-AD-FS-Browser-WIA.md (#5102)
@rotraves-microsofthttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frotraves-microsoft&data=04|01|Rodrigo.Travessa%40microsoft.com|174d36916fb04804b3a708d8a32cf0e5|72f988bf86f141af91ab2d7cd011db47|1|0|637438760714790942|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=H2k%2FyT1PiHe3%2BRsStgazZ24PTsROUTcsAq%2BrczPKqac%3D&reserved=0 : Notice the following message I get when I remove & rebuild (clone) my GitHub fork from web to my Windows 10 computer:
"C:\Program Files\Git\bin\git.exe" clone -v --recurse-submodules --progress "https://github.com/illfated/windowsserverdocs" "C:/github/illfated/windowsserverdocs"
Cloning into 'C:/github/illfated/windowsserverdocs'...
POST git-upload-pack (475 bytes)
remote: Enumerating objects: 196757, done.
remote: Total 196757 (delta 0), reused 0 (delta 0), pack-reused 196757R
Receiving objects: 100% (196757/196757), 826.29 MiB | 1.08 MiB/s, done.
Resolving deltas: 100% (146029/146029), done.
Updating files: 100% (5995/5995), done.
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:
'WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.PNG'
'WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.png'
Done
Press Enter or Esc to close console...
Any chance that the file with uppercase extension (.PNG) is unneeded or not in use at the moment?

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwindowsserverdocs%2Fpull%2F5102%23issuecomment-747938576&data=04|01|Rodrigo.Travessa%40microsoft.com|174d36916fb04804b3a708d8a32cf0e5|72f988bf86f141af91ab2d7cd011db47|1|0|637438760714800915|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=3smhMHEFOWsd2clX2DgftDgHY813T11q9QMqGUJS5ww%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAPSCJTIUIVTT7G7EMXGKVATSVMFOJANCNFSM4UUVFNAA&data=04|01|Rodrigo.Travessa%40microsoft.com|174d36916fb04804b3a708d8a32cf0e5|72f988bf86f141af91ab2d7cd011db47|1|0|637438760714800915|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=tg6ZGDeugXJxJSlkbuYVAUHdbXrdS9Ejj%2FmwVZKs7%2FM%3D&reserved=0.

OK, I see. So the files have to be like that.
@konstruktoid : Based on your ticket & conversion PR in Windows ITpro Docs, would you be able to look up these details, without taking too much of your time?

I can't really answer if the files have to be like that because the repo is kind of messy regarding duplicates, renames and forgotten files.
But regarding wiasupport it seems to have been corrected, since only wiasupport.png is used in the documentation and no wiasupport.PNG exists.
wiasupport.png does however exist in two different versions.
$ git grep -E 'wiasupport\.png|wiasupport\.PNG'
WindowsServerDocs/identity/ad-fs/operations/Configure-AD-FS-Browser-WIA.md:![WIA Support](../operations/media/Configure-AD-FS-Browser-WIA/wiasupport.png)
[tabd@VBYTABD-MAC:~/Git/tabd_local/Github/windowsserverdocs]$ find . -name 'wiasupport*' -exec sha1sum {} \;
236cf20ce690f50743b94314c8a2bff2f9c389df  ./WindowsServerDocs/identity/ad-fs/operations/media/wiasupport.png
b7ba9647a7e279d5fcaf5647e84c660d9a25ac4a  ./WindowsServerDocs/identity/ad-fs/operations/media/Configure-AD-FS-Browser-WIA/wiasupport.png

605 unused files were found,  see https://gist.github.com/konstruktoid/e3d8cb38b73a51936362a5255e2fcbac
Found using:
$ for img in $(find . -name '*\.PNG' -o -name '*\.png' | sed 's/.*\///g'); do if ! git grep -q "${img}"; then echo "${img}"; fi; done

Duplicate files:
$ find . -type f -name '*.png' -o -name '*.PNG' -exec sha1sum {} \; > /tmp/pngfiles && grep "$(sort /tmp/pngfiles | awk '{print $1}' | uniq -d)" /tmp/pngfiles
45388fc26694cdb6a234441d8f70bb2500c5fb7e  ./WindowsServerDocs/identity/ad-fs/development/media/Enabling-OpenId-Connect-with-AD-FS-2016/AD_FS_OpenID_8.PNG
45388fc26694cdb6a234441d8f70bb2500c5fb7e  ./WindowsServerDocs/identity/ad-fs/development/media/Custom-Id-Tokens-in-AD-FS/AD_FS_OpenID_1.PNG
e9f67d6ab6b0ce69357013fde6539603daba156a  ./WindowsServerDocs/identity/ad-fs/troubleshooting/media/ad-fs-tshoot-logging/ADFS_Audit_1.PNG
e9f67d6ab6b0ce69357013fde6539603daba156a  ./WindowsServerDocs/identity/ad-fs/technical-reference/media/Auditing-Enhancements-to-AD-FS-in-Windows-Server-2016/ADFS_Audit_1.PNG
613e22e82c183801b87ea718061b994a65f01d53  ./WindowsServerDocs/manage/windows-admin-center/media/launch-use-2.PNG
613e22e82c183801b87ea718061b994a65f01d53  ./WindowsServerDocs/manage/windows-admin-center/media/understand-extensions/solutions-ui.PNG
06d8c48bb955fb5c9439079b6693656c713d592a  ./WindowsServerDocs/get-started/media/front-page-video.PNG
06d8c48bb955fb5c9439079b6693656c713d592a  ./WindowsServerDocs/media/front-page-video.PNG

For refrence: https://github.com/MicrosoftDocs/windows-itpro-docs/pull/8829

Wow. Nice. That is quite a useful tool to find obsolete content. I will have to get back to this when I have finished cleaning up some mess I made in my own branches yesterday.


unable to install in centos

by cmake
Cmake error and want some requirement but requirement not satiesfied by downloading pkg
Please install it over centos

if you could not build it yourself, you may want to download prebuilt static binaries from:
https://github.com/tsl0922/ttyd/releases


TailwindCSS arbitrary values don't work

Is there any way to configure it?
I want margin-top: 65px,
so I wrote mt-[65px] but it's not working.
Code:
<main className="container mx-auto max-w-7xl px-6 flex-grow mt-[65px]">

But you're not using Tailwind Variants there 🤔

Thank to give me time talking, In NextUI, Is there any other way?


interface for zcl_logger->to enable attributes of customer exception class to be logged

On the system where I'm using ABAP-Logger there is a customer exception class which carries a message table (bapiret2_t). When unexpected errors in a BAPI or similar occur, an instance of a exception class is thrown and the message table is passed as a parameter. I think other SAP customers would also have a similar exception class.
Now obviously zcl_logger can't be dependant on a customer exception class. But I was thinking a Z-BADI definition would be nice.
Current I've implemented an implizit enhancement (I want ABAP-Logger support without conflicts) at the end of the add method. But I feel a Z-BADI would be better. I don't know if ABAP Git can carry a BADI Definition though.
ENHANCEMENT 2 zxxx_enh_logger.
  IF msg_type->type_kind <> cl_abap_typedescr=>typekind_oref.
    RETURN.
  ENDIF.
  DATA customer_error_instance TYPE REF TO zcx_my_abstract_exception_class.
  IF obj_to_log IS INSTANCE OF zcx_my_abstract_exception_class.
    customer_error_instance ?= obj_to_log.
    DATA(messages) = customer_error_instance->get_messages_recursively( ). "customer method!!!
    IF messages IS NOT INITIAL.
      me->add(
        obj_to_log    = messages
        context       = context
        callback_form = callback_form
        callback_prog = callback_prog
        callback_fm   = callback_fm
        type          = type
        importance    = importance ).
    ENDIF.
  ENDIF.
ENDENHANCEMENT.

What are your thoughts?

Usually, I log the bapiret2 table after the call and I raise an exception based on the first error message.
This could benefit from the proposition I made in #67 where we could log an object that implements a zif_loggable_object  interface in one call.

Hi, I've read #67 and it seems to be about much more than an interface zif_loggable_object.
But I like the idea of zif_loggable_object however I feel that there is no need for a new public method in zif_logger. I think in the add method, it scould just detect that the instance is `zif_loggable_object' and get the message table and log it. Once #84 is completed, I'd be happy to submit a pull request.
But I don't feel upto rebuilding the internals of zcl_logger just yet as suggested in #67 .

May I make a pull request for an implmentation for zif_loggable_object?

Sure. I agree that it's cleaner to detect zif_loggable_object in the add() method.

I'll try to submit pull request in the next couple of weeks for this...obviously including unit tests

can we close this issue? I think its solved...


[Hugo] Including Taxonomies

We could think about using user-defined taxonomies which is supported by Hugo: https://gohugo.io/content-management/taxonomies/ as a good practice as we move on with this project.
Example:

Absolutely makes sense - but we need to make sure it doesn't get a complete mess of similar tags (can I call them tags? ;-)).
Would there be some kind of "picklist"?

Fair enough, that's obviously a very good point, because it has some impact on the review process. As I'm still somewhat inexperienced in using Hugo, I can only think of building a tool like in this repo https://github.com/lpar/hugoutil that would help us out with the tag/categories/... management.

We probably need to add tags here and there, but the new layout much more richly supports Taxonomies now.
Let me know if this looks closeable with the new tools available to us.  😄

Looks very much like closing this issue. Great job Jeremy!


Not getting correct results

I just installed this module and it's exactly what I need. However, the results it returns don't match the results from a regular Google search.
I am doing a search for "wayfair red sofa". If I do this search on Google.com, I get a very long list of red sofas.
https://www.google.com/search?q=wayfair red sofa&tbm=isch&hl=en&tbs&sa=X&ved=0CAEQpwVqFwoTCJjUttDZ2v0CFQAAAAAdAAAAABAD&biw=1477&bih=924
If I use the CX code from the Google Developer console...

And embed this in my page and search for "wayfair red sofa" I also get a list of red sofas.
However, when I call your API with the following parameters...
search_params = {
    'q': 'wayfair red sofa',
    'num': 10,
    'fileType': 'jpg|gif|png',
    'rights': 'cc_publicdomain|cc_attribute|cc_sharealike|cc_noncommercial|cc_nonderived',
    'safe': 'safeUndefined', ##
    'imgType': 'photo', ##
    'imgSize': 'medium', ##
    'imgDominantColor': 'imgDominantColorUndefined', ##
    'imgColorType': 'color' ##
}

# this will only search for images:
gis.search(search_params=search_params)
results = gis.results()

I don't get any red sofas. It's really odd. Surely your call should get pretty much the same results as if I was typing the query direct into Google.com.
Am I doing something wrong?

I also noticed a discrepancy between Google Images in my browser and results from this library. The quality of the library results tends to be worse.
    search_params = {
        "q": "manzana",
        "num": 5,  # Number of images to retrieve (in this case, 1)
        "safe": "off",  # Set the safe search level (optional)
    }
    gis.search(search_params=search_params)

I get these images: ['https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Manzana.svg/2048px-Manzana.svg.png', 'https://manzanaproductsco.com/wp-content/uploads/2017/09/apple-pouches-slide1-rev.png', 'https://images.heb.com/is/image/HEBGrocery/000849586-1', 'https://cdn.shopify.com/s/files/1/0608/4424/5227/products/5120201831.jpg?v=1637191548', 'https://manzanaproductsco.com/wp-content/uploads/2018/07/manzana-cluster.png']. 4/5 are of apple JUICE. The results on Google Images seem much better.
Thank you! Would appreciate any tips on how to get better/more accurate results.

this doesn't appear to be anything to do with the library but Google's own Search API and the differences in what end users see.


Added a Jupyter notebook to upload a dataset example.

It's not mentioned anywhere that a user will need to have a AWS IAM account with write access to sm-external-export bucket.

@intsco do you think this branch is good to be merged?


Default nonetype event excerpt to blank string

To prevent "None" from printing on Event index page and event page

Merge https://github.com/IATI/preview-website/pull/163 first.

Rebuilding for the failed test but we need to scale back because unreliable tests are as bad as no tests.

Merge https://github.com/IATI/preview-website/pull/164 first


Does it support multiple pjax containers?

I have filter on page, and when filter was change i  execute
var url = generateUrlByFilter...(); //
$.pjax({
            url : url || '/',
            container : '#main-content',
            fragment  : '#main-content',
            timeout: 5000
        });

But on the same page i have another pjax, for show full post in popup, and when i use both pjax requests, back and forward doesn't work correctly.
$(document).pjax('.mozaic-holder .block', '#pjax-container', {timeout:5000});

I confirm this behavior. The fix is to replace
var container = $(state.container)
    if (container.length) {
      var direction, contents = cacheMapping[state.id]

with
var container = $(pjax.state.container)
    if (container.length) {
      var direction, contents = cacheMapping[state.id]

Not sure how correct it is though.

Thanks @samdark, we'll look into it.

In order to support multiple pjax containers on one page need to change the pages cache management.
It stores wrong contents when the previous state object and the new state object have different containers.
There are two fragments which need to be modified:
    if (options.history && (options.push && !options.replace)) {
		// Cache current container element before replacing it
		cachePush(pjax.state.id, context.clone().contents())

		window.history.pushState(null, "", stripPjaxParam(options.requestUrl))
    }

and
	if (pjax.state) {
		// Since state ids always increase, we can deduce the history
		// direction from the previous state.
		direction = pjax.state.id < state.id ? 'forward' : 'back'

		// Cache current container before replacement and inform the
		// cache which direction the history shifted.
		cachePop(direction, pjax.state.id, container.clone().contents())
	}

I propose to make the following small changes:
	if (options.history && (options.push && !options.replace)) {
		// Cache current container element before replacing it
		var previousContext = findContainerFor(pjax.state.container)
		cachePush(pjax.state.id, previousContext.clone().contents())

		window.history.pushState(null, "", stripPjaxParam(options.requestUrl))
	}

and
	if (pjax.state) {
		// Since state ids always increase, we can deduce the history
		// direction from the previous state.
		direction = pjax.state.id < state.id ? 'forward' : 'back'

		// Cache current container before replacement and inform the
		// cache which direction the history shifted.
		var previousContainer = $(previousState.container)
		cachePop(direction, pjax.state.id, previousContainer.clone().contents())
	}

@akovalkov Interesting; thanks for the suggestion.

$(document).pjax('.item-link', '.pjax', {fragment: '.pjax'});
$('.pjax').on('pjax:success', function () {
    $.pjax({
        url: window.location.href,
        container: '.box-mnu',
        fragment: '.box-mnu'
    });
});

@agragregra Is that adding an additional request if you call $.pjax again after success?

@agragregra I have found that I need to add push: false to second pjax call, otherwise current url is pushing twice to history and I must press "Back" browser button twice to return to the previous page.
$(document).pjax('.pjax-link', '.first-container', {fragment: '.first-container'});
$('.pjax').on('pjax:success', function () {
    $.pjax({
        url: window.location.href,
        container: '.second-container',
        fragment: '.second-container',
        push: false
    });
});

But it's still a workaround.

two years, but problem still exists.


Add SonarQube Analysis to code

Add featured Github Action, every time make a push to master, run the new analysis.

Need add the SONAR_TOKEN secret to the proyect.

Oh! Thanks! I just to configure SonarCloud to the voidcosmos organization account. I'm going to test the new workflow for sonarQube!


Email Spam Detection using Python and Machine Learning

Topic Suggestion
Email Spam Detection using Python and Machine Learning.
Proposed article introduction
Technically, a spam can be defined as an electronic text that is attributed with two conditions: if the receiver’s individual identification and context are not pertinent since the text is equally related to several other prospective receivers, and if the receiver has not bestowed valid willing, explicit and flexible permission for the message transmission. Spam, as incorporated in electronic mail, means unsolicited bulk email. The term unsolicited implies that the receiver has not bestowed valid consent for conveyance of the message. On the other hand, the term bulk implies that the sent information is encompassed within a large message collection. These collections have substantively similar content. For a message to be termed as spam, it has to be both unsolicited and bulk.
Spam electronic mails are mainly detected using spam filters. These filters identify the unsolicited and irrelevant mails, consequently preventing them from entering the main inboxes. Spam cleaners inspect trials for receiver deception and differentiate addresses to the blocked lists of familiar spammers to remove those that match by default. The internet service providers (ISPs) incorporate spam filters to ascertain they are not dispensing unsolicited messages. Medium-sized enterprises also ensure they employ spam cleaners to safeguard their workers and network grids. Spam filtering is essential as it prevents the destruction of documents by infected mails or phishing attempts.
Email spam detection can also be performed using python and machine learning. Python is a top-level, versatile programming language employed in various projects due to its immense coding benefits. The spam detection process using python employs a sequence of procedures such as loading of the dependencies, data, visualization and train-assessment splitting. Machine learning basically implies feeding the system with examples of unsolicited and permitted texts, and letting it discover the necessary trends for identification of both categories. In this essay, a comprehensive analysis of how python and machine learning is employed in spam data detection is performed.
Key takeaways
Upon completion of this article, the reader should be able to:
•	Define spam and email spam detection
•	Describe some spam filtering techniques
•	Describe the spam detection process using python and machine learning
References
n/a

Thank you for submitting your topic. @amchilos01
After some careful consideration, it struck us that this topic may be a bit over-saturated throughout other blog sites and official documentation.
We believe this is the best way for students to build a great portfolio (for potential employers) is by building what does not exist and what can provide the most value.
Please feel free to suggest an alternate topic to explore. 🚀


Use pyformat to unify style

[ ] Use yapf to unify style

Applied:
yapf -r -i artifacts tests/

Using chromium style now. Closing issue.


lsp.server setting gets remove from .config/micro/settings.json

When I exit micro it re-writes the setting.json file and removes the lsp.server value.
I am running micro master and micro-plugin-lsp master.
Removing all other plugins did not help.

Thanks for the feedback. I also have the issue from time to time and I am not quite sure how to fix it at this point. It appears to be related to https://github.com/zyedidia/micro/issues/2132

I created a PR that should circumvent the issue by defining it outside the settings.json (in an environment variable). Can you check if this works for you? It's in the 4-settings-fallback branch.

Yes, the MICRO_LSP environment variable works well form me. It also is a workaround for another issue I have where micro-plugin-lsp loads all configured language servers, irrespective of file type.

only "lsp.server" seems to be overwritten though - other invalid keys (for example, I made backups called "lllllsp.server" and such) never get deleted.

@phil294 - can you check if the issue persists for you with the changes in the branch bugfix/4-settings-lost ?
Thanks!

jip, works now!


Request for Conversion of Hextra to WordPress Theme

Hi there,
I hope this message finds you well. I'm reaching out because I'm interested in hiring someone to convert the Hextra theme into a fully functional WordPress theme. I've been impressed by the design and features of the Hextra theme and believe it would be a great fit for my WordPress website.
If you have experience with theme conversion and are confident in your ability to deliver a high-quality WordPress theme based on Hextra, I'd love to discuss this opportunity further. Please let me know your availability and rates for this gig.
Looking forward to hearing from you soon.
Best regards,
Hari

Hi Hari,
thank you for reaching out and your interest in converting the Hextra theme for WordPress.
GitHub issues are meant for development purposes like reporting bugs or suggesting improvements.
For hiring requests, I recommend using platforms designed for such tasks. those sites can connect you with professionals skilled in WordPress.
Best of luck with your project


single apostrophe ( ' ) not working..

when i press " ' " it prints " [ ". how can i fix this? i've an IT keyboard layout

On version 0.8.1 on linux 64 bit this problem remains. I have a spanish keyboard.
I put this line user.behavior:
[:editor :lt.objs.editor/autoclose-brackets  ]
but doesn't change anything.

@awage that's weird. I also have a spanish keyboard with a Ubuntu 14.04 on a v0.8.1 Lighttable and the apostrophe works without any problem. Did you change something in your LT?

Nop. I work on Debian Jessie and I execute the program directly from the downloaded folder. I discovered a workaround: "Windows key + apostrophe" display the apostrophe. So it is not a big issue.


WIP: v3

Work in progress on v3 spec https://github.com/personnummer/meta/issues/15

Mark the PR as a draft if it's not ready for review! ;)


Could not compile due to errors

On my MacBook I have Rust installed already
$ rustup check
stable-x86_64-apple-darwin - Up to date : 1.78.0 (9b00956e5 2024-04-29)
nightly-x86_64-apple-darwin - Update available : 1.80.0-nightly (032af18af 2024-06-02) -> 1.80.0-nightly (7c52d
2db6 2024-06-03)
rustup - Up to date : 1.27.1

$ rustup toolchain list
stable-x86_64-apple-darwin (default)
nightly-x86_64-apple-darwin

and did installed cargo-lambda via brew;
$ brew info cargo-lambda
==> cargo-lambda/cargo-lambda/cargo-lambda: stable 1.2.2.x86_64, HEAD
Cargo Lambda is a Cargo subcommand to help you work with AWS Lambda.
https://www.cargo-lambda.info
Installed
/usr/local/Cellar/cargo-lambda/1.2.2.x86_64 (4 files, 28.3MB) *
  Built from source on 2024-06-04 at 17:17:28
From: https://github.com/cargo-lambda/homebrew-cargo-lambda/blob/HEAD/cargo-lambda.rb
License: MIT
==> Dependencies
Required: zig ✔
==> Options
--HEAD
        Install HEAD version

I then followed the instructions at Getting Started page and ran cargo lambda new aws_lambda-rust-contact_form --http. The project was scaffolded.
But when I run cargo lambda watch I get the following output;
$ cargo lambda watch
 INFO starting lambda function function="_" manifest="Cargo.toml" cmd=Exec { prog: "cargo", args: ["run", "--ma
nifest-path", "Cargo.toml", "--color", "auto"] }
   Compiling pin-project-lite v0.2.14
   Compiling itoa v1.0.11
   Compiling futures-core v0.3.30
   Compiling once_cell v1.19.0
   Compiling fnv v1.0.7
   Compiling futures-sink v0.3.30
   Compiling memchr v2.7.2
   Compiling futures-io v0.3.30
   Compiling futures-task v0.3.30
   Compiling pin-utils v0.1.0
   Compiling ryu v1.0.18
   Compiling proc-macro2 v1.0.85
   Compiling libc v0.2.155
   Compiling log v0.4.21
   Compiling slab v0.4.9
   Compiling regex-syntax v0.6.29
   Compiling cfg-if v1.0.0
   Compiling try-lock v0.2.5
   Compiling percent-encoding v2.3.1
   Compiling futures-channel v0.3.30
error[E0554]: `#![feature]` may not be used on the stable release channel
  --> /Users/ozan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.85/src/lib.rs:90:59
   |
90 | #![cfg_attr(any(proc_macro_span, super_unstable), feature(proc_macro_span))]
   |                                                           ^^^^^^^^^^^^^^^

   Compiling regex-syntax v0.8.3
   Compiling want v0.3.1
   Compiling httparse v1.8.0
   Compiling tower-service v0.3.2
   Compiling tinyvec_macros v0.1.1
   Compiling tracing-core v0.1.32
   Compiling form_urlencoded v1.2.1
   Compiling lazy_static v1.4.0
   Compiling tower-layer v0.3.2
   Compiling smallvec v1.13.2
   Compiling sharded-slab v0.1.7
   Compiling tinyvec v1.6.0
   Compiling thread_local v1.1.8
   Compiling base64 v0.22.1
error: expected one of `:`, `;`, `=`, or `where`, found `<`
  --> /Users/ozan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sharded-slab-0.1.7/src/tid.rs:32:1
   |
32 | / lazy_static! {
33 | |     static ref REGISTRY: Registry = Registry {
34 | |         next: AtomicUsize::new(0),
35 | |         free: Mutex::new(VecDeque::new()),
36 | |     };
37 | | }
   | | ^
   | | |
   | | expected one of `:`, `;`, `=`, or `where`
   | |_while parsing this item list starting here
   |   the item list ends here
   |
   = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the ma

   Compiling unicode-bidi v0.3.15
   Compiling encoding_rs v0.8.34
error[E0046]: not all trait items implemented, missing: `Target`, `deref`
  --> /Users/ozan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sharded-slab-0.1.7/src/tid.rs:32:1
   |
32 | / lazy_static! {
33 | |     static ref REGISTRY: Registry = Registry {
34 | |         next: AtomicUsize::new(0),
35 | |         free: Mutex::new(VecDeque::new()),
36 | |     };
37 | | }
   | |_^ missing `Target`, `deref` in implementation
   |
   = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the ma
   = help: implement the missing item: `type Target = /* Type */;`
   = help: implement the missing item: `fn deref(&self) -> &<Self as Deref>::Target { todo!() }`

   Compiling base64 v0.21.7
For more information about this error, try `rustc --explain E0554`.
error: could not compile `proc-macro2` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error[E0609]: no field `free` on type `REGISTRY`
   --> /Users/ozan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sharded-slab-0.1.7/src/tid.rs:150:14
    |
150 |             .free
    |              ^^^^ unknown field
    |
    = note: available field is: `__private_field`

error[E0609]: no field `next` on type `REGISTRY`
   --> /Users/ozan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sharded-slab-0.1.7/src/tid.rs:161:35
    |
161 |                 let id = REGISTRY.next.fetch_add(1, Ordering::AcqRel);
    |                                   ^^^^ unknown field
    |
    = note: available field is: `__private_field`

error[E0609]: no field `free` on type `REGISTRY`
   --> /Users/ozan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sharded-slab-0.1.7/src/tid.rs:191:42
    |
191 |             let mut free_list = REGISTRY.free.lock().unwrap_or_else(PoisonError::into_inner);
    |                                          ^^^^ unknown field
    |
    = note: available field is: `__private_field`

Some errors have detailed explanations: E0046, E0609.
For more information about an error, try `rustc --explain E0046`.
error: could not compile `sharded-slab` (lib) due to 5 previous errors
ERROR command exited code=101

^C INFO terminating lambda scheduler
 INFO terminating lambda function function="_"

In a nutshell I can't build and run cargo-lambda scaffolded project.
Edit: Here's the Cargo.toml;
[package]
name = "aws_lambda-rust-contact_form"
version = "0.1.0"
edition = "2021"

# Starting in Rust 1.62 you can use `cargo add` to add dependencies
# to your project.
#
# If you're using an older Rust version,
# download cargo-edit(https://github.com/killercup/cargo-edit#installation)
# to install the `add` subcommand.
#
# Running `cargo add DEPENDENCY_NAME` will
# add the latest version of a dependency to the list,
# and it will keep the alphabetic ordering for you.

[dependencies]
lambda_http = "0.11.1"

tokio = { version = "1", features = ["macros"] }

I think the issue stems from "sharded-slab".

The issue was due to corrupted cargo registry. Deleting $HOME/.cargo/registry and re-building the app did the trick. Sorry for the possible inconvenience.


Update MailjetServlet.java

Add region tags for documentation.

LGTM, but this isn't a merge request.


Menu: first key press does not render focus styles

Bug Report
Steps

Have a menu with three items,
click on the third item,
hit left arrow,
hit left arrow again.

Expected Result

Second item selected and highlighted after step 3.
First item selected and highlighted after step 4.

Actual Result
After the step 3, second item is correctly selected, but it is not highlighted 💣

Version
Current master, commit 14b860ec.

Closed as duplicate of https://github.com/stardust-ui/react/issues/434, since it is the more library-related issue than Menucomponent itself.


Curse download no longer works

The curse download no longer works. I've considered compiling myself but I can't get a 1.7.10 forge workspace to work anymore and don't know enough about java development to fix the build.gradle file. Would it be possible to upload the latest version of both IvToolkit and Psychedelicraft to somewhere like CurseForge ?

Commenting for visibility.

It's been taken down because Curse does not accept drug-related content any longer. Unfortunately, that means it cannot be used as a host, and I don't have a convenient alternative to host at.

It's been taken down because Curse does not accept drug-related content any longer. Unfortunately, that means it cannot be used as a host, and I don't have a convenient alternative to host at.

Why not add the latest version jar to releases here?  I've seen number of drug mods on curse that have stuck around for years, unfair.
Last resort solution is to download psychedelicraft related modpack from technic or somewhere, and use the jar there. Latest I've found was 1.5.2 but i think it's an older version.

It's been taken down because Curse does not accept drug-related content any longer. Unfortunately, that means it cannot be used as a host, and I don't have a convenient alternative to host at.

You could host on Minecraft Forum or Planet Minecraft

It's been taken down because Curse does not accept drug-related content any longer. Unfortunately, that means it cannot be used as a host, and I don't have a convenient alternative to host at.

Why not add the latest version jar to releases here?  I've seen number of drug mods on curse that have stuck around for years, unfair. Last resort solution is to download psychedelicraft related modpack from technic or somewhere, and use the jar there. Latest I've found was Psychedelicraft-1.5.2 but i think it's an older version, but it contains everything from alcohol to newer effects so good enough.

Seconding this. This mod is a part of modded minecraft's history, the puritanical ideals of some platform shouldn't erase it from the internet. I'd love a jar release on this github page as well.

It's been taken down because Curse does not accept drug-related content any longer. Unfortunately, that means it cannot be used as a host, and I don't have a convenient alternative to host at.
please upload latest jar here then

The curse download no longer works. I've considered compiling myself but I can't get a 1.7.10 forge workspace to work anymore and don't know enough about java development to fix the build.gradle file. Would it be possible to upload the latest version of both IvToolkit and Psychedelicraft to somewhere like CurseForge ?

You need older version of Eclipse with support of older versions of gradle (try some version released before end of support for java 8) and java 8 dev kit

It's been taken down because Curse does not accept drug-related content any longer. Unfortunately, that means it cannot be used as a host, and I don't have a convenient alternative to host at.

Try use "modrinth.com". A lot of popular mods switched from curse to modrinth

I have placed a build of version 1.5.2 (obtained from curseforge via archive.org) as a release on my fork. It's about the best I can do without being able to build for versions that old.
https://github.com/Sollace/Psychedelicraft/releases/tag/1.5.2


Refactor vim.fn.input to vim.ui.input to support other entry mechanisms

At the moment this is complex to implement because of the async problems it creates. Keep an eye on https://github.com/neovim/neovim/issues/19624.

As an example of how to handle: https://github.com/ibhagwan/fzf-lua/commit/6ee73fdf2a79bbd74ec56d980262e29993b46f2b

Look at this to see if it helps: https://github.com/nvim-neotest/nvim-nio/tree/master?tab=readme-ov-file#nioui
Or this: https://gist.github.com/vurentjie/566a7158038ea6e044a4321c63cacde0

Not needed, no immediate requirement for this and in fact the state-of-the-art uses things like noice to override even vim.fn.input(). Closing.


Project change for the Trupeshkumar Patel,

Added 2 members on this as forgot to mention names in pull request name.
Patel Manthan Maheshkumar
Viradiya Neel


Italian translation for 0.4.0

Codecov Report

Merging #136 into master will increase coverage by 2.29%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #136      +/-   ##
==========================================
+ Coverage   70.35%   72.65%   +2.29%
==========================================
  Files          21       21
  Lines        1309     1309
  Branches      235      235
==========================================
+ Hits          921      951      +30
+ Misses        288      259      -29
+ Partials      100       99       -1

Impacted Files
Coverage Δ

lib/inputstreamhelper.py
64.24% <0%> (+0.29%)
:arrow_up:

test/kodi_six/utils.py
56.52% <0%> (+26.08%)
:arrow_up:

test/kodi_six/xbmcvfs.py
100% <0%> (+44.44%)
:arrow_up:

test/kodi_six/xbmcaddon.py
100% <0%> (+44.44%)
:arrow_up:

test/kodi_six/xbmcgui.py
100% <0%> (+44.44%)
:arrow_up:

test/kodi_six/xbmc.py
100% <0%> (+44.44%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks!


Expected behaviour? Fixed model version in OSF links?

https://github.com/neuropoly/axondeepseg/blob/30db780dd3479abe611bc69258ec180b14e2486b/AxonDeepSeg/models/download_model.py#L15-L16
@mariehbourget can you confirm that we do in fact want to have the fixed versions in the links above? i.e. even though we update the models on OSF, we need to manually update this in the code was well. If so, is this documented anywhere on OSF and/or GitHub?

That is a good question. It is in fact documented on wiki here.
However, the version does not appear in the Readme file, as it is suggested in the wiki. It only appears in the last line of the template for the Readme here which uses _vX for versioning at the end of the name of the model.
Since we now use the versioning of OSF and the same name (without _vX) for any version of the model, I don't see why we would have to have fixed versions in the links above. When installing ADS, we want users to download the latest version of the models and avoid errors with manual updates of the code.
I would suggest to remove the fixed versions from download_model.py and to update the wiki accordingly.
@mathieuboudreau, do you see other reasons for keeping the fixed versions? If not, do you want me to open a new PR for this correction or to make the correction in the PR #373 ?

Thanks @mariehbourget ! I think the reason why maybe we've kept the fixed versions, is that it makes it easier to test a new model in a branch (upload it to OSF and change the version number in your branch, this way master doesn't get affected). So if we don't have the fixed versions, it's likely that we could break the software by simply uploading a bad model. But on the other hand, we might forget to update the version number after uploading a new model too, so...
Really not sure what the best solution might be here, both have benefits and faults. I think clear documentation and workflows are needed for either one.

Good point. The question is: do we plan on uploading models on OSF for testing purposes only?
I kind of thought that we would test locally and only replace the default models folder on OSF with a new, better, tested and approved version.
Like you, I'm not sure what the best solution is.
However in both cases, changing the version on OSF can be tricky for users if they started an experiment with one version, update ADS for whatever reasons, and then end up with a new version for the remaining of their experiment.

Since we now use the versioning of OSF and the same name (without _vX) for any version of the model, I don't see why we would have to have fixed versions in the links above. When installing ADS, we want users to download the latest version of the models and avoid errors with manual updates of the code.

in addition to Mathieu's argument https://github.com/neuropoly/axondeepseg/issues/372#issuecomment-717373803, wasn't the purpose to also ensure retro-compatibility? E.g.: If a user wants to re-install an older version of ADS(*), if we don't specify the version of the model, the latest will be downloaded, which will produce different results than results that used to be produced with that old version of ADS.
(*): e.g. because they did processing 6 months ago, and now the reviewer of the submitted article is asking for an additional processing-- or simply to ensure reproducibility of published results
Also, let's keep in mind that ultimately, once ADS will be calling ivadomed, models will be hosted on GH and will follow versioning there. Our current approach (in SCT, ivadomed, shimming-toolbox) is to specify the link to the release artifact on the data manager (here: download_model), so yes: it requires diligence and proper documentation. But so far, things are going smoothly with that approach, and I do see more pros than cons.

Thanks @jcohenadad, those are strong pros. We should then keep the version in download_models which is already documented in wiki.
I will still make corrections to the wiki to remove point 2, and to the template to remove the _vX part in the filename, those instructions are not up-to-date since the version is no longer indicated in the filename.

We decided to keep the fixed versions in download_models.py
I made the corrections mentioned in the comment above in the wiki, so I'm closing this issue.


AnimationTree in inherited scene does not work

Godot version:

V3.2.2.stable.official (opened via steam)
OS/device including version:

GLES2. Have tried this on GLES3, too.
Issue description:

When I played my project that contains a scene that inherits from another scene which has an animation tree, that animation tree will not play any animation when called.
Steps to reproduce:

Create new scene (let it be called Base)
Add AnimationPlayer and AnimationTree and fill the appropriate details (such as adding a new AnimationTreeStateMachine to its Tree Root).
Add another Node for the AnimationPlayer to interact with.
Attach script to AnimationTree to call for its state change.
Create New Inherited Scene from Base (let it be called Inherited)
Add button to have AnimationTree change state when pressed.
Play Scene (Inherited)

Minimal reproduction project:

inherited_animtree.zip
Note: There is no Main Scene; Base and/or Inherited have to opened from the FileSystem dock.
Note2: I have added print statements in AnimationTree script to show that the function is called, but doesn't change state.

Related to #34394?

^ I don't think so, as I'm dealing with 2D animation, while #34394 deals with 3D models. That said, I tried solutions provided there.
So far, I have:

Saved the AnimationPlayer in Base as .anim and then load it into the AnimatedPlayer in Inherited. The animation still does not work.

I've tested in what animation state the machine was in before and after it supposed to change state. Using print(state_machine.get_current_node()), I have it made the prints and it printed out nothing, implying that it isn't in any state.

I've just tested whether the problem lies within AnimationPlayer or AnimationTree. As the result, I recoded the change of animation to be directly called in the AnimationPlayer rather than the AnimationTree. The animation works.
For reference, attached below is another minimal reproduction project that excludes AnimationTree from the system.
inherited_animplayer.zip

After doing more testing, I can conclude that the problem lies, specifically, within AnimationTree's playback. Not only state_machine.get_current_node() returns blank, state_machine.is_playing() returns false even when the current animation is Idle, but playing in a loop.
Okay, now I have reset Inherited's playback parameter and the buttons now works! Should I considered this problem solved, or let the developers know that AnimationPlayback should automatically reset every time the Base is edited?

I can second this, although I'm unable to find any workaround. When starting the scene, the State Machine is not null, but it is unable to start or travel to any node. Looking at the AnimationTree node during runtime reveals that the playback parameter is empty. Clearing and setting that parameter again in the editor or at runtime does not update the value. This happens even in the node's original scene (not an instantiated version.)

I was able to get it working by setting a timer to run the State Machine initialization code 0.5 seconds after the scene had been readied. Any earlier than 0.35~ seconds and it would not work. This is probably not the exact same bug as @mechPenSketch had, but I don't think it's different enough to warrant another report. I posted the exact code I needed below, including resetting the AnimationNodeStateMachinePlayback parameter.
func _on_Timer_timeout() -> void:
	animTree["parameters/playback"] = AnimationNodeStateMachinePlayback.new()
	stateMachine = animTree["parameters/playback"]
	stateMachine.start("Standing_Idle")```


Sourcemaps are incorrect

Using stylex, the chrome devtool sourcemaps are out of sync and debugger statements show the incorrect line.
See https://github.com/sharifmacky/source-map-bug
import {create, props} from "@stylexjs/stylex" <========  if this line is commented Chrome debugger works fine

const Container = (props) => {
    const {style, children, other, stuff, that, is, not, here} = props; <==== this line also has an effect
    debugger <=====================  Chrome debugger doesn't show this as the active line
    return <div>{children}</div>
}

export default function App() {
    return (   <=====================  Chrome debugger highlights this line
        <Container/>
    );
}

I raised the issue with Vite and they responded that the plugin changes the source but doesn't return a sourcemap.
See https://github.com/vitejs/vite/issues/15972

@HorusGoul hey, this breaks one of the core vite features: DX. This should be the first priority as currently, it makes debugging not possible. Source maps are really important and are used for a lot of things like Sentry reporting. Unfortunately, this plugin breaks everything.
As I can see here it is actually not hard to fix, but I wonder if the rewrite can break something else so maybe you have a better understanding of how it can be tested there to avoid regressions.
And it is really easy to reproduce:
import stylex from '@stylexjs/stylex'

const styles = stylex.create({
    root: {
        color: 'red',
    },
})
// comment
console.log('highlight me in devtools')
//
console.log()


Ensure class constructors work when passed empty strings or nothing

Proper handling for subreddits which don't have any preexisting toolbox configuration / usernotes

#63 fixes this for usernotes but how to handle this for sub config is an open question since we don't have handling for default values in a centralized location in Toolbox (and also since the sub config class here is not very fleshed out yet).


support for autocreate schema

In case of Cassandra, if column family are not defined within keyspaces in cassandra.yaml.
Should we allow  autocreate schema option upon defining and persisting an entity with new keyspace and columnFamily?
Ofcourse with a check that it should not exist earlier.
Vivek

this is already there for HBase and MongoDB. Targeted for Cassandra in release 2.0.5


Curl depdencies (may be) missing for some with Develop without docker section

FYI on Ubuntu 20.04 (fairly fresh install) following Dev w/o Docker I run into this error:
Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)  CMake Error at CMakeLists.txt:477 (message):   CMAKE_USE_SYSTEM_CURL is ON but a curl is not found!
Seems base CURL install is missing some dependencies - I resolved it with:
sudo apt install libssl-dev libcurl4-openssl-dev

Ah yes, I think we need to install libssl-dev alongside libcurl4-openssl-dev in the dev:install-cpp-dependencies script for Debian


Rewrite of SteamAuth

It seems that developers of SteamAuth more or less abandoned the project, leaving issues such as https://github.com/JustArchi/ArchiSteamFarm/issues/218 opened forever, therefore it's final time to rewrite that module into another ASF built-in and drop SteamAuth completely.
Goals of new implementation:

Major integration with ASF/ArchiBoT components, especially ArchiWebHandler. It includes support for SteamParental already, which means that if we use already authenticated and unlocked session of ArchiWebHandler, https://github.com/JustArchi/ArchiSteamFarm/issues/218 will disappear.
Making use of more efficient and robust WebBrowser instead of low-level HttpWebRequest used by SteamAuth. ArchiWebHandler is doing it already since first version.
Smart detection what we're actually accepting and not blindly accepting all: https://github.com/JustArchi/ArchiSteamFarm/issues/161
New authenticator should be able to generate confirmations, accept and deny them, and generate temporary tokens. It will drop support for linking itself as new authenticator, and delinking itself.

Especially last point is important, as it means that ASF 2FA (only) will no longer be possible. I thought about that and in the end decided that 2FA is too important for ASF to have "sole" control over it, and it should ALWAYS be backed up by more high-level solution, such as WinAuth or SDA. Even if 2FA is used on alt account, I want to ensure that user has a backup of his authenticator somewhere, and doesn't rely on ASF only - even if he has no use of it.
This is because ASF 2FA is one gigantic hack that could potentially stop working at any time, and while it should always be possible to delink it using revocation code - I prefer to accept already valid data which comes from one of the supported authenticators, instead of handling linking/delinking logic and steam fuckups (if any).
This update is breaking change, but that's because of the conversion from _SteamGuardAcount used up to this point to _MobileAuthenticator I'm writing right now. Conversion "back" will not be possible, and converter will also disappear in a month or two since first release of a new version. That shouldn't be a problem for majority of the people using auto-updates and keeping an eye on ASF, but even if somebody is using 2FA only, such authenticator will still work and I'll add special field for revocation code, even if new authenticator will have no use of it - mainly to not lock out a bit less smarter users who ignored my message about saving revocation code in some secure place.
Discussion welcome.

I've just released first version with entire feature set ready for tests: https://github.com/JustArchi/ArchiSteamFarm/releases/tag/<IP_ADDRESS>
I'd really love some feedback before pushing it as stable release. I didn't find any bugs so far, but I'm not sure if I didn't miss anything, especially considering Steam fuckups. Even "it seems working" helps. Thanks! :+1:

Conversion "back" will not be possible, and converter will also disappear in a month or two since first release of a new version

Do I understand it right - it would be not possible to convert from SDA to ASF and vice-versa anymore? Than this is the worst update imaginable. I hope I just didn't understand you right...

No, it is still possible to import from WinAuth and SDA to new ASF V2 format.
It's more the fact that SDA has format X, WinAuth has format Y, and ASF also had format X. Now ASF has format Z which is pretty much stripped-down format X, so it's still possible to import X (or Y) as Z, but not possible to re-create X or Y back from Z.

but not possible to re-create X or Y back from Z.
That's a bad news. I always considered ASF as a backup way to restore my authenticator in  case something happens, and now I would not have it. Not to mention that for my alts I only have ASF set as the authenticator, and losing possibility to export it would make me sad. Why it is not possible to re-create other formats? Would new format miss some information needed? Or it would be actually possible just not implemented within asf? If it's latter case - then I think it's still ok, I could always write a convertor if I need one.

Not to mention that for my alts I only have ASF set as the authenticator, and losing possibility to export it would make me sad

Possibility is here, ASF includes exactly the same format as SDA, so you can import it to SDA from ASF V2.0.X. From ASF V2.1 onwards though, it will no longer be possible.

Why it is not possible to re-create other formats?

Design change - not enough information. New format includes only fields that are crucial for making ASF work, instead of everything what authenticator contains. That's because ASF is no longer "general purpose" authenticator as the one from previous versions, but imported set of data from authenticator - just enough to make set of authenticator features to work in ASF. For example, new format doesn't include revocation code, so it's not possible to revoke authenticator based purely on new format data - you'd need original data, either from SDA or WinAuth to do so.
That has two main purposes. First one - It improves security. If somebody somehow snatched ASF data, he won't be able to e.g. deactivate authenticator, as he doesn't have revocation code. So it's not possible to deactivate authenticator, and activate other one for instance.
Second one is simply the fact that we don't need that data. Sure, I could save it because why not, but I don't want to do that - mainly to force users into the scheme of general purpose authenticator of SDA or WinAuth, and importing set of data from those into ASF to enable extra features. ASF 2FA was never supposed to work as general authenticator, and there is no need to keep those properties anymore, same as there is no need to keep outdated no-longer-used bot config properties as well.
You can compare the data old authenticator has with new one. New one has barely 3 fields from the old one.
Personally I like it this way. It creates less problems, and maintanibility hassle, plus enforces good practices.

mainly to force users into the scheme of general purpose authenticator of SDA or WinAuth
I see. So no actual reason, just personal preferences. Well, bad news for asf users. Thanks for the warning though.

Somehow - yes, it's not possible to code something without adding at least a bit of personal preferences.
On the other hand, I like the minimalistic approach of https://github.com/DoctorMcKay/node-steam-totp much better than approach of SDA. Same as I like more how WinAuth manages to do things rather than SDA, which seems more or less abandoned development-wise, as well as their original library.
I wouldn't call it bad news though. Sure, there is a change and the change affects backwards-compatibility with the format SDA uses, but on the other hand ASF didn't make use of those fields before either, only revocation code was being used as part of !2faoff, it was even dangerous as I had at least one case of user who accidentally turned off his imported authenticator, without knowledge that it will also turn off his main one.
The only real downside of all above changes if the fact that users of 2FA "solo" mode before should export the data into SDA for general-purpose authenticator (or at least save revocation code, if they have no use of it). There are several advantages over old code though, from improved security through new features (such as SteamParental support), finishing with being less error-prone to steam fuckups, and especially that is important from ASF - I no longer rely on not-even-finished logic coded half a year ago, but I have my own code so it's easier to maintain and find bugs.
Every change has good and bad sides - I can't satisfy everyone, I'm not even trying. I aim for general population of ASF users, mixed together with my personal preferences, as in the end the program is supposed to work for me :+1: .

As a developer I understand your will of refactoring and rewriting your code when part of it rely on deprecated libraries, it's just that you're removing perfectly working functionality that provide added value for your end users.
ASF 2FA solo is very useful when you setup bots on a remote server (even if it's the Pi2 sitting on my desk) as you only have to enter a phone number and the SMS response from the command line once. Having to use a third party authenticator and export - import the config into ASF is a huge step back imho.
Let's suppose I import existing ASF 2.0 format to SDA or winauth, will it provoke the 7 - 15 days restriction period that occurs when linking a new authenticator or will it act as a clone?

Let's suppose I import existing ASF 2.0 format to SDA or winauth, will it provoke the 7 - 15 days restriction period that occurs when linking a new authenticator or will it act as a clone?

It should not provoke the restriction, you are not getting new authenticator, just transferring data to another software that would handle it.
And I'm strongly agree with the rest of your post.

ASF 2FA solo is very useful when you setup bots on a remote server (even if it's the Pi2 sitting on my desk) as you only have to enter a phone number and the SMS response from the command line once.

That's not really any different from SDA + ASF, or WinAuth + ASF, as you're esentially copy pasting JSON that either SDA or WinAuth generates for you, and you put it into new file named Bot.maFile. It's really not a much hassle when it comes to import, and it's much more likely that you'll encounter less problems with adding authenticator through SDA or WinAuth first, instead of relying on ASF link feature.
For instance, you was not able to link your authenticator from inside ASF with SteamParental-enabled accounts, and it's a restriction that got lifted with new format.

Well, at least people who use parental pin would be probably happy with this update.


Simplify working with operands_and_partials

Summary
Makes broadcast_array sum its argument when assigned to. When a scalar argument is broadcasted its derivative is always equal to sum of derivatives of equivalent vector argument. This simplifes working with operands_and_partials - no need for separate branches for scalar and vector arguments.
To use sum in broadcast_array I had to move it and operands_and_partials out of meta folder. I decided functor is the most appropriate. Due to this I had to change includes in many files.
bernoulli_logit_lpmf and bernoulli_logit_glm_lpmf have been simplified this way.
Tests
Updated the test that checks how broadcast_array works when assigned a vector.
Side Effects
I had to move some files out of mete folder - see summary.
Release notes
Simplified using operands_and_partials by making broadcast_array sum the argument when assigned to.
Checklist

[x] Math issue #1470

[x] Copyright holder: Tadej Ciglarič
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

[x] the basic tests are passing

unit tests pass (to run, use: ./runTests.py test/unit)
header checks pass, (make test-headers)
dependencies checks pass, (make test-math-dependencies)
docs build, (make doxygen)
code passes the built in C++ standards checks (make cpplint)

[x] the code is written in idiomatic C++ and changes are documented in the doxygen

[x] the new changes are tested

This is ready for a review.

Couls someone review this? Maybe @bob-carpenter, if you have time?

Sure.  I can review this one.

No idea how the header tests passed before that.

openrands_and_partials was in meta folder, so it was included with #include <stan/math/prim/meta.hpp>

@bob-carpenter This needs another review/approval.


177 ignore inherited properties

Added to ExcludeLogic.ShouldExcludeMember an extra argument which the type of the object that we want the property to be compared
With this change, I kept the backward compatibility with the current implementation.

Sorry, no time to review this now.

Looks good thanks!


tvOS support

I see a PR is opened about this, but is there any news about the support of the Apple TV? Even a branch currently in dev?

We'll get that pulled in soon.
The alamofire project does have a branch. I recommend checking it out!
https://github.com/Alamofire/Alamofire/tree/tvOS

Well, since all my code is using AFNetworking, I'm looking forward for the AFNetworking update, let me know when you will have a branch working! Until then, I will use Alamofire

I've got a branch where where it compiles...
https://github.com/AFNetworking/AFNetworking/tree/tvOS
I'll be working on adding an example to that soon.

:+1: Thanks! :tada:

Hi , are there any plans in the pipeline to support TVOS for 1.x ?


[OCM] Add FOSS alternative or for CI pipelines in general.

Could we ensure it works not only for GitHub Actions (as some people tend to do..), but also for some FOSS alternatives or CI pipelines in general?
Candidates:

Gitlab CI
Jenkins
CircleCI
Travis CI

I plan to implement CI for all 4 candidates, I need to read docs and play a little bit with them to understand what is needed to run the OCM test suite.
I've created some kind of gitlab-ci.yaml file for GitLab Runner needs tweaking and testing, haven't pushed it yet.

@MahdiBaghbani I think just GitLab will be enough, then we can claim the milestone.
In the end it should hopefully be quite similar between CI platforms since it's all bash/docker based, right?

@michielbdejong It is same between GitHub and GitLab since everything is dockerized 👍🏼


Documentation generation

Generate API Reference Documentation from the embedded documentation in the Smithy definitions

I had started a similar project: https://github.com/vouillon/ocaml-smithy.
I did not go as far as this project, but I was generating some documentation from the Smithy definitions. Maybe you can reuse some of the code?

Thanks for sharing that.
I'm have something relatively close to ready  documentation wise in #14, I might just pull over some of your markup parser rules.
There's a lot in your code I could use regarding code generation and documentation parsing. I need to clean up my code generator anyway; switching to ppxlib doesn't seem like a bad idea, but I wonder if it's just faster to output text.

There's a lot in your code I could use regarding code generation and documentation parsing. I need to clean up my code generator anyway; switching to ppxlib doesn't seem like a bad idea, but I wonder if it's just faster to output text.

Using ppxlib has the advantage that you are sure to generate syntactically correct code. But it's indeed harder to use.


Add systemd service unit example

Haven't found systemd unit next to Dockerfile and thought that maybe one will be useful in the repository.
Not sure if maybe this is deliberately left up to distros, but given that releases supply simple binaries, maybe useful to have for people who use those in some systemd-enabled env (most linux distros, incl. in VMs or nspawn/lxc containers).
This unit sets up everything-readonly-but-one-homedir container (DynamicUser=yes implies most of it).
With static Go binary, it might also be possible to configure something simplier like TemporaryFileSystem=/ + BindReadOnlyPaths='/proc /usr/bin/matterircd:/matterircd' to basically get same thing as Docker container in fs namespace, but dunno if daemon might still need libc and its stuff in /etc with some builds.
Since extremely verbose and potentially sensitive slack logging is always set at "debug" level, example includes an ExecStart= which would dump it to logfiles instead of sharing it into system logs (bad idea for such noisy/sensitive stuff).

Looks good as a starting point that people can modify, thanks!


Add ValueListenableBuilder Widget to the Widget Catalog

ValueListenablBuilder Widget needs to be added to the Widget Catalog. Read How to contribute to the Widget Catalog in the README for detailed steps. Make sure to include all the arguments(name, implementation, description, codeString, link and category). Refer to any widget in widgetList.dart and its own *widget*.dart file for better understanding. Showcase all properties of the widget. (Refer to the official docs in case of any doubts)
Please attach screen recording of the same once done in the PR.

may I work on this, please assign

The PR #324 closes this, please assign first this issue to me then close the PR if it is good for you


Fix(utils.isNode) Incompatibility of utils.isNode Function with signal-exit #1889

Fix #1889
Thank you for the time you are putting into AlaSQL!

Love it. Thanks!


Fix Content-Type sent on POST requests

Codecov Report

Merging #158 into master will decrease coverage by 0.14%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #158      +/-   ##
==========================================
- Coverage    99.6%   99.45%   -0.15%
==========================================
  Files          57       57
  Lines        1006      924      -82
==========================================
- Hits         1002      919      -83
- Misses          4        5       +1

Impacted Files
Coverage Δ

src/Services/Http/Engine.php
100% <100%> (ø)
:arrow_up:

src/Services/Adapters/RequestAdapter.php
98.24% <0%> (-1.76%)
:arrow_down:

src/Services/Refund.php
100% <0%> (ø)
:arrow_up:

src/Services/Adapters/CancelAdapter.php
100% <0%> (ø)
:arrow_up:

src/Services/Gateways/EbanxAccount.php
100% <0%> (ø)
:arrow_up:

src/Models/Configs/CreditCardConfig.php
100% <0%> (ø)
:arrow_up:

src/Services/Adapters/PaymentAdapter.php
100% <0%> (ø)
:arrow_up:

src/Services/Gateways/DebitCard.php
100% <0%> (ø)
:arrow_up:

src/Services/Adapters/CaptureAdapter.php
100% <0%> (ø)
:arrow_up:

src/Services/Gateways/Sencillito.php
100% <0%> (ø)
:arrow_up:

... and 24 more

Continue to review full report at Codecov.

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


[wip] fix 3018, 3032, add more tests for checkpointing and restore

Fixes #3018
Fixes #3032
wip: need to finish some tests

@ananyahjha93  let's wait on this PR haha... #3018 is actually supposed to be fixed at the logger level i think. that's a very complicated GH, let's keep it for later.


Readme: Import changed in v0.25

The readme explains that a default import is not existing anymore. The usage example was not adapted and shouldn't be working. I changed it.

* as can not be combined with a named import. I changed it to destructuring. Not sure if it's the preferred way, but the current example of the readme will not work and we should change it.

Thank you.  Good catch!


allow write into directory overwriting a symlink

I realized that a path should be removed from the links set if it a non-link overwrites a link. This fixes that logic and adds a test that exercises this issue:

create path as a symlink
overwrite path as a directory
write path/file inside of that directory

Previously this triggered the "symlink ovewrite attack" detection since path was added to the links set and not removed when the symlink was replaced by a plain directory. Now path is removed from the links set when the symlink is replaced by a directory, so the write to path/file is allowed.
Admittedly, this is a weird thing for a tarball to do, but since it is safe, we may as well allow it for the sake of consistency.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #13   +/-   ##
=======================================
  Coverage   93.05%   93.05%
=======================================
  Files           4        4
  Lines         331      331
=======================================
  Hits          308      308
  Misses         23       23

Impacted Files
Coverage Δ

src/extract.jl
94.57% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Cannot read property 'toString' of null

When trying to beautify the following CoffeeScript snippet, an exception is thrown:
winston = require('winston')

exports.info = (message) ->
  timestamp = (new Date).toISOString().replace(/T/, ' ').replace(/\..+/, '')
  winston.log 'info', '[' + timestamp + '] %s', message
  return

Cannot read property 'toString' of null

TypeError: Cannot read property 'toString' of null
    at Object.exports.flag (/home/nmaggioni/.atom/packages/atom-beautify/node_modules/coffee-fmt/frontend/coffeescript/CoffeeErrorHandler.js:28:15)
    at Object.parse (/home/nmaggioni/.atom/packages/atom-beautify/node_modules/coffee-fmt/frontend/coffeescript/CoffeeParserTD.js:40:17)
    at Object.exports.format (/home/nmaggioni/.atom/packages/atom-beautify/node_modules/coffee-fmt/Coffeescript.js:137:10)
    at /home/nmaggioni/.atom/packages/atom-beautify/src/beautifiers/coffee-fmt.coffee:27:23
    at tryCatcher (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._resolveFromResolver (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:480:31)
    at new Promise (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:70:37)
    at CoffeeFmt.module.exports.CoffeeFmt.beautify (/home/nmaggioni/.atom/packages/atom-beautify/src/beautifiers/coffee-fmt.coffee:20:16)
    at /home/nmaggioni/.atom/packages/atom-beautify/src/beautifiers/index.coffee:455:24
    at tryCatcher (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._resolveFromResolver (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:480:31)
    at new Promise (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:70:37)
    at /home/nmaggioni/.atom/packages/atom-beautify/src/beautifiers/index.coffee:325:18
    at tryCatcher (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/async.js:133:10)
    at MutationObserver.Async.drainQueues (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/async.js:15:14)

On larger CoffeeScript files (vanilla JS works fine) the editor just hangs when I call the beautifier, forcing me to kill and restart it.
I'm not able to paste the debug log as the palette command seems to do nothing at all...
I'm running Manjaro Linux (Arch-based), Atom 1.2.4 and atom-beautify 0.28.19 .

at Object.exports.flag (/home/nmaggioni/.atom/packages/atom-beautify/node_modules/coffee-fmt/frontend/coffeescript/CoffeeErrorHandler.js:28:15)

CoffeeScript is beautified using coffee-fmt in Atom Beautify.
I recommend making an issue over at https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/coffee-fmt.coffee
For reference, Coffee-fmt beautifier in Atom Beautify: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/coffee-fmt.coffee

@Glavin001 thanks for the heads up!

I get the same issue with the following code
for x in [0..10]
  console.log x

I'm having the same issue as @nmaggioni. Did you ever find a work around?

Closing this as a third-party bug: https://github.com/sterpe/coffee-fmt/issues/17


bump up references to v0.2.0

What type of PR is this?

/kind documentation
What this PR does / why we need it:
Bumps up the version used to install the CRDs to match the latest version.
Which issue(s) this PR fixes:

None
Does this PR introduce a user-facing change?:

NONE

Holding until release is out
/hold

Does this mean we have two differernt versions of the same v1alpha1 version CRD?

Yes. We clarify this in our release info doc:
https://kubernetes-sigs.github.io/gateway-api/releases/
We are very open to alternative ways to do things post v0.2.0.

/hold cancel

@hbagdi Tiny nit that PR name and commit message feel a bit off.  Seems like you probably meant to say v0.2.0, otherwise LGTM.

My bad. Updated.

Thanks!
/lgtm


Handling Windows style line endings

We've recently switched to this library, on the whole it works great however when a file contains Windows style line ending they're not recognized.
I found this issue (https://github.com/thephpleague/csv/pull/64) but it seems to only apply to creating CSV files, not reading them.
Is this supported?

@hillelcoren thanks for using the library do you have a snippet code I can test to try to reproduce your issue. Otherwise there is no way for me to investigate and/or resolve your issue.

This is the code I'm using:
$csv = Reader::createFromPath($fileName, 'r');
$stmt = new Statement();
$data = iterator_to_array($stmt->process($csv));`

Here's a sample file sample.csv.zip (GitHub wouldn't allow .csv so I needed to zip it). It opens correctly in LibreOffice but the library sees it as a single line.

did you set the delimiters ?

Is there a line ending option?
Thanks for your help btw.

Sorry for answering your question with a question :)
I assume you mean in the PHP code? I'm not setting anything other than the code posted. The delimiter (a comma) seems to be working correctly.
Thanks again!

did you try this ?

Perfect, thanks! That fixed it :)