v1.9 backports 2020-11-19

#13936 -- bpf: don't override DROP_FRAG_NOT_FOUND error (@jibi)
#13347 -- bpf: add metrics for fragmented ipv4 packets (@jibi)
#14061 -- docs: Fix helm install command in kubeadm getting started guide (@pchaigno)
#14064 -- docs: Fix wording around labels configuration (@joestringer)
#14029 -- helm/hubble-relay: fixed indentation error (@PranaviRoy)
#14012 -- fqdn: Fix confusion of ToFQDNs vs. DNS rules. (@jrajahalme)
#14019 -- helm: 'upgradeCompatibility' needs to be a string, not a float64 (@mvisonneau)
#13660 -- docs: encryption: interface clarifications (@kkourt)
#14030 -- Mention MTU kernel bug in frag page (@liuyuan10)
#13961 -- Revert commits that skip running tests on CI with EKS (@christarazi)
#13364 -- contrib: Add script to bump stable docker image tags (@joestringer)

Once this PR is merged, you can update the PR labels via:
$ for pr in 13936 13347 14061 14064 14029 14012 14019 13660 14030 13961 13364; do contrib/backporting/set-labels.py $pr done 1.9; done

test-backport-1.9

GitHub action failure is related to https://github.com/cilium/cilium/pull/13347 (see https://github.com/cilium/cilium/runs/1395336745) which can be safely ignored if I understand correctly.
/cc @pchaigno @jibi

GitHub action failure is related to #13347 (see https://github.com/cilium/cilium/runs/1395336745) which can be safely ignored if I understand correctly.

That's correct. Checkpatch checks if new files were added or removed and notifies us in that case as we might need to update the CODEOWNERS file. It however isn't smart enough to figure out whether the new files are already covered by CODEOWNERS or not.
@qmonnet Should we disable that warning? All our bpf/ code is covered by CODEOWNERS so maybe not too useful after all?

@qmonnet Should we disable that warning? All our bpf/ code is covered by CODEOWNERS so maybe not too useful after all?

I was considering it already, it's more often annoying than useful. Ok le'ts do it, I'll prepare a PR to update the image later today.


Upgrade SQLitePCLRaw to 1.1.7

React to https://github.com/aspnet/Microsoft.Data.Sqlite/pull/378
See also https://github.com/aspnet/BuildTools/pull/285

Tests pass with the new version. Ready to roll. Ok @ajcvickers?

:shipit:


logging is absent

Let's add logging.

The job #185 assigned to @yegor256/z, here is why. The budget is 30 minutes, see §4. Please, read §8 and §9. If the task is not clear, read this and this.

Bug was reported, see §29: +15 points just awarded to @yegor256/z, total is +9819

Manual assignment of issues is discouraged, see §19: -5 points just awarded to @yegor256/z, total is +9819

It is strongly discouraged to assign jobs to their creators, see §19: -15 points just awarded to @yegor256/z, total is +9819

Job #185 is already in scope

@yegor256/z resigned from #185, since the job is not in scope anymore

The job #185 is now out of scope


Change relative URLs to absolute URLs

I've got a string of HTML and the URL from which the HTML originates. E.g. the URL can be "http://domain.com/sub/page.html" and the URL could be .
Now, I would like to enter the origin URL and then transform the HTML to absolute URLs, so the result should become .
What would be the most straightforward way to achieve this?

FYI I achieved this using https://www.npmjs.com/package/rel-to-abs

Also my absolution module
On Jul 4, 2015 10:42 AM, "tommedema"<EMAIL_ADDRESS>wrote:

FYI I achieved this using https://www.npmjs.com/package/rel-to-abs
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/issues/59#issuecomment-118517507
.

Closing this as there's a separate module for it.


Basic(ish) Lift stuff

Merge master into this branch, solve the merge conflicts, and then solve Ben's issues, and this should be good.


[Flake] SEGFAULT in cloud-cpp/github/google-cloud-cpp/master/macos/cmake-super

http://sponge.corp.google.com/a2eafbff-44b3-4832-946d-e21c186af4b1
 34/263 Test  #31: common_grpc_utils_completion_queue_test ...........................***Exception: SegFault  0.21 sec
Running main() from gmock_main.cc
[==========] Running 14 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 14 tests from CompletionQueueTest
[ RUN      ] CompletionQueueTest.TimerSmokeTest
[       OK ] CompletionQueueTest.TimerSmokeTest (4 ms)
[ RUN      ] CompletionQueueTest.MockSmokeTest
[       OK ] CompletionQueueTest.MockSmokeTest (17 ms)
[ RUN      ] CompletionQueueTest.ShutdownWithPending
[       OK ] CompletionQueueTest.ShutdownWithPending (30 ms)
[ RUN      ] CompletionQueueTest.CanCancelAllEvents
[       OK ] CompletionQueueTest.CanCancelAllEvents (6 ms)
[ RUN      ] CompletionQueueTest.MakeUnaryRpc
[       OK ] CompletionQueueTest.MakeUnaryRpc (27 ms)
[ RUN      ] CompletionQueueTest.MakeStreamingReadRpc
[       OK ] CompletionQueueTest.MakeStreamingReadRpc (13 ms)
[ RUN      ] CompletionQueueTest.MakeRpcsAfterShutdown
[       OK ] CompletionQueueTest.MakeRpcsAfterShutdown (2 ms)
[ RUN      ] CompletionQueueTest.RunAsync
[       OK ] CompletionQueueTest.RunAsync (6 ms)
[ RUN      ] CompletionQueueTest.RunAsyncCompletionQueueDestroyed

:

99% tests passed, 1 tests failed out of 263

Total Test time (real) =  19.45 sec

The following tests FAILED:
	 31 - common_grpc_utils_completion_queue_test (SEGFAULT)
Errors while running CTest
make[2]: *** [build/google-cloud-cpp/src/google_cloud_cpp_project-stamp/google_cloud_cpp_project-test] Error 8

Labeling as "flake" as this does not happen on every run. Note that I have made several fixes to these tests, it is possible this flake is fixed, but might be hard to prove it is.

FWIW, I just ran that specific test 100,000 times on my macOS laptop, no crash.  The full test passed 300 times.
There are a number of fixes in this area since the bug was reported: #4427, #4448, #4450, and #4474. Of those,
the problem fixed by #4427 probably resulted in a segfault in any test using timers. While this test does not use timers directly, the function it calls uses a timer under the hood.
I am going to close this: I cannot repro, and there are fixes that look plausible.


calculate_alive_path / plot_history_alive probabilities almost always equal to 1

Hello!
I am following the steps taking by: https://towardsdatascience.com/whats-a-customer-worth-8daf183f8a4f with the same data set. However, for the probabilities of being alive I only get values of 1, instead of the expected behaviour of slowly 'dying' after their last purchase. I used the following model:

I do have many 1-time purchases, as can be seen from the recency histogram.

All the plot_history_alive graphs I get look like:

Does someone know how this happens and why I get different results from TowardsDataScience with exactly the same steps and data?
Thank you in advance!

Hi,
I have exactly the same problem.
I think that this is an error. I hacked it by adding 'facked' 2nd transaction into the dataframe with exactly the same date as the first-time transaction. Then it follows the curve of dying alive probability.
I am currently looking into the source code to better understand.
BTW: There is yet another problem I have not understood. The alive probability is starting at ~65% which for me is not reflecting any intuition. It should start at 100% and quickly fall to lower levels as intuitively understood.
If you have any comments on this, I welcome them very much

Hi,
I have exactly the same problem.
I think that this is an error. I hacked it by adding 'facked' 2nd transaction into the dataframe with exactly the same date as the first-time transaction. Then it follows the curve of dying alive probability.
I am currently looking into the source code to better understand.
BTW: There is yet another problem I have not understood. The alive probability is starting at ~65% which for me is not reflecting any intuition. It should start at 100% and quickly fall to lower levels as intuitively understood.
If you have any comments on this, I welcome them very much


Toggle v-if on a Tres component declared in a separate SFC makes it detach from its parent

Describe the bug
I have a scene where the rendering of a pyramid TresGroup is conditioned by a boolean named show, using v-if. This TresGroup is the root node of a SFC, and this SFC is included in the root scene within another TresGroup named mainGroup.
When I toggle the show boolean, I would expect the pyramid to be rendered within its parent group as the show value is toggled on and off. Instead, on the first render the pyramid is rendered within its parent as expected, but on the subsequent renders it gets detached from it and is instead rendered within the root scene, causing its position to be wrong because the group that it's supposed to belong to has a position offset.
When adding a watch:
watch(
    () => props.show,
    () => {
      if (groupRef.value) {
        console.log(
          "My parent is",
          groupRef.value.parent.type,
          groupRef.value.parent.name
        );
      }
    }
  );

I can indeed see that the parent of the pyramid changes:
My parent is Group mainGroup
My parent is Scene <empty string>
My parent is Scene <empty string>
My parent is Scene <empty string>
...

If the pyramid TresGroup is directly declared within the root canvas element, the pyramid is rendered within its group as expected, and the console logs show that the parent of the pyramid didn't change indeed (link):
My parent is Group mainGroup
My parent is Group mainGroup
My parent is Group mainGroup
...

Reproduction
https://play.tresjs.org/#eNqVVm1v2zYQ/iucgiEOZkvKS7NOc4IsbhF0WNogybeqH2iJtphQJEHSdozA/31HUpKptGlcw4DNu4fPHe+OvHuO7hXR/0gZLxckyqKxLhSVBmliFhIxzOdneWR0Hp3nnNZSKIOe0SXWtLircClW11gO0d3t1eVEMKHuJC7IEH0W94ITUEnK52iDZkrUaN9UipD9vwMea3qC+RLrDnRhQPagk0KoPvaLmlIzEdwowX4Ap4QboXs7FJl1ODhcoLtZK1zTstHFSbO2IdjPec4LwbVBskGdWabBc2EPmKH9KQPUEOlKrDJk1IJsDuweCNgnbohaYjYYHKCzc/Sc84YiBuGCxHYLsP32vXQzRIdpmjoib3zOAAkMCBWMYOWiC8b33h99uJy82x9ajXYZ0N4LJ8FMVjhDM8y0F3gIZOJ+LUn2MnEWIRZGLiCwbfayl9m0ILNNZ9bPLqg3ENhx4usGqgQWhtSSYUNghdA4yPJyNKW8hIqaM1dRCD5Of0OUlqQwdEkmuCYKo0wKTQ0VHNBf/xoi+/2WRyhpt/ULohNbtisloHh7DKOjIYJvaik4WABZjSl3SBA1uzuGa6KrQNZIL8XTFRE1MWqNMqzm2jIfQu7gC8Tn4+QFKmQ474jvheDXEB5FMQsRkGsbdiBldF4ZW2h51AcYhbmWWEG19xWZgGRRs4bNafy+v63x63XTASAMRHtNstattnDdGqKW2doN5HYZpsixuhCH2flAlc204Jj9Z8/ZT1Tq8nRi85RRuFAcVPZUh/ERiAqszcgXdWPGG/H1BYJxEhQfLLVZM/u3MjWDWp2Kcu2vVQ35ozxDKVQvQhKXpStuv6yIdSyzl/J3J1jR0lTdepPzPSh/T/QGFqEpLh7nEARejpo3ZA/uuqeBe+McjIaRf5tGNZbxgxYc3mJHnzcKeIIzb9DKwmfSKvKoMkbqLEmKksP+kjC6VDEnJuGyTkL4xXF8Gh8mJdUmsWJA55G75T1i/6D+CrffAfR/xumWvhH3rZgVwY8S811877AXJ3HaOd4K45raPSG3bTO78FrcBTCepuDvH0TXYRigFSw02Tm+AfziMI3fASM8dOQprvvRbXBQwYqUv0DsN/yMGoCjktR0B9IWag9/Ep8mjE5DSssIpbmBmjQautGMzl9UZCFqSRlRX6S9tf3KxIyJ1b9O1rUlt6cixeMP5A/6ybt8A8UC7RPCvU0l3FFivPrj3WfyBP87ZS3KBWuS84rylmjBFtZHD7uEOwhuBzjn7Sd3weD63+uPT+7FaQ7Vc9RAB3XSr+0T2dWaF3xzgXN4l47JT6K0PdlxfBwEPJhE3hjGEAoHnSFaYVNU7bzj7OcRvDFugvDjjBJSw1BRkhnl5Mauxo0/fpaZCgGjBm8O3DxV2ijf5cHF88FBj9E+avIWpiw/IbVK58nAs/hJyJl23aEh7wYkH0g6Q4OWzE9FB1ultwauxUzMG9o2/tdreLltM0R0exf8p88Xe1hsk7gDzE4IW5Q9mP8HWep+rPStsccPIssRnUHimu4IobIDUGO3Pwb1OrAfnGDUem3mOA7noYAhbPLb5t027X537iz2m3WvjUab/wFDwfX9
Steps to reproduce
No response
System Info
TresJS playground
Both TresJS 3 and 4 have the issue

Used Package Manager
npm
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

@bperel Thanks for opening these issues!
Since you've been actively filing issues, it would be especially helpful to have the reproductions in a StackBlitz rather than a playground. Among other things, StackBlitz makes running/testing against the reproductions much easier, so we can spend more time on bugs.

@bperel Thanks for opening these issues!
Since you've been actively filing issues, it would be especially helpful to have the reproductions in a StackBlitz rather than a playground. Among other things, StackBlitz makes running/testing against the reproductions much easier, so we can spend more time on bugs.

Alright, I'll try to create the repro in Stackblitz this weekend

This is created based on the demo above.
https://stackblitz.com/edit/stackblitz-starters-ntyud7?file=src%2FApp.vue

Thanks to both of you! @bperel @Sea-DH1

Thank you @Sea-DH1 ! And here is the link to the working alternative: https://stackblitz.com/edit/stackblitz-starters-6u9dcf?file=src%2FApp.vue

Thank you for the reproduction! I was able to figure out what was going on and I've created a PR(#717) with the fix
special thanks to @andretchen0
He asked a question about this in discord that lead me to the solution

@bperel @Sea-DH1
The PR has been merged and a fix for this issue will go out in the next release
Thanks again for the issue and repro!

@bperel @Sea-DH1 The fix was released this morning is @tresjs/core version 4.0.2
Please give that a try and report back when you get a chance 🙂


missing wheels for 18.05

Martin

hmm, our docs build fail for 18.05 and dev, it is trying to compile uwsgi and 3 other packages and fails - so it seems we are missing wheels
https://jenkins.galaxyproject.org/job/galaxy-sphinx-by-branch/PYTHON=System-CPython-2.7,TARGET_GIT_BRANCH=release_18.05/2554/console
am I reading it right?

John Chilton @jmchilton May 17 11:25

I don't know what is up with the docs, but galaxyproject/starforge#205 is also a related problem. 18.05 doesn't have a working Docker image yet because of wheel issues

  Running setup.py bdist_wheel for bunch ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/56/0f/19/fbbf81e5764e6d8b74501c4357a88c14c94466ec777c03734c
  Running setup.py bdist_wheel for dogpile.cache ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/80/00/84/7520e35df8679ed0f43c460d44a810214d4b23e298fc4aae12
  Running setup.py bdist_wheel for fabric3 ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/3f/df/bc/01a9daf4874889ffcaad4fba1255d44bde2bbbfa8086b2075c
  Running setup.py bdist_wheel for functools32 ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/b5/18/32/77a1030457155606ba5e3ec3a8a57132b1a04b1c4f765177b2
  Running setup.py bdist_wheel for globus-sdk ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/68/d6/97/528515d1afd0322b359bea8bd6959a5643f982bd0b4916ab10
  Running setup.py bdist_wheel for msgpack ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/f0/02/4c/525b56fce78c415eb8066f6554f9de02792df26b8f882f6d65
  Running setup.py bdist_wheel for positional ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/f2/68/e6/5c895aa83b56af69a2c1e8c361e20b6cb1ac3a6f3462ce6226
  Running setup.py bdist_wheel for prettytable ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/80/34/1c/3967380d9676d162cb59513bd9dc862d0584e045a162095606
  Running setup.py bdist_wheel for py2-ipaddress ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/e7/e1/9b/f7cdf2798d2fe1e3b8cbdfbe27534aed81ece01c060fd0a2bb
  Running setup.py bdist_wheel for pyperclip ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/a7/68/ef/ab1ef01625334f10a979e9fe5ef79e1c4fd4cdf4b710a0067b
  Running setup.py bdist_wheel for retrying ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/d7/a9/33/acc7b709e2a35caa7d4cae442f6fe6fbf2c43f80823d46460c
  Running setup.py bdist_wheel for simplejson ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/89/5a/42/60f63dd77d318e4ce31bf5cdff62746e959d459e5753c5a773
  Running setup.py bdist_wheel for tzlocal ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/15/ae/df/a67bf1ed84e9bf230187d36d8dcfd30072bea0236cb059ed91
  Running setup.py bdist_wheel for unicodecsv ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/a6/09/e9/e800279c98a0a8c94543f3de6c8a562f60e51363ed26e71283
  Running setup.py bdist_wheel for warlock ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/c3/f9/de/35798f6c2d6f48a47d5056173dbd40f6807bc577aa84481f5a
  Running setup.py bdist_wheel for wrapt ... done
  Stored in directory: /Users/john/Library/Caches/pip/wheels/48/5d/04/22361a593e70d23b1f7746d932802efe1f0e523376a74f321e

Building wheels for collected packages: future
  Running setup.py bdist_wheel for future ... done

Recipes are now stored at https://github.com/galaxyproject/starforge-recipes


Error: ENOENT: no such file or directory, open 'C:\Users\HighTech.cosmos-voyager\gaia-5001\genesis.json'

https://sentry.io/tendermint/cosmos-voyager/issues/563062716/
https://sentry.io/tendermint/cosmos-voyager/issues/562837314
Error: ENOENT: no such file or directory, open 'C:\Users\HighTech\.cosmos-voyager\gaia-5001\genesis.json'
  at None (/C:/Users/HighTech/Desktop/resources/app/dist/index.html)

Both users use Windows. Let's test on Windows.

I think this will be fixed by the #735

I can't build Gaia on Windows:
C:\Users\david\go\src\github.com\cosmos\cosmos-sdk>make get_vendor_deps
process_begin: CreateProcess(NULL, rm -rf vendor/, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [get_vendor_deps] Error 2

Looks like they broke Windows compatibility with the Makefile again.  I reported it here: https://github.com/cosmos/cosmos-sdk/issues/536

Good find. Could we build insight Docker in the meantime?
David Braun<EMAIL_ADDRESS>schrieb am Fr., 1. Juni 2018, 23:08:

I can't build Gaia on Windows:
C:\Users\david\go\src\github.com\cosmos\cosmos-sdk>make get_vendor_deps
process_begin: CreateProcess(NULL, rm -rf vendor/, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [get_vendor_deps] Error 2
Looks like they broke Windows compatibility with the Makefile again. I
reported it here: cosmos/cosmos-sdk#536
https://github.com/cosmos/cosmos-sdk/issues/536
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/cosmos/voyager/issues/747#issuecomment-394009578, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFmO2VfTDyV1WdptrShBddto_McHPU06ks5t4a1OgaJpZM4UL8O-
.

On Windows when I switch to the testnet I get Error subscribing to new blocks/Internal error but I don't get the above error.  It looks like this is fixed.


Unsupported Datatype

I was trying this library out, and I'm getting the following error:

The same occurs when trying to use NpgsqlConnection<"...">.
Any ideas on how I can troubleshoot this?
Thanks!

Could you provide more context - table definition,  maybe more complete code.  That should work (based on seeing just that line)
Von meinem iPhone gesendet

Am 25.09.2019 um 08:30 schrieb Nat Elkins<EMAIL_ADDRESS>I was trying this library out, and I'm getting the following error:
The same occurs when trying to use NpgsqlConnection<"...">.
Any ideas on how I can troubleshoot this?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Okay, did a bit of investigation.  Might have something to do with a materialized view.
Here's a materialized view I've got:

When I run this query from the code:
SELECT
    ns.OID AS schema_oid,
    ns.nspname AS schema_name,
    attr.attrelid AS table_oid,
    cls.relname AS table_name,
    pg_catalog.obj_description(attr.attrelid) AS table_description,
    attr.attnum AS col_number,
    attr.attname AS col_name,
    col.udt_name AS col_udt_name,
    col.data_type AS col_data_type,
    attr.attnotnull AS col_not_null,
    col.character_maximum_length AS col_max_length,
    CASE WHEN col.is_updatable = 'YES' THEN true ELSE false END AS col_is_updatable,
    CASE WHEN col.is_identity = 'YES' THEN true else false END AS col_is_identity,
    CASE WHEN attr.atthasdef THEN (SELECT pg_get_expr(adbin, cls.oid) FROM pg_attrdef WHERE adrelid = cls.oid AND adnum = attr.attnum) ELSE NULL END AS col_default,
    pg_catalog.col_description(attr.attrelid, attr.attnum) AS col_description,
    typ.oid AS col_typoid,
    EXISTS (
            SELECT * FROM pg_index
            WHERE pg_index.indrelid = cls.oid AND
                pg_index.indisprimary AND
                    attnum = ANY (indkey)
        ) AS col_part_of_primary_key
FROM pg_class AS cls
         INNER JOIN pg_namespace AS ns ON ns.oid = cls.relnamespace
         LEFT JOIN pg_attribute AS attr ON attr.attrelid = cls.oid AND attr.atttypid <> 0 AND attr.attnum > 0 AND NOT attr.attisdropped
         LEFT JOIN pg_type AS typ ON typ.oid = attr.atttypid
         LEFT JOIN information_schema.columns AS col ON col.table_schema = ns.nspname AND
                                                        col.table_name = relname AND
                                                        col.column_name = attname
WHERE
        cls.relkind IN ('r', 'v', 'm') AND
        ns.nspname !~ '^pg_' AND
        ns.nspname <> 'information_schema'
ORDER BY nspname, relname;

I see this in the results:

(take my word for it that those results correspond to the previously screenshotted materialized view)
Then take a look at this code: https://github.com/demetrixbio/FSharp.Data.Npgsql/blob/e5b57610a7ac763aaf8f790988d9d85e2d3d822a/src/DesignTime/InformationSchema.fs#L438-L439
And follow it through to here: https://github.com/demetrixbio/FSharp.Data.Npgsql/blob/e5b57610a7ac763aaf8f790988d9d85e2d3d822a/src/DesignTime/InformationSchema.fs#L94
Looks like it would fail there.  Think that could be it?

Just swinging back around to this because I was messing around a bit more.
That query I posted above, that gets all the columns and types.  If you add typ.typname as another column on the end, it gives you the same column datatype information you're looking for (except it works for materialized views too).
You could coalesce between col_data_type and that, although you'd have to do a little bit of messing around since it'll be _datatype if it's an array.  And if you have a materialized view of a custom data type, I don't know how you'd know since the data name will be null (I'm sure there's a way to figure it out, I just don't know Postgres well enough to know how).
Anyway, in the short term, maybe don't not worry about user defined types and just have the type name coalesce between col.data_type and typ.typname?  And do a little bit of extra logic to handle when it's an array.
I'd take a crack at it myself but I have no idea how to debug type providers.

Also maybe instead of failing with an unsupported data type just cast it as obj, same as when it's a user defined type that's not an enum.

@NatElkins Could you provide me with a create script for the problematic schema and what command you're trying to use?

Let me know if you still need anything from me.  Like I said in the previous comment, I feel like the solution involves looking at typ.typname to the schema query and getting the type information from there.

You're right about typname and identifying arrays by checking for the underscore. I just don't know how to tell if a type is user-define just by looking at pg_type.

Might just want to punt on that for now, user-defined types are relatively rare I think.


container-definition module not usable on its own

Description
This is kinda a reopening of #122.
I also hit the same issues and will try to explain as best as I can.
First thing first, the module is working perfectly fine.
For example (a very simplified example)
variable "subnet_ids" {
  type = list(string)
}

locals {
  name = "test-ecs-module"
  tags = {
    Env     = "test"
    Project = "ecs-module"
  }
}

module "cluster" {
  source = "terraform-aws-modules/ecs/aws//modules/cluster"

  cluster_name = local.name

  fargate_capacity_providers = {
    FARGATE = {
      default_capacity_provider_strategy = {
        weight = 100
      }
    }
  }
  tags = local.tags
}

module "nginx" {
  source                   = "terraform-aws-modules/ecs/aws//modules/container-definition"
  version                  = "5.7.3"
  name                     = local.name
  service                  = local.name
  essential                = true
  readonly_root_filesystem = false
  image                    = "public.ecr.aws/nginx/nginx:1.25.3"
  mount_points = [
    {
      containerPath = "/conf/"
      sourceVolume  = "conf"
      readOnly      = true
    }
  ]
  port_mappings = [
    {
      containerPort = 80
      hostPort      = 80
      protocol      = "tcp"
    }
  ]
  enable_cloudwatch_logging = true
  create_cloudwatch_log_group = false
}

module "service" {
  source      = "terraform-aws-modules/ecs/aws//modules/service"
  version     = "5.7.3"
  name        = local.name
  cluster_arn = module.cluster.arn

  cpu           = 256
  memory        = 512
  desired_count = 1
  launch_type   = "FARGATE"

  create_task_exec_iam_role = true
  create_tasks_iam_role     = true

  create_security_group = true
  security_group_rules = [
    {
      description = "Allow egress"
      type        = "egress"
      protocol    = "all"
      from_port   = 0
      to_port     = 65535
      cidr_blocks = ["<IP_ADDRESS>/0"]
    }
  ]
  subnet_ids       = var.subnet_ids
  network_mode     = "awsvpc"
  assign_public_ip = false

  container_definitions = {
    (local.name) = {
     essential                = true
     readonly_root_filesystem = false
     image                    = "public.ecr.aws/nginx/nginx:1.25.3"
     mount_points = [
       {
         containerPath = "/conf/"
         sourceVolume  = "conf"
         readOnly      = true
       }
    ]
     port_mappings = [
       {
         containerPort = 80
         hostPort      = 80
         protocol      = "tcp"
       }
     ]
     enable_cloudwatch_logging = true
   }
  }

  volume = [
    {
      name : "conf"
    }
  ]

  enable_autoscaling             = false
  ignore_task_definition_changes = false
  tags                           = local.tags
  propagate_tags                 = "TASK_DEFINITION"
}

This works.
However, in some of our services, we have up to 5 containers.
Each one of them may have its own port mappings, own volumes, own commands and so.
Having that within only one resource is extremely hard to read and maintain.
On our current stack, we split each container definition in its own module, and the service only refers to all container definitions.
This way, one can better identify the resource, its properties and so on.
Using the current module, it would give something like this :
variable "subnet_ids" {
  type = list(string)
}

locals {
  name = "test-ecs-module"
  tags = {
    Env     = "test"
    Project = "ecs-module"
  }
}

module "cluster" {
  source = "terraform-aws-modules/ecs/aws//modules/cluster"

  cluster_name = local.name

  fargate_capacity_providers = {
    FARGATE = {
      default_capacity_provider_strategy = {
        weight = 100
      }
    }
  }
  tags = local.tags
}

module "nginx" {
  source                   = "terraform-aws-modules/ecs/aws//modules/container-definition"
  version                  = "5.7.3"
  name                     = local.name
  service                  = local.name
  essential                = true
  readonly_root_filesystem = false
  image                    = "public.ecr.aws/nginx/nginx:1.25.3"
  mount_points = [
    {
      containerPath = "/conf/"
      sourceVolume  = "conf"
      readOnly      = true
    }
  ]
  port_mappings = [
    {
      containerPort = 80
      hostPort      = 80
      protocol      = "tcp"
    }
  ]
  enable_cloudwatch_logging = true
  create_cloudwatch_log_group = false
}

module "service" {
  source      = "terraform-aws-modules/ecs/aws//modules/service"
  version     = "5.7.3"
  name        = local.name
  cluster_arn = module.cluster.arn

  cpu           = 256
  memory        = 512
  desired_count = 1
  launch_type   = "FARGATE"

  create_task_exec_iam_role = true
  create_tasks_iam_role     = true

  create_security_group = true
  security_group_rules = [
    {
      description = "Allow egress"
      type        = "egress"
      protocol    = "all"
      from_port   = 0
      to_port     = 65535
      cidr_blocks = ["<IP_ADDRESS>/0"]
    }
  ]
  subnet_ids       = var.subnet_ids
  network_mode     = "awsvpc"
  assign_public_ip = false

  container_definitions = {
    (local.name) = module.nginx.container_definition
  }

  volume = [
    {
      name : "conf"
    }
  ]

  enable_autoscaling             = false
  ignore_task_definition_changes = false
  tags                           = local.tags
  propagate_tags                 = "TASK_DEFINITION"
}

However, this does not work because of the case used in container-definition outputs for fields composed by multiple words.
Hence, instead of having portMappings, it should return the proper property name port_mappings
I made it work by modifying the local module
from
locals {
  is_not_windows = contains(["LINUX"], var.operating_system_family)

  log_group_name = "/aws/ecs/${var.service}/${var.name}"

  log_configuration = merge(
    { for k, v in {
      logDriver = "awslogs",
      options = {
        awslogs-region        = data.aws_region.current.name,
        awslogs-group         = try(aws_cloudwatch_log_group.this[0].name, ""),
        awslogs-stream-prefix = "ecs"
      },
    } : k => v if var.enable_cloudwatch_logging },
    var.log_configuration
  )

  linux_parameters = var.enable_execute_command ? merge({ "initProcessEnabled" : true }, var.linux_parameters) : merge({ "initProcessEnabled" : false }, var.linux_parameters)

  definition = {
    command                = length(var.command) > 0 ? var.command : null
    cpu                    = var.cpu
    dependsOn              = length(var.dependencies) > 0 ? var.dependencies : null # depends_on is a reserved word
    disableNetworking      = local.is_not_windows ? var.disable_networking : null
    dnsSearchDomains       = local.is_not_windows && length(var.dns_search_domains) > 0 ? var.dns_search_domains : null
    dnsServers             = local.is_not_windows && length(var.dns_servers) > 0 ? var.dns_servers : null
    dockerLabels           = length(var.docker_labels) > 0 ? var.docker_labels : null
    dockerSecurityOptions  = length(var.docker_security_options) > 0 ? var.docker_security_options : null
    entrypoint             = length(var.entrypoint) > 0 ? var.entrypoint : null
    environment            = var.environment
    environmentFiles       = length(var.environment_files) > 0 ? var.environment_files : null
    essential              = var.essential
    extraHosts             = local.is_not_windows && length(var.extra_hosts) > 0 ? var.extra_hosts : null
    firelensConfiguration  = length(var.firelens_configuration) > 0 ? var.firelens_configuration : null
    healthCheck            = length(var.health_check) > 0 ? var.health_check : null
    hostname               = var.hostname
    image                  = var.image
    interactive            = var.interactive
    links                  = local.is_not_windows && length(var.links) > 0 ? var.links : null
    linuxParameters        = local.is_not_windows && length(local.linux_parameters) > 0 ? local.linux_parameters : null
    logConfiguration       = length(local.log_configuration) > 0 ? local.log_configuration : null
    memory                 = var.memory
    memoryReservation      = var.memory_reservation
    mountPoints            = var.mount_points
    name                   = var.name
    portMappings           = var.port_mappings
    privileged             = local.is_not_windows ? var.privileged : null
    pseudoTerminal         = var.pseudo_terminal
    readonlyRootFilesystem = local.is_not_windows ? var.readonly_root_filesystem : null
    repositoryCredentials  = length(var.repository_credentials) > 0 ? var.repository_credentials : null
    resourceRequirements   = length(var.resource_requirements) > 0 ? var.resource_requirements : null
    secrets                = length(var.secrets) > 0 ? var.secrets : null
    startTimeout           = var.start_timeout
    stopTimeout            = var.stop_timeout
    systemControls         = length(var.system_controls) > 0 ? var.system_controls : null
    ulimits                = local.is_not_windows && length(var.ulimits) > 0 ? var.ulimits : null
    user                   = local.is_not_windows ? var.user : null
    volumesFrom            = var.volumes_from
    workingDirectory       = var.working_directory
  }

  # Strip out all null values, ECS API will provide defaults in place of null/empty values
  container_definition = { for k, v in local.definition : k => v if v != null }
}

to
locals {
  is_not_windows = contains(["LINUX"], var.operating_system_family)

  log_group_name = "/aws/ecs/${var.service}/${var.name}"

  log_configuration = merge(
    { for k, v in {
      logDriver = "awslogs",
      options = {
        awslogs-region        = data.aws_region.current.name,
        awslogs-group         = try(aws_cloudwatch_log_group.this[0].name, ""),
        awslogs-stream-prefix = "ecs"
      },
    } : k => v if var.enable_cloudwatch_logging },
    var.log_configuration
  )

  linux_parameters = var.enable_execute_command ? merge({ "initProcessEnabled" : true }, var.linux_parameters) : merge({ "initProcessEnabled" : false }, var.linux_parameters)

  definition = {
    command                = length(var.command) > 0 ? var.command : null
    cpu                    = var.cpu
    depends_on              = length(var.dependencies) > 0 ? var.dependencies : null # depends_on is a reserved word
    disable_networking      = local.is_not_windows ? var.disable_networking : null
    dns_search_domains       = local.is_not_windows && length(var.dns_search_domains) > 0 ? var.dns_search_domains : null
    dns_servers             = local.is_not_windows && length(var.dns_servers) > 0 ? var.dns_servers : null
    docker_labels           = length(var.docker_labels) > 0 ? var.docker_labels : null
    docker_security_options  = length(var.docker_security_options) > 0 ? var.docker_security_options : null
    entrypoint             = length(var.entrypoint) > 0 ? var.entrypoint : null
    environment            = var.environment
    environment_diles       = length(var.environment_files) > 0 ? var.environment_files : null
    essential              = var.essential
    extra_hosts             = local.is_not_windows && length(var.extra_hosts) > 0 ? var.extra_hosts : null
    firelens_configuration  = length(var.firelens_configuration) > 0 ? var.firelens_configuration : null
    health_check            = length(var.health_check) > 0 ? var.health_check : null
    hostname               = var.hostname
    image                  = var.image
    interactive            = var.interactive
    links                  = local.is_not_windows && length(var.links) > 0 ? var.links : null
    linux_parameters        = local.is_not_windows && length(local.linux_parameters) > 0 ? local.linux_parameters : null
    log_configuration       = length(local.log_configuration) > 0 ? local.log_configuration : null
    memory                 = var.memory
    memory_reservation      = var.memory_reservation
    mount_points            = var.mount_points
    name                   = var.name
    port_mappings           = var.port_mappings
    privileged             = local.is_not_windows ? var.privileged : null
    pseudo_terminal         = var.pseudo_terminal
    readonly_root_filesystem = local.is_not_windows ? var.readonly_root_filesystem : null
    repository_credentials  = length(var.repository_credentials) > 0 ? var.repository_credentials : null
    resource_requirements   = length(var.resource_requirements) > 0 ? var.resource_requirements : null
    secrets                = length(var.secrets) > 0 ? var.secrets : null
    start_timeout           = var.start_timeout
    stop_timeout            = var.stop_timeout
    system_controls         = length(var.system_controls) > 0 ? var.system_controls : null
    ulimits                = local.is_not_windows && length(var.ulimits) > 0 ? var.ulimits : null
    user                   = local.is_not_windows ? var.user : null
    volumes_from            = var.volumes_from
    working_directory       = var.working_directory
  }

  # Strip out all null values, ECS API will provide defaults in place of null/empty values
  container_definition = { for k, v in local.definition : k => v if v != null }
}

Versions

Module version [Required]: 5.7.3
Terraform version: v1.6.5
Provider version(s): provider registry.terraform.io/hashicorp/aws v5.30.0

Reproduction Code [Required]
Provided above.
Steps to reproduce the behavior:
Just run
terraform init && terraform apply -subnet_ids='[<your own list>]'
Expected behavior
It would be better for the container-definition module to be usable on its own.
Actual behavior
We can only use the service module with all container definition inside it.
No split available.

Hence, instead of having portMappings, it should return the proper property name port_mappings

No, I beg to disagree. The container definition sub-module should render a JSON document that meets the container definition API https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html
The API expects portMappings not port_mappings - the snake case is a Terraform convention, but it will fail if you try to pass this to the container definition API. You can even see this reflected in the examples on the AWS provider https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition#basic-example

I thought about something like this but haven't the possibility to test it right now.
However, would it be possible to make the output compatible, without touching the module itself ?
This would be the best of both world (unless I miss something else)

I'd like to know more about whats working on not working. we tend to jump into solutioning which muddies the water a bit.
Are you stating that this does not work?
variable "subnet_ids" {
  type = list(string)
}

locals {
  name = "test-ecs-module"
  tags = {
    Env     = "test"
    Project = "ecs-module"
  }
}

module "cluster" {
  source = "terraform-aws-modules/ecs/aws//modules/cluster"

  cluster_name = local.name

  fargate_capacity_providers = {
    FARGATE = {
      default_capacity_provider_strategy = {
        weight = 100
      }
    }
  }
  tags = local.tags
}

module "nginx" {
  source                   = "terraform-aws-modules/ecs/aws//modules/container-definition"
  version                  = "5.7.3"
  name                     = local.name
  service                  = local.name
  essential                = true
  readonly_root_filesystem = false
  image                    = "public.ecr.aws/nginx/nginx:1.25.3"
  mount_points = [
    {
      containerPath = "/conf/"
      sourceVolume  = "conf"
      readOnly      = true
    }
  ]
  port_mappings = [
    {
      containerPort = 80
      hostPort      = 80
      protocol      = "tcp"
    }
  ]
  enable_cloudwatch_logging = true
  create_cloudwatch_log_group = false
}

module "service" {
  source      = "terraform-aws-modules/ecs/aws//modules/service"
  version     = "5.7.3"
  name        = local.name
  cluster_arn = module.cluster.arn

  cpu           = 256
  memory        = 512
  desired_count = 1
  launch_type   = "FARGATE"

  create_task_exec_iam_role = true
  create_tasks_iam_role     = true

  create_security_group = true
  security_group_rules = [
    {
      description = "Allow egress"
      type        = "egress"
      protocol    = "all"
      from_port   = 0
      to_port     = 65535
      cidr_blocks = ["<IP_ADDRESS>/0"]
    }
  ]
  subnet_ids       = var.subnet_ids
  network_mode     = "awsvpc"
  assign_public_ip = false

  container_definitions = {
    (local.name) = jsonencode(module.nginx.container_definition)
  }

  volume = [
    {
      name : "conf"
    }
  ]

  enable_autoscaling             = false
  ignore_task_definition_changes = false
  tags                           = local.tags
  propagate_tags                 = "TASK_DEFINITION"
}

Yes, exactly.
Currently, it gives me the following error
╷
│ Error: creating ECS Task Definition (test-ecs-module): ClientException: Container.image should not be null or empty.
│
│   with module.service.aws_ecs_task_definition.this[0],
│   on .terraform/modules/service/modules/service/main.tf line 610, in resource "aws_ecs_task_definition" "this":
│  610: resource "aws_ecs_task_definition" "this" {
│
╵

Also, we can see in the task_definition plan that some stuffs are missing (see mountPoints, portMappings)
# module.service.aws_ecs_task_definition.this[0] will be created
  + resource "aws_ecs_task_definition" "this" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = jsonencode(
            [
              + {
                  + environment            = []
                  + interactive            = false
                  + linuxParameters        = {
                      + initProcessEnabled = false
                    }
                  + logConfiguration       = {
                      + logDriver = "awslogs"
                      + options   = {
                          + awslogs-group         = "/aws/ecs/test-ecs-module/test-ecs-module"
                          + awslogs-region        = "eu-west-1"
                          + awslogs-stream-prefix = "ecs"
                        }
                    }
                  + mountPoints            = []
                  + name                   = "test-ecs-module"
                  + portMappings           = []
                  + privileged             = false
                  + pseudoTerminal         = false
                  + readonlyRootFilesystem = true
                  + startTimeout           = 30
                  + stopTimeout            = 120
                  + user                   = "0"
                  + volumesFrom            = []
                },
            ]
        )
      + cpu                      = "256"
      + execution_role_arn       = (known after apply)
      + family                   = "test-ecs-module"
      + id                       = (known after apply)
      + memory                   = "512"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags                     = {
          + "Env"     = "test"
          + "Project" = "ecs-module"
        }
      + tags_all                 = {
          + "Env"     = "test"
          + "Project" = "ecs-module"
        }
      + task_role_arn            = (known after apply)

      + runtime_platform {
          + cpu_architecture        = "X86_64"
          + operating_system_family = "LINUX"
        }

      + volume {
          + name = "conf"
        }
    }

When I use this:
provider "aws" {
  region = "us-east-1"
}

locals {
  name = "nginx"
}

module "nginx" {
  source  = "terraform-aws-modules/ecs/aws//modules/container-definition"
  version = "~> 5.0"

  name                     = local.name
  service                  = local.name
  essential                = true
  readonly_root_filesystem = false
  image                    = "public.ecr.aws/nginx/nginx:1.25.3"
  mount_points = [
    {
      containerPath = "/conf/"
      sourceVolume  = "conf"
      readOnly      = true
    }
  ]
  port_mappings = [
    {
      containerPort = 80
      hostPort      = 80
      protocol      = "tcp"
    }
  ]
  enable_cloudwatch_logging   = true
  create_cloudwatch_log_group = false
}

resource "local_file" "out" {
  content  = jsonencode(module.nginx.container_definition)
  filename = "${path.module}/container_definition.json"
}

I get a container definition that has all of the expected values based on the inputs:
{
	"environment": [],
	"essential": true,
	"image": "public.ecr.aws/nginx/nginx:1.25.3",
	"interactive": false,
	"linuxParameters": {
		"initProcessEnabled": false
	},
	"logConfiguration": {
		"logDriver": "awslogs",
		"options": {
			"awslogs-group": "",
			"awslogs-region": "us-east-1",
			"awslogs-stream-prefix": "ecs"
		}
	},
	"mountPoints": [
		{
			"containerPath": "/conf/",
			"readOnly": true,
			"sourceVolume": "conf"
		}
	],
	"name": "nginx",
	"portMappings": [
		{
			"containerPort": 80,
			"hostPort": 80,
			"protocol": "tcp"
		}
	],
	"privileged": false,
	"pseudoTerminal": false,
	"readonlyRootFilesystem": false,
	"startTimeout": 30,
	"stopTimeout": 120,
	"volumesFrom": []
}

I do agree and am able to reproduce.
But in this file, we have eg mountPoints where in the service module, it looks for mount_points
mount_points             = try(each.value.mount_points, var.container_definition_defaults.mount_points, [])

ahhhhhhh ok - now I got ya. thank you!

You're welcome.
If I can be of only help (for PR or anything else) please let me know (I just don't see at the moment what would be the best way to make it work without breaking everything)

Yes it appears the output of the container_definiton sub-module container_defintion outputs in a different format than what the service submodule container_definiton expects.
Output has format of portMapping whereas the service is looking for port_mappings
container_definiton submodule - portMappings**  = var.port_mappings
service submodule -  port_mappings = try(each.value.port_mappings, var.container_definition_defaults.port_mappings, [])

This is also happening with environment_files. So I am assuming that all the snakeCasing ones are not working because of this same issue, right?

A workaround to still be able to create standalone task definitions is modify line 594 of services module
from
locals {
  create_task_definition = var.create && var.create_task_definition

to
locals {
  create_task_definition = var.create_task_definition

This way, when calling the service module, setting var.create to false but var.create_task_definition to true will create a correctly formatted task definition.
I did create a fork with that change here, but as it's not a solution to the container-definition module but only a workaround, I'm not sure this will pass a review if I open a PR. Hope this helps someone!


Asterisk for mandatory fields are not aligned

Issue Details
Type of Issue  (check one with "X")
[ ] Bug Report => Please search GitHub for a similar issue or PR before submitting
[ ] Feature Request => Please ensure feature is not already in progress
[ ] Support Request => Please do not submit support requests here, instead see: https://discourse.oss.antheminc.com/

Current Behavior

Expected Behavior

How to Reproduce the Issue
Steps to Reproduce

Code Snippet

Environment Details

Nimbus Version:

Browser:

Thanks for your issue request.
In order to address the issue you're facing, please provide the more details on how to recreate the issue. If you're unsure of which details to provide, we've provided a handy issue template here.

This seems to be an issue with chrome browser. If you are on version 78 series, it will work fine. If you are on either 77 or 76 you might see this issue.


all_tag_counts sql not compatible with oracle (ORA-00905) missing keyword error

Using rails 3.0.9 using acts-as-taggable-on 2.1.1
When you try to do a Document.all_tag_counts or document.all_tag_counts,  you get missing keywords: SELECT tags.*, taggings.count AS count FROM "TAGS" join (SELECT taggings.tag_id, COUNT(taggings.tag_id) AS tags_count FROM "TAGGINGS" INNER JOIN documents ON documents.id = taggings.taggable_id WHERE (taggings.taggable_type = 'Document' AND (taggings.taggable_id (SELECT documents.id FROM DOCUMENTS")) GROUP BY taggings.tag_id HAVING COUNT(taggings.tag_id) > 0) AS taggings ON taggings.tag_id = tags.id
While the sql is logically correct,  it is not valid syntax from oracle :(
If I back down to version 2.0.6 of the gem, this is no longer a problem.

Took another look at this SQL. Realized that the final "AS taggings ON taggings.tag_id = tags.id" phrase of the query is what is offending Oracle.  The AS keyword cannot be used in this context since taggings is a table not a column.  The "AS" keyword is not needed here.

Not to wake up the dead, but this is stil an error in 3.5.0.

Still an error in 4.0.0

Please reopen. The problem is still there in 4.0.0


feat: implement rename table

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
implement renaming table in mito table engine
Checklist

[x]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)
#723

LGTM. You might need to resolve the conflicts again 😢

It's all fixed now.


@phoikoi use the renderer feature

Hi @tomspur
I found that you were modifying mistune source to add some weird things. It can be easy done with a custom renderer. Checkout this part: https://github.com/lepture/mistune#renderer
All you need is subclass of Renderer and overwrite the image function. Please don't modify the source code like this https://github.com/phoikoi/mistune/commit/38f296b400387885493bee296b2962b9f356d846

Hi @lepture,
where do I modify the sources? All I did so far with mistune is reviewing it to get it added to Fedora.

@tomspur sorry. I mean @phoikoi it is the GitHub autocompletion bug.


Update boolean_filter : on/off support

Sometimes used in other libraries (eg. polymer)

This looks good, thanks!
What do you think about this, @AaronLasseigne? I think it's reasonable to support.

It looks good to me. Should we merge the regexp together? /\A(?:false|off)\z/

Yeah, but we can do that after this is merged. We could also include the 0 check in there: /\A(?:0|false|off)\z/.

Thanks for the addition, @voondo! I'll release a new version shortly.
On that note, what type of change (major or minor) do you think this is, @AaronLasseigne? I'm leaning toward minor.
Also I combined the regexes in 436245aa182f862bd608bf4eeb2f64645f7c4b47.

I'd go minor.

Released in version 3.2.0.

thanks guys :+1:


travis ci test for dragonegg might be useful.

I myself have never used it with dragonegg.

Done.


Flaky tests - Privacy Container Tests

These tests use docker via the third party lib ContainerTests, to run Tessera.
An alternative is to run Tessera as a java process within the unit tests - similar to what we (used to) do with Orion.

See https://github.com/hyperledger/besu/issues/2867
And https://github.com/hyperledger/besu/pull/4466 which never got merged

@macfarla If the changes from #2867 are the ones that we are looking for maybe we should let the person which proposed them to update the branch and recreate the PR, as i don't see a specific reason for which the PR was closed.

@macfarla could you please help me with the message above?

@gtebrean  #4466 was simply changed because we shifted priorities, and this issue was also blocked by other things.
Several of the blockers are resolved now (Besu is now on Java 17, Tessera has been released). Not sure about the status of this one https://github.com/Consensys/tessera/issues/1490 - may just need testing or may need fixing (in Tessera)


cannot find model (vit_giant_patch14_dinov2) when loading tile encoder

Hi, thanks for sharing such a wonderful project. I am trying to use tile encoder only for feature extraction. However when I follow your instructions, the error occurs in timm.create_model("timm.create_model("hf_hub:prov-gigapath/prov-gigapath", pretrained=True)". It seems like the link directs to "vit_giant_patch14_dinov2" pretrained weight, which I cannot find in timm in Hugging Face.
So can you check again the availability of tile encoder pretrained weights please? It might be removed or missing for some reasons ? Thanks for answering.

Thanks for reaching out! The tile encoder is always there. Can you share your timm version the exact code you're using to load the model?

pip install timm==1.0.3
Maybe you can solve it by updating timm

I solved this. Thanks for your help !


Update FluentHub intro page

Before you start...

[x] Have you updated the FluentHub? You might be using an old version.
[x] Have you checked if similar issue have already been reported?

Resolved / Related Issues

Closes

Details of Changes

Added a new login page

Validation

[x] Built and ran the app
[x] Tested the changes for accessibility

Relevant Assets

can you tell us what you changed as screenshot

I made the PR before my mom told me to go bed haha. Just see JitHub login and you can make an idea. I'll modify it but by the moment im just copying

ok. good night

Thanks, guys! I'll be working on this when i finish my exams the day 6 of June, sorry!

Niceee!

I'm thinking there are two designs we should go for:
a) The one seen in MS PowerToys:

Picture of FluentHub in the background and then FluentHub's own logo, with a button leading to docs and source code.
'Open Settings' replaced with 'Get started'
b) The one seen in MS Get Started:

Say something like:
Hi!
Let's get started and see what FluentHub can do.
[Start]
Then it would lead on to explain the features of FluentHub (with a skip bar in the bottom) and after that it would go to SignInPage.xaml.
My favourite one is probably option b but I'm up to ideas

I've already seen those start pages(explorered when I created current sign in page to get a lot of ideas) even all ms or other 3rd-p apps that I know.
Is current sign in page frugal? I think it's better not to update page design.

But it is very frugal, I think. so very like adding background, buttons(leads to our GH site or sth), and "getting start" messages.

/azp run

While the Get Started one looks better, the PowerToys one looks easier to code. I'll see if I can code the PT one and then see if I like it

School has taken a lot of time from me - luckily i've got a holiday for just over a week so I can spend more time in FluentHub. But because I'm in the UK, you're 8 hrs ahead of me 😬.

Ouu, sorry 🙌 . I wanted to say that in the account switching, but if you want me to work in this, i will able too.

Ouu, sorry 🙌 . I wanted to say that in the account switching, but if you want me to work in this, i will able too.

Yes please!
I'm working on a one like this:

I've just made a hero image -

See what you can do and then commit to this branch so I can see and edit!

Ouu, sorry 🙌 . I wanted to say that in the account switching, but if you want me to work in this, i will able too.

Yes please!
I'm working on a one like this:
I've just made a hero image -
See what you can do and then commit to this branch so I can see and edit!

Ok nice!

Got it. I am deving on GU10 branch.

While the Get Started one looks better, the PowerToys one looks easier to code. I'll see if I can code the PT one and then see if I like it
- School has taken a lot of time from me - luckily i've got a holiday for just over a week so I can spend more time in FluentHub. But because I'm in the UK, you're 8 hrs ahead of me 😬. -

Good. GMT+9 I am. also my time am taken by school ha

🔨 Coming along!!

Good enough!!

Good enough!!

I do wish it would fill the pic would fill the whole window like in this:

I just dont know how to make it do that without looking ugly

🔨 Coming along!!

Can you give me this background image?

Can you give me this background image?

https://user-images.githubusercontent.com/71598437/170543271-52a444d0-a0ec-40a6-8455-ce86226fa0c3.png

Like this?

Yes! It's nice!

Yes!!

Can I have access to commit that or do you want me to open a new PR? @onein528

yea, open please.

Loving the new look! 🤣🤣

I'll do some fixing (I'm back from holiday)

Loving the new look! 🤣🤣

I'll do some fixing (I'm back from holiday)

Well it didn't look like that on my pc 😂. I guess relative sizing should be a thing lol

done

@BobbyESP @DeveloperWOW64 @nathayoung Can I merge this into GU12?

I say Yes, but let Jupiter tell if he wants to merhe or not

@BobbyESP @DeveloperWOW64 @nathayoung Can I merge this into GU12?

Just what I was thinking.

oops

@onein528 merge?

I'm gonna.
What do you mean?

What do you mean?

What are you asking about?

Whay did you say "oops"

@DeveloperWOW64 Why did you say "oops"

I thought I accidentally rebased the PR to gu12 into login-page refactor not vice versa, but nvm
just merge


Use setuptools

As recommended by on python.org https://packaging.python.org/guides/tool-recommendations/
Better build support such as develop and bdist_wheel.
In local development I can't for example install the package with python setup.py develop
Also building the package with bdist_wheel instead of sdist is a lot more common these days. (distributing a .whl file instead of tar.gz)

Makes sense to me. Thanks!


Consider adding a toggle button for search engine filtering

Is a user doesn't want search engine filtering, they can currently disable it by clicking "Filter search for none", which changes the settings for all wikis in that language.
A separate toggle at the top to globally toggle search engine filtering may be useful, so users can quickly toggle search engine results as needed. It'd be a bit more clear and intuitive, and it would allow users to temporarily toggle search engine filtering without clearing the search engine settings they might normally want to use.

Now available in version 2.0.0


Verify that completeness check is correct for all containers

[ ] Race
[ ] Office
[ ] Town
[ ] President
[ ] President MA
[ ] Homepage
[ ] Central


me.getItem only returning nil

Describe
me.getItem() returning nil on every item in ME system
I have to restart my game upwards of 4-5 times before it actually returns proper values.
I am playing single player if that makes any difference.
Steps to reproduce the behavior:

load game
2.call me.getItem({name=v.name})

...
Screenshots/Videos
printing Item name, and what is returned by me.getItem()

Pictures of ME system showing Items in there -

Versions:

Forge version: 36.1.0
AdvancedPeripherals version: 0.6r - tried several of the alpha versions too.

Crashlog/log (Use https://paste.gg or https://pastebin.com to upload your crashlog/log)

https://pastebin.com/wKNza0YP

I really dont believe it to by my code in any way. As this code works sometimes. Its just when the ME bridge wants to return an actual value for the items instead of nil.

WOW. I found the problem!!!!! -

Seems on reloading the world, the ME cable does NOT connect to the ME Bridge!!!! WTF I had just gone down there to check it, noticed it wasnt connected. Removed/Replaced... System started working fine.  Saved and Closed the world, reloaded world. Game froze at 94% loading and crashed out. reboot and reload world. ME Bridge not connected anymore.

Going to update this issue with proper information on what I have found.

Do you use Performant?

Performant? Not even sure what that is so I would guess no.

Could you send me a full mod list?

	SaveMyStronghold-1.16.4-1.0.jar                   |Save My Stronghold!           |savemystronghold              |1.16.4-1.0
	inventorysorter-1.16.1-18.1.0.jar                 |Simple Inventory Sorter       |inventorysorter               |18.1.0
	supermartijn642configlib-1.0.6-mc1.16.jar         |SuperMartijn642's Config Lib  |supermartijn642configlib      |1.0.6
	advancedperipherals-0.6r.jar                      |Advanced Peripherals          |advancedperipherals           |0.6r
	spiders-2.0-1.16.4-1.0.4.jar                      |Spiders 2.0                   |spiderstpo                    |1.0.4
	treeharvester_1.16.5-2.4.jar                      |Tree Harvester                |treeharvester                 |2.4
	jei-1.16.5-<IP_ADDRESS>.jar                          |Just Enough Items             |jei                           |<IP_ADDRESS>
	metalbarrels-3.3a.jar                             |Metal Barrels                 |metalbarrels                  |3.3a
	Pehkui-2.2.0+1.16.5-forge.jar                     |Pehkui                        |pehkui                        |2.2.0+1.16.5-forge
	Neat+1.7-27.jar                                   |Neat                          |neat                          |1.7-27
	create-mc1.16.5_v0.3.1c.jar                       |Create                        |create                        |mc1.16.5_v0.3.1c+151
	BetterCaves-Forge-1.16.4-1.1.2.jar                |YUNG's Better Caves           |bettercaves                   |1.16.4-1.1.2
	Waystones_1.16.5-7.5.1.jar                        |Waystones                     |waystones                     |7.5.1
	TerraForged-1.16.5-0.2.10.jar                     |TerraForged                   |terraforged                   |0.2.10
	journeymap-1.16.5-5.7.1.jar                       |Journeymap                    |journeymap                    |5.7.1
	appliedenergistics2-8.3.1.jar                     |Applied Energistics 2         |appliedenergistics2           |8.3.1
	NoFog-1.16.2-Forge-b1.jar                         |NoFog                         |nofog                         |1.0.1
	NaturesCompass-1.16.5-1.8.6.jar                   |Nature's Compass              |naturescompass                |1.16.5-1.8.6
	YungsApi-1.16.4-Forge-6.jar                       |YUNG's API                    |yungsapi                      |1.16.4-Forge-6
	Powah-1.16.5-2.3.16.jar                           |Powah                         |powah                         |2.3.16
	stoneholm-1.2.1.jar                               |Stoneholm                     |stoneholm                     |1.2
	buildinggadgets-1.16.5-3.8.0.jar                  |Building Gadgets              |buildinggadgets               |3.8.0
	Hwyla-forge-1.10.11-B78_1.16.2.jar                |Waila                         |waila                         |1.10.11-B78_1.16.2
	immersive-portals-0.16-mc1.16.5-forge.jar         |Immersive Portals             |immersive_portals             |0.14
	forge-1.16.5-36.1.0-universal.jar                 |Forge                         |forge                         |36.1.0
	DynamicSurroundings-1.16.4-<IP_ADDRESS>.jar            |§3Dynamic Surroundings        |dsurround                     |1.16.4-<IP_ADDRESS>
	ironchest-1.16.4-11.2.10.jar                      |Iron Chests                   |ironchest                     |1.16.4-11.2.10
	CraftingTweaks_1.16.3-12.2.0.jar                  |Crafting Tweaks               |craftingtweaks                |12.2.0
	forge-1.16.5-36.1.0-client.jar                    |Minecraft                     |minecraft                     |1.16.5
	torchmaster-2.3.7.jar                             |Torchmaster                   |torchmaster                   |2.3.7
	repurposed_structures-1.16.5-2.6.6-forge.jar      |Repurposed Structures         |repurposed_structures         |1.16.5-2.6.6-forge
	MouseTweaks-2.14-mc1.16.2.jar                     |Mouse Tweaks                  |mousetweaks                   |2.14
	Lollipop-1.16.5-3.2.9.jar                         |Lollipop                      |lollipop                      |3.2.9
	curios-forge-1.16.5-<IP_ADDRESS>.jar                   |Curios API                    |curios                        |1.16.5-<IP_ADDRESS>
	travel_bag-1.16.5-1.2.6.jar                       |Travel Bag                    |travel_bag                    |1.2.6
	collective-1.16.5-2.26.jar                        |Collective                    |collective                    |2.26
	StorageDrawers-1.16.3-8.2.2.jar                   |Storage Drawers               |storagedrawers                |8.2.2
	angelring-1.16.5-<IP_ADDRESS>.jar                      |Angel Ring                    |angelring                     |<IP_ADDRESS>
	BetterStrongholds-1.16.4-1.1.jar                  |YUNG's Better Strongholds     |betterstrongholds             |1.16.4-1.1
	structurize-0.13.175-ALPHA-universal.jar          |Structurize                   |structurize                   |0.13.175-ALPHA
	vinecollector-1.2.jar                             |VineCollector                 |vinecollector                 |1.2
	minecolonies-0.14.201-BETA-universal.jar          |MineColonies                  |minecolonies                  |0.14.201-BETA
	mcw-roofs-2.0.1-mc1.16.5-4.jar                    |Macaw's Roofs                 |mcwroofs                      |2.0.1
	architectury-1.17.17-forge.jar                    |Architectury                  |architectury                  |1.17.17
	cc-tweaked-1.16.4-1.96.0.jar                      |CC: Tweaked                   |computercraft                 |1.96.0
	Colony4ComputerCraft-1.16.4-1.2.5.jar             |MineColonies for ComputerCraft|colony4cc                     |1.2.5
	light-overlay-5.8.1.jar                           |Light Overlay                 |lightoverlay                  |5.8.1
	cloth-config-4.11.26-forge.jar                    |Cloth Config v4 API           |cloth-config                  |4.11.26
	chunkloaders-1.1.7-mc1.16.5.jar                   |Chunk Loaders                 |chunkloaders                  |1.1.7
	exoticbirds-1.16.4-1.1.0.jar                      |Exotic Birds                  |exoticbirds                   |1.1.0
	BetterMineshafts-Forge-1.16.4-2.0.3.jar           |YUNG's Better Mineshafts      |bettermineshafts              |1.16.4-2.0.3

Could you try to update the version of the mod to the latest version?

latest version of the mod seems to have broken the AR Controller. Spacing on the screen is incredibly spaced out now.

You can see the massive difference from the prior screenshots to this one.
I feel this makes the program completly un-usable. where as last version i just have to replace a cable to use my program. Will be downgrading back to other versions to see where this ar controller got broken.

I really don't know, what the issue is. But you could connect the me bridge directly to the ME Controller to prevent this.

the spatial anchor seems to have resolved the problem. Placing it on the controller would put it really far from where the items are going and in a very inconvenient location. I appreciate the help you have given thus far.


Feature save transaction

[x] switch transaction page view based on transfer type
[x] saved transactions hook
[x] saved transactions sidebar on transfer and transactions page
[ ] dialog for save transaction

Saved Transfer Sidebar

Save transfer Form

Save transfer Complete

For the text in the box, can we have it say something like this depending on which fields are saved and have data?
5
ETH
0xabcd...
5 ETH
5 to 0xabcd...
5 ETH to 0xabcd...
ETH to 0xabcd...

For the text in the box, can we have it say something like this depending on which fields are saved and have data?
5
ETH
0xabcd...
5 ETH
5 to 0xabcd...
5 ETH to 0xabcd...
ETH to 0xabcd...


Discord link broken

Is there an existing issue for the same bug?

[X] I have checked the troubleshooting document at https://opendevin.github.io/OpenDevin/modules/usage/troubleshooting
[X] I have checked the existing issues.

Describe the bug
Discord link broken
Current Version
Discord link broken

Installation and Configuration
Discord link broken

Model and Agent
No response
Reproduction Steps
No response
Logs, Errors, Screenshots, and Additional Context
No response

Works fine
https://discord.gg/ESHStjSjD4

This was fixed by https://github.com/OpenDevin/OpenDevin/pull/1539


Update keyboard.html

Shows an event being passed.

Coverage remained the same at 99.01% when pulling 2cce03270644acce00123b9a5dba35606274495b on BoldBigflank:patch-1 into eb8ac5c7f466ee7d9389a977ce79f34374a7470b on straker:master.

Awesome, thanks for that.
closes #25


Better scene test

We have two physics examples now, one with just bodies and the other one with all the available joints.
Later on I could add a very simple one that builds some bodies programmatically, but that's something easy to figure out

Pull Request Test Coverage Report for Build 130

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 33.151%

Totals

Change from base Build 128:
0.0%

Covered Lines:
182

Relevant Lines:
549

💛  - Coveralls


fix: format() takes bufnr, not buf

It looks like there was a buf -> bufnr format() arg I missed earlier.

Thanks!


Added wappalyzer and cname cdn detection support

Closes #28 #27

@ehsandeep it would be better to start with static functions and add it later to the index.yaml as right now it's scope is quite limited.


Add sf express to the powered by page.

Please answer these questions before submitting pull request

Why submit this pull request?

[ ] Bug fix

[ ] New feature provided

[ ] Improve performance

Related issues

Bug fix

Bug description.

How to fix?

New feature or improvement

Describe the details and related test reports.

Following the alphabet order, please.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #4577   +/-   ##
=======================================
  Coverage   25.99%   25.99%
=======================================
  Files        1250     1250
  Lines       29071    29071
  Branches     3990     3990
=======================================
+ Hits         7556     7557    +1
  Misses      20822    20822
+ Partials      693      692    -1

Impacted Files
Coverage Δ

...walking/apm/agent/core/context/TracingContext.java
62.50% <0.00%> (+0.41%)
: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 a45fb30...fb8007b. Read the comment docs.


Feature Request: Locking of Data

It would be great if the HRIListener allows to lock (multithreading.lock) the data of all objects.
Otherwise, while the data is used, it might be overridden by the ros events for new messages.
Thus something like this:
hri = HRIListener

with hri.lock:
       roi = hri.persons['1'].body.roi
       cropped = hri.persons['1'].body.cropped

# do something with roi and cropped

If we don't have a lock, in between tacking the roi and cropped, the body could have changed, thus the roi and cropped might be different.

hi @ChrisReinke
--- not exactly what you suggested, but commit 8a37ba37 helps a little with the general problem of live data modification by returning a copy of eg hri.persons, thus avoid mutability issues while iterating of the list of persons/bodies/etc.
Once you access a specific body/face/etc, it could make sense to use a syntax like:
for person in hri.persons:
    with person.body as body:
      # [...]  body members like RoI/cropped/etc are not updated while inside the context manager

Would that address your issue?
-> this would be actually pretty easy to implement; might be a good idea.


Adjust layout for mobile devices

Current Issues:

Plot text is massive, but easy to read
All other elements of the film container are very small:

[ ] Title
[ ] Poster
[ ] Runtime
[ ] Rating
[ ] Site images

Fixed title and runtime

Need to decrease search button size. It's easy to accidentally press it while trying to enter search term in mobile.
Maybe make search bar larger in mobile.


This work on v10?

Sorry for the delay. Other events on my life lead me to put this project aside. I was working on an adaptation to v10, I adapted most spells, but I didn't update the repository. If you have any specific spells or abilities you want to use I can see if I have a v10 compatible version.


Robot must hold its item when xpos == 10 (at the start position)

Robot must hold its item when xpos == 10 (at the start position).
Only Robot.java file has been changed.

Thanks :+1:


chore(tidb/br): remove run_before_merge on release-7.3

There are currently some failed lightning cases in the upstream.  To ensure the smooth merging of other PRs, temporarily remove this configuration.

/lgtm
/approve

/hold

/unhold


crowdsec-firewall-bouncer-nftables service won't start (crowdsec-firewall-bouncer.service)

After a system upgrade, the crowdsec firewall bouncer service won't start.
journalctl -xeu crowdsec-firewall-bouncer returns the following information
May 18 23:32:19 mymachine crowdsec-firewall-bouncer[78477]: time="2023-05-18T23:32:19Z" level=info msg="crowdsec-firewall-bouncer v0.0.27-debian-pragmatic-8d09f19d69e92a63e63888794af3a57c6ade3489"
May 18 23:32:19 mymachine crowdsec-firewall-bouncer[78483]: time="2023-05-18T23:32:19Z" level=info msg="crowdsec-firewall-bouncer v0.0.27-debian-pragmatic-8d09f19d69e92a63e63888794af3a57c6ade3489"
May 18 23:32:19 mymachine crowdsec-firewall-bouncer[78483]: time="18-05-2023 23:32:19" level=fatal msg="process terminated with error: stream api init failed"
May 18 23:32:20 mymachine systemd[1]: crowdsec-firewall-bouncer.service: Main process exited, code=exited, status=1/FAILURE

Things I have tried so far:
Removing and reinstalling the package, purging the package and all configuration files and then reinstalling, rebooting.
Other information:

OS: Ubuntu Server 22.04
Crowdsec Installation as a docker container and the bouncer directly on the host.

The setup worked before.

Figured out the issue after quite a lot of digging. Turns out the problem was trivial.
Trying to restart the service or reinstalling the package does not provide the most important place to check for what was causing the issue, namely the logs. Instead, it only suggests to check the systemctl status or journalctl for more information, both of which are lackluster. In this case, the most important place to check were the bouncer logs (/var/log/crowdsec-firewall-bouncer.log).
The problem was simple in that the IP of my crowdsec container had changed and therefore the bouncer could not connect to the API. Set the crowdsec docker container to use a static IP and changed the IP in my bouncer config.


Add getters to the vm_service_protocol spec

Currently displays of objects are inconsistent between tools (VSCode and DevTools) and backends (VM and dwds).
The following issues prevent us from always consistently displaying objects:

dwds is representing getters as fields instead of methods
We are working on matching the VM behavior.

dart-code is using a VM-specific way (checking if private field _kind on the Function object equals to GetterFunction, which only works for VM, not dwds).
https://github.com/Dart-Code/Dart-Code/blob/15ad6615d8e8c02fd4393112f9896cf3bfc3c1fe/src/debug/dart_debug_impl.ts#L1424

DevTools does not show getters on objects at all.
We would like to eventually use dart-code logic for DevTools object display so all the debugging tools are consistent.

vm_service protocol does not provide a way of easily identifying getters:

Class does not indicate what function refs are getters:
https://github.com/dart-lang/sdk/blob/3daa47b54e5f39241c44858e0d66ce51723040bf/runtime/vm/service/service.md?plain=1#L2033

If i understand correctly, @Function does not specify if the function is a getter either (only if it is an implicit getter):
https://github.com/dart-lang/sdk/blob/3daa47b54e5f39241c44858e0d66ce51723040bf/runtime/vm/service/service.md?plain=1#L2756

Suggestion
So solve all the issues, we would need to solve 4. first.
Define a way to identify getters in vm_service protocol so the debugger can evaluate getters if requested (for all backends).

/cc @bkonyi @elliette @DanTup

Related: https://github.com/dart-lang/sdk/issues/46723

dart-code is using a VM-specific way (checking if private field _kind on the Function object equals to GetterFunction, which only works for VM, not dwds).
https://github.com/Dart-Code/Dart-Code/blob/15ad6615d8e8c02fd4393112f9896cf3bfc3c1fe/src/debug/dart_debug_impl.ts#L1424

That link is for the legacy adapters, but the new adapters do the same thing here:
https://github.com/dart-lang/sdk/blob/3daa47b54e5f39241c44858e0d66ce51723040bf/pkg/dds/lib/src/dap/protocol_converter.dart#L737
FWIW, I recently added support for lazy-evaluation of getters in the new adapters (the user will see the names of the getters but we won't evaluate them unless they click), so if changes are made to simplify accessing getters and their values, we should ensure it still supports getting only the names so they can be fetched lazily/individually.

isGetter and isSetter properties have been added to @Function and Function in package:vm_service 11.8.0.


Make workshop presentable on NASA science platform

Details TBD, but consider:

authN
environment setup (built ahead of time, automatic or user controlled?)

After discussions including @trjaffe we decided not to try this on the Fornaxdev SMCE this time around. My funding request to the Astropy Project to make a Jupyterhub for the Astropy workshop was approved. We could potentially use that setup as an alternative to mybinder.org for our workshop participants who need a backup solution.

I suppose we can close this for now and revisit next year? Reopen if disagree.


Next/Previous on swiper component not working in IE.

Using the examples page in IE11, clicking on the next or previous arrow doesn't change the slide. However, using the wrapper as a directive in the examples page makes it work.

I think my example html is missing the doctype which makes IE to run in compatibility mode. I will add the doctype tomorrow and then the example should work in IE as well.

It could be also something else, will check tomorrow, but I am pretty sure that the fault is in the example not the library.

Seems to be actually bug in the component. Will soon release a fix.

@sconix  any updates on this? Currently I'm facing issues when having only two slides in IE11.

As you can see this was closed over year a go so fix has been released. And its still working in IE11 for me.

Had a custom CSS hiding all slides but the active one; it was interfering with visibility of the first slide only on IE11. Thanks for the quick response! 💨


python312Packages.graph-tool: 2.72 -> 2.74

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.graph-tool is: Python module for manipulation and statistical analysis of graphs
meta.homepage for python312Packages.graph-tool is: https://graph-tool.skewed.de
meta.changelog for python312Packages.graph-tool is: https://git.skewed.de/count0/graph-tool/commits/release-2.74
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.74 with grep in /nix/store/ywi6zr8i5p9ph8p3hmkr56lxabrcvgpi-python3.12-graph-tool-2.74
found 2.74 in filename of file in /nix/store/ywi6zr8i5p9ph8p3hmkr56lxabrcvgpi-python3.12-graph-tool-2.74

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ywi6zr8i5p9ph8p3hmkr56lxabrcvgpi-python3.12-graph-tool-2.74 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.graph-tool https://github.com/r-ryantm/nixpkgs/archive/58c0a31ae2e0bea3cf7c186728931481b4baf960.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/58c0a31ae2e0bea3cf7c186728931481b4baf960#python312Packages.graph-tool

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ywi6zr8i5p9ph8p3hmkr56lxabrcvgpi-python3.12-graph-tool-2.74
ls -la /nix/store/ywi6zr8i5p9ph8p3hmkr56lxabrcvgpi-python3.12-graph-tool-2.74/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

Maintainer pings

Already on master.


Link to full documentation is broken

In the Readme there's a link to the full documentation at https://mohamedrejeb.github.io/Compose-Rich-Editor/ which returns a 404 error.

Thanks for reporting this, I will fix it!


An external img should not generate an import statement

Describe the bug
Here's the setup. Page1.vue contains an external image that doesn't exist in this repo**:
<img alt="smpte bars" class="logo" src="/img/aaaSMPTE-color-bars.png" />

There's a entry-point-1.ts file which includes the Page1.vue file, and that entry point file is specified as an
input in the vite.config.ts config. The vite.config.ts also has a rollup config that specifies that PNG to be
external:
export default defineConfig({
  // ...
  build: {
    rollupOptions: {
      input: [
        'src/entry-point-1.ts',
      ],
      external: [
        '/img/aaaSMPTE-color-bars.png',
      ],
      // ...
    }
  },
  // ...
})

Expected Behavior
Run npm run build.
After running npm run build, the generated .js file should not attempt to import anything for that <img> source, and the string literal /img/aaaSMPTE-color-bars.png should be left intact when rendering that <img>. That <img> is expected to be completely external (honoring the rollup config), and should be ignored by any client code.
Actual Behavior
The build does not ignore that <img> tag, and generates an import statement that expects that image file to be in a relative
location, i.e. in the build output,
File dist/assets/entry-point-1.e49989cd.js:
[blahblahblah]import n from"../../img/aaaSMPTE-color-bars.png";[blahblahblah]()=>p("img",{alt:"smpte bars",class:"logo",src:n},null,-1)

That import breaks at runtime on the client side. That import should not exist in the build output, and the rendering of the "img" tag should be a static string value rather than the imported variable (n).
Reproduction
https://github.com/bseib/vue-vite-external-static-image
System Info
$ npx envinfo --system --npmPackages '{vite,@vitejs/*}' --binaries --browsers

  System:
    OS: Windows 10 10.0.19042
    CPU: (8) x64 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
    Memory: 4.69 GB / 15.81 GB
  Binaries:
    Node: 14.15.4 - C:\Program Files (x86)\Nodist\bin\node.EXE
    Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.14.10 - C:\Program Files (x86)\Nodist\bin\npm.EXE
  Browsers:
    Chrome: 100.0.4896.127
    Edge: Spartan (44.19041.1266.0), Chromium (101.0.1210.39)
    Internet Explorer: 11.0.19041.1566

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

To reproduce the issue:
git clone git@github.com:bseib/vue-vite-external-static-image.git
cd vue-vite-external-static-image
npm install && npm run build

Or here's the same code running on stackblitz that can demonstrate the issue:
https://stackblitz.com/edit/vitejs-vite-t5npgf?file=dist%2Fassets%2Fentry-point-1.ede3131f.js&terminal=dev
You can see the erroneous output in the entry-point-1.ede3131f.js file on StackBlitz, but might be easier to follow along and see the screenshot in the github issue linked above.
There are more details in the github repo link, and a broken.html file you can use to actually see this fail. I tried to document the things I tried in the README of that repo. I couldn't get StackBlitz to serve up the broken.html failure, since it is a product of build-time, whereas stackblitz is really good at dev-time demonstrations. But you can follow the instructions in the github example to see it break.

Thanks @LinusBorg for getting my post into the correct repo. Thorsten already did some homework, which I am copy/pasting from the other place where I had opened the issue.

This is pretty certainly a problem with vite, maybe more specifically its vue plugin (also maintained in the vite repo).
Noteworthy to mention when moving you issue there:

the issue, in its reported form, happens because you added the path to rollupOptions.external
however when you don't do that, and the file is not present in /public under that path, you get an error reported that rollup can't resolve an import for that path - and get a recommendation to add it to rollupOptions.external, which is likely how you end up where you did.

But our template compiler leaves absolute paths untouched:

See JS tab on the right side of this playground
So my non-expert opinion is that Vite somehow stille extracts this path, makes it part of its module graph and tries to resolve its existance (likely because it also does that during dev to be able to serve it? rollup/vite should just ignore this path during build, or maybe issue a warning to make you aware the file was not found in /public (where it's supposed to be found normally).
TBH I could be really wrong in my reasoning as to why vite fails here but at the end of the day, in one way or another this is to be solved in vite / @vitejs/plugin-vue IMHO

Here's the culprit:
https://github.com/vitejs/vite/blob/c7eeb8d69253d16dc9413d59cc13e45977a8c105/packages/plugin-vue/src/template.ts#L126-L132
this option is forced to be set and is responsible for absolute paths to be part of the asset pipeline.
Please move this to the vite repo, thanks!

Also, looking through other issues here, it's possible that #6931 and #3533 could be related, although I am not certain.

config.assetsInclude's assets load error, but I think this is expect? because vue make the asset import like
import noExistImg from "/img/aaaSMPTE-color-bars.png"

if /img/aaaSMPTE-color-bars.png no exist I think call error is better

Here's the culprit:
https://github.com/vitejs/vite/blob/c7eeb8d69253d16dc9413d59cc13e45977a8c105/packages/plugin-vue/src/template.ts#L126-L132
this option is forced to be set and is responsible for absolute paths to be part of the asset pipeline.
Please move this to the vite repo, thanks!

This is fixed in https://github.com/vitejs/vite/pull/6779, so if you specify template.transformAssetUrls.includeAbsolute: false to the vue plugin, this issue can be workaround.

Thanks @bluwy, I just tried out this workaround (in vite v2.9.8). But I didn't get it to work. Did I specify template.transformAssetUrls.includeAbsolute: false correctly?
Here's what I changed in the vite configs:
diff --git a/vite.config.ts b/vite.config.ts
index 7a073c5..8535119 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -18,7 +18,13 @@ export default defineConfig({
       ],
     }
   },
-  plugins: [vue()],
+  plugins: [vue({
+    template: {
+      transformAssetUrls: {
+        includeAbsolute: false
+      }
+    }
+  })],
   // resolve: {
   //   alias: {
   //     '@': fileURLToPath(new URL('./src', import.meta.url))

(Or see the entire vite.config.ts file in my workaround branch.)
I get the exact same output with and without the workaround in the configs. Either way, running npm run build produces the exact same output. The file dist/assets/entry-point-1.e49989cd.js still contains:
[blahblahblah]import n from"../../img/aaaSMPTE-color-bars.png";[blahblahblah]()=>p("img",{alt:"smpte bars",class:"logo",src:n},null,-1)

Did I apply the workaround incorrectly?

I think that you should not add these images to rollupOptions.external

Okay, I gave that a shot:
vite.config.ts:
import { fileURLToPath, URL } from 'url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  build: {
    manifest: true,
    rollupOptions: {
      input: [
        'src/entry-point-1.ts',
        'src/entry-point-2.ts',
      ],
      external: [
      ],
    }
  },
  plugins: [vue({
    template: {
      transformAssetUrls: {
        includeAbsolute: false
      }
    }
  })],
})

But now I'm back to Rollup being unhappy with me:
$ npm run build
npm WARN lifecycle The node binary used for scripts is C:\Program Files (x86)\Nodist\bin\node.exe but npm is using C:\Program Files
(x86)\Nodist\v-x64\14.15.4\node.exe itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm
 was executed with.

><EMAIL_ADDRESS>build C:\git\vue-vite-external-static-image
> vue-tsc --noEmit && vite build

vite v2.9.8 building for production...
✓ 8 modules transformed.
[vite]: Rollup failed to resolve import "/img/aaaSMPTE-color-bars.png" from "src/Page1.vue".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
error during build:
Error: [vite]: Rollup failed to resolve import "/img/aaaSMPTE-color-bars.png" from "src/Page1.vue".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
    at onRollupWarning (C:\git\vue-vite-external-static-image\node_modules\vite\dist\node\chunks\dep-e1fc1d62.js:41550:19)
    at onwarn (C:\git\vue-vite-external-static-image\node_modules\vite\dist\node\chunks\dep-e1fc1d62.js:41366:13)
    at Object.onwarn (C:\git\vue-vite-external-static-image\node_modules\rollup\dist\shared\rollup.js:23184:13)
    at ModuleLoader.handleResolveId (C:\git\vue-vite-external-static-image\node_modules\rollup\dist\shared\rollup.js:22474:26)
    at C:\git\vue-vite-external-static-image\node_modules\rollup\dist\shared\rollup.js:22435:26
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `vue-tsc --noEmit && vite build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

did you update @vitejs/plugin-vue?

Whoops! I did not update the @vitejs/plugin-vue, despite acknowledging that I needed to! 😳 🤦♂
Using that workaround, the output looks correct now compared to the previous output, with the excess import statement removed:

I pushed a branch showing this working.
Thanks @LinusBorg and @bluwy .


Fixer.io API Endpoint Deprecation

API is currently scheduled for deprecation on June 1, 2018.

Migrate to new endpoint
Provide support until new endpoint EOL

Message currently being returned:
{"__deprecation_message__":"This API endpoint is deprecated and will stop working on June 1st, 2018. For more information please visit: https://github.com/fixerAPI/fixer#readme","base":"USD","date":"2018-04-16","rates":{"EUR":0.80841}}

@df2k2 any idea when you will be able to implement it? It should be quite straightforward as support for the access key parameter has already been implemented in 4f3d5258561d36b20266dd11886a787dab639fc6.

@sprankhub and @philwinkle - We've got a problem.  The new API requires a paid subscription ($10/month) to set the base currency to anything other than the default, which is EUR.
For example: http://data.fixer.io/api/latest?access_key=...&symbols=CAD&base=USD returned the following:
{"success":false,"error":{"code":105,"type":"base_currency_access_restricted"}}

I also have found a mention of that (https://github.com/fixerAPI/fixer), while verifying the limitation:

Discontinuation of the old API
The old, deprecated Fixer API will be discontinued on June 1st, 2018. Please make sure to adjust your existing implementation to point to the new API endpoint (see above) as soon as possible in order to prevent service disruption on the planned shutdown date. In case you have any questions, please feel free to contact us using the email address below.

Thoughts?

Shit. Thanks for your research! I shortly researched different services, but they all seem to have the same limits. Anyway, your suggestion sounds good to me @df2k2! Will you implement it?

@sprankhub - I can definitely implement it.  I think it would also be beneficial to implement a check for subscription-level to determine if we can use the method that allows for a base currency parameter.  If not a check for a subscription-level, then a first attempt using the base currency parameter, with a fall-back to the conversion.
Sound good?
I can have it implemented by early next week.

Sounds good! Either with a config option, where you can choose your subscription type (free vs. paid) or you are able to determine that via the API. Thanks @df2k2!

@sprankhub - I have begun working on the update.   Here are a couple updates:
Accuracy of Conversion
I have triple-checked the accuracy of the 'converted' rates and they appear to be more accurate, cross-referenced with those on https://www.xe.com/, than the rates from the current soon-to-be-deprecated API.

From
To
Converted (New API)
XE.com
Legacy API

1 USD
GBP
0.72554
0.72547
0.72659

1 USD
AUD
1.32040
1.32003
1.32350

API Usage Estimates
Currently, each conversion would cost one API call.   I had an initial concern about reaching the limit of API calls per month, but I've since determined that to not really be a concern.  I took an example where a  platform that would support five currencies and make five daily conversions, would result in roughly 750 monthly API calls.
Initially, I had begun to implement the updated methods to obtain all the rates for system config's 'allowed currencies', then traverse that array in order to reduce the number of API calls.   I've decided to shelve those changes for now.
Final Updated Decisions
Given the accuracy of exchange rates to three digits after the decimal place (thousandths) using the free method with the conversion math, I've decided to shelve the changes I have begun making that support paid accounts.  If a user would like this feature to be implemented, then they can request it.

I'll accept suggestions on rounding and significant digits after the decimal

Closed with #23! Thanks @df2k2

@sprankhub - Should it be encrypted?  Yes, absolutely.
Something similar to this, yes?
    /**
     * Encrypt data
     *
     * @param   string $data
     * @return  string
     */
    public function encrypt($data)
    {
        if ($data) {
            return Mage::helper('core')->encrypt($data);
        }
        return $data;
    }

    /**
     * Decrypt data
     *
     * @param   string $data
     * @return  string
     */
    public function decrypt($data)
    {
        if ($data) {
            return Mage::helper('core')->decrypt($data);
        }
        return $data;
    }

@df2k2 something like this, yes. But I think you do not need the encrypt method. It should be enough to define the backend model of the config value:
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>

Then you only need to decrypt properly after Mage::getStoreConfig.

@sprankhub,
Thanks for the guidance here.  I've applied the update and opened a pull request for @philwinkle.

Hi @philwinkle, could you please tag a new stable version including the new API endpoint support?

@mmenozzi done. See v0.4.0

Thank you @philwinkle!

We updated on Magento <IP_ADDRESS> and while the manual updating of currencies works fine, the automatic scheduled rate update doesn't update the rates.  The API is being polled daily as we can see on our accounts at fixer.io but the rates have not changed in 2 days, no currency update failed emails.

I'm Having a bit of problem getting my head around the API Calls, I have subscribed to a Professional Plan - monthly (100,000) on a Magento multi stores as per my screen shot below, but i keep running out  of my monthly requests, i don't know how to lower these api calls down, can someone please shade some light here?

I'm Having a bit of problem getting my head around the API Calls, I have subscribed to a Professional Plan - monthly (100,000) on a Magento multi stores as per my screen shot below, but i keep running out of my monthly requests, i don't know how to lower these api calls down, can someone please shed some light here?

Yikes... I see a possible 36 api requests in your list, however, 6 of them would be 1:1=1.000 (ie, AUD:AUD, EUR:EUR), etc... So that would mean your limit is hit after 2778 times of all 36 items being requested. That's certainly not correct. How often do you have the scheduling of updates done? Do you know if there are CRON jobs handling this? How often do they run.. Are you updating this real time? Do you think someone may have compromised your key?

I have schedule this in Magento to run every day which runs through Magento cron jobs, i have now changed to run weekly but haven't seen any results as yet since i've already ran out of monthly limits,
No i don't think someone may have compromised my key.

The algorithm can definitely be updated to be more efficient -- for example, using the free-version:
http://data.fixer.io/api/latest?access_key=&symbols=USD,GBP,EUR,AUD,NZD,ZAR
yields:
{
  "success": true,
  "timestamp":<PHONE_NUMBER>,
  "base": "EUR",
  "date": "2019-08-27",
  "rates": {
    "USD": 1.110063,
    "GBP": 0.90418,
    "EUR": 1,
    "AUD": 1.6416,
    "NZD": 1.74335,
    "ZAR": 17.01948
  }
}

Since 0.90418 GBP =1 EUR = 1.6416 AUD, we could divide GBP/AUD to obtain the (top row) GBP to (left side) AUD exchange rate:
0.90418 GBP / 1.6416 AUD = 0.550791910331384
TOP / LEFT = Exchange Rate
0.550791910331384 GBP = 1 AUD
Symbol	AUD	EUR	GBP	NZD	USD	ZAR
AUD	1.6416/1.6416	/1.6416	/1.6416	/1.6416	/1.6416	/1.6416
EUR	1.6416/1		0	0	0	0
GBP	1.6416/0.90418	1/0.90418	0.90418/0.90418	1.74335/0.90418	1.110063/0.90418	17.01948/0.90418
NZD	0	0	0	0	0	0
USD	0	0	0	0	0	0
ZAR	0	0	0	0	0	0
Looking at the numbers you have obtained from your pro-account and using the formulas, I've exactly calculated the values in your chart.
Therefore, we would only need to obtain 1 base currency, and it's exchange rate for each other currency -- the rest would be calculated without any difference in value obtained from API.

Can the above solution be implemented and committed the plugin for M1? Or would this lower my call requests if i just schedule from Magento back-end to run weekly?

So, I have setup my Magento cron job to run every 5 mins, and reason for this is because of Magento order transnational emails, now i can see that whenever i enable the scheduled import settings for Fixer.io in the back end, this runs every 5 min which costs about 30 API usage no matter what the frequency is set to (daily, weekly or monthly). can you please advise if there is a way to set a specific cron job only for Fixer.io ?

Someone came up with a free version to do this. You can check it here. https://exchangeratesapi.io/


Add link to the code of conduct from contributing guides.

This is inspired by Angluar.js
(https://github.com/angular/angular/blob/master/CONTRIBUTING.md), among others.
Thanks to Jeff Triplett for the prod.

Thank you for the quick response!

:+1:

merged in f043434174db3432eb63c341573c1ea89ef59b91, thanks!