Simplify return convention of verify_ functions

See https://github.com/ethereum/c-kzg-4844/issues/139

This is still a draft. Haven't started adapting the bindings yet.

Pushed some more work here.
I have a question about the Java bindings (/cc @StefanBratanov @benjaminion):
The java bindings right now, upon receiving a bad KZG proof, might either throw an exception (when we go OOM, or when a group element is not canonical) or return false (if the verification equation fails). This is a bit weird because an adversary can send a non-canonical group element or a non-verifying proof with the same ease, and they will be handled differently.
With this PR we can simplify this logic. What would you prefer to do here? Here are some options:

Make all the verification functions have no retval. If they finish without any exceptions, then the proof is totally valid. Exceptions can be fine-grained but will be handled by clients.

Throw exception only for exceptional things (e.g. OOM) and return false for bad proof (either bad verification, or non-canonical group element). Return true for valid proof.

Simply return true or false, where true means that everything went fine. False means a variety of issues and they must be handled all the same.

I don't know enough java or teku to figure out which one is better, so some help would be appreciated.

Finally one logistical question (/cc @jtraglia ):
Should I wait for #155 to get merged before I continue here, since a non-trivial amount of work is spent on updating the ASCII tests. Or should we merge #155 after this one?

Pushed some more work here.
I have a question about the Java bindings (/cc @StefanBratanov @benjaminion):
The java bindings right now, upon receiving a bad KZG proof, might either throw an exception (when we go OOM, or when a group element is not canonical) or return false (if the verification equation fails). This is a bit weird because an adversary can send a non-canonical group element or a non-verifying proof with the same ease, and they will be handled differently.
With this PR we can simplify this logic. What would you prefer to do here? Here are some options:

Make all the verification functions have no retval. If they finish without any exceptions, then the proof is totally valid. Exceptions can be fine-grained but will be handled by clients.
Throw exception only for exceptional things (e.g. OOM) and return false for bad proof (either bad verification, or non-canonical group element). Return true for valid proof.
Simply return true or false, where true means that everything went fine. False means a variety of issues and they must be handled all the same.

I don't know enough java or teku to figure out which one is better, so some help would be appreciated.
Finally one logistical question (/cc @jtraglia ):
Should I wait for #155 to get merged before I continue here, since a non-trivial amount of work is spent on updating the ASCII tests. Or should we merge #155 after this one? In that case, we can just return false.

I like 3 and the current java interface won't change now which is a plus. Otherwise we need to interpret the error in Teku and check if it is actual issue or an invalid proof. My understanding is that C_KZG_BAD_VERIFY means basically proof is not valid right?  In that case, we can return false. We return true if C_KZG_OK is returned and throw an exception in all other cases as we do now throughout the java bindings.

Pushed work on Java bindings as well based on discussion with @StefanBratanov . Plus it seems to be following the stdlibs convention https://docs.oracle.com/javase/7/docs/api/java/security/Signature.html#verify(byte[])

Went over all the bindings, but did not update the test ASCII parsing, since we haven't decided what we should do with this.

Should I wait for #155 to get merged before I continue here, since a non-trivial amount of work is spent on updating the ASCII tests. Or should we merge #155 after this one?

I think we should merge #155 first.

Pushed work on Java bindings as well based on discussion with @StefanBratanov . Plus it seems to be following the stdlibs convention https://docs.oracle.com/javase/7/docs/api/java/security/Signature.html#verify(byte[])

By the way nice implementation, thanks, didn't know JNI_TRUE/JNI_FALSE existed. Makes it cleaner.

Should I wait for #155 to get merged before I continue here, since a non-trivial amount of work is spent on updating the ASCII tests. Or should we merge #155 after this one?

I think we should merge #155 first.

I'm not so sure anymore. Seems that I'll need to update that PR to work with yaml tests instead of json, probably with a new PR. So nevermind, I think we should complete/review/merge this PR first.

I think this can be reviewed now!
Summary of changes to each of the bindings:

Rust bindings return Ok(()) if verification worked, or an appropriate Error otherwise (as part of a Result) (cc @pawanjay176)
Java bindings maintain the same semantics: Returns true if verification went well, false if verification equation failed, and throws an exception at any other event (including non-canonical elements) as discussed above https://github.com/ethereum/c-kzg-4844/pull/158#issuecomment-1448122392 (cc @StefanBratanov)
Python bindings don't return any retval for verification functions and just throw an exception if verification fails. (see here for an example of a similar API).
I left the Node bindings with the same semantics as before (identical to Java semantics above). But they can be simplified if they follow the logic of the Python bindings below. (cc @matthewkeil)
C# bindings now just use C_KZG_RET directly (cc @flcl42)
Golang bindings return only the CKzgRet now and it should be checked by its caller (like before)

I also CCed the various maintainers in this message to make sure they notice this subtle change of API. I made each binding change on a separate commit to make reading easier.

I left the Node bindings with the same semantics as before (identical to Java semantics above). But they can be simplified if they follow the logic of the Python bindings below. (cc @matthewkeil)

@asn-d6  I mocked up a couple of examples for returning bool vs void.  What are your thoughts?  I tend to lean toward the bool value like the java bindings so that conditional is implicit in the function call, but honestly its not a strong opinion.  @dapplion would you like to weigh in?
  const valid = verifyBlobKzgProof(blob, commitment, proof);
  // non-validation errors would percolate up to the outer context catch to be handled as a 500-esque error
  if (valid) {
    throw new Error(`throw an error with ${some_meta} from calling scope`);
  }
//
// --- vs ---
//
  try {
    verifyBlobKzgProof(blob, commitment, proof);
  } catch (err) {
    if (err.message.includes("C_KZG_BAD_VERIFY")) { // or similar to separate out validation vs server errors
      throw new Error(`throw an error with ${some_meta} from calling scope`);
    }
    throw err;
  }

After discussion with the client devs, it seems like C#, node and Java prefer the old interface of return true for correct verification, return false for bad equation, throw exception for non-canonical element/oom. For this reason, let's scratch this PR as it would simplify the base kzg layer, but then the bindings would get more complicated. Let's revisit if needed.
Thanks everyone for the feedback!


Not Working - Chromium revision is not downloaded

I maybe did something wrong, or missed a package somewhere but it doesn't work.

It suggested me to npm install but that already went well.

I'm on Windows and I did install node.js, aria2c and ffmpeg and added them to the $PATH variable.

Hi,
try these steps that I found online (this error seems pretty common, but it's about puppeter):

Remove lock file "package-lock.json"
Run npm cache clean --force inside the PoliDown folder
Run npm install

Let me know if it resolves your issue

Hi,
try these steps that I found online (this error seems pretty common, but it's about puppeter):

Remove lock file "package-lock.json"
Run npm cache clean --force inside the PoliDown folder
Run npm install

Let me know if it resolves your issue

No it didn't work... same error

Then you could try to hardcode the Chromium executable path in this way:

You have to add
executablePath: "./node_modules/puppeteer/.local-chromium/win64-656675/chrome-win/chrome.exe",
inside the file polidown.js, as puppeter launch option.
"win64-656675" in the path could be different. Navigate to that path (in the PoliDown folder) and copy your version number.

It seems like I don't have the .local-chromium folder

Sorry for the late reply.
From the screenshot, seems you are on a Debian distribution. Is that right?
If so, try to install some dependencies running this command:
sudo apt-get install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
Then cd inside the PoliDown folder and try npm install puppeteer
And so check if now you have the .local-chromium folder

Try to reinstall everything from the beginning, it worked for me


Update sbt-microsites to 0.9.6

Updates com.47deg:sbt-microsites from 0.9.4 to 0.9.6.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.47deg", artifactId = "sbt-microsites" } ]

labels: semver-patch

Codecov Report

Merging #1164 into master will decrease coverage by 0.09%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #1164     +/-   ##
=========================================
- Coverage   80.52%   80.43%   -0.1%
=========================================
  Files          54       54
  Lines        1022     1022
  Branches       45       45
=========================================
- Hits          823      822      -1
- Misses        199      200      +1

Impacted Files
Coverage Δ

core/src/main/scala/io/finch/Endpoint.scala
72.37% <0%> (-0.56%)
:arrow_down:

Continue to review full report at Codecov.

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


Empty node

if I create a model of node only with one tag "non-osm"
then when a point is added, that sends a empty node in osm,

MC should not let the user create a POI without OSM tags, that's the real bug.

It's fixed in the soon-to-be-released new version of MapContrib. Can we close this issue?

yes, we do


fix: panic when dumping memory profile

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Resolves #12254
See also https://github.com/risingwavelabs/jemallocator/commit/c72ce6a9a6ca070f65644d3f3d77f4633c2fde47
The bug is dump.prefix is write-only. Now use opt.dump_prefix instead.
Also resolves https://github.com/risingwavelabs/risingwave/pull/12186#discussion_r1320966334
Checklist

[ ] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[x] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

Encountered a weird problem: simulation test stack overflowed. @wangrunji0408 is helping with it.
gdb_bt.txt

Encountered a weird problem: simulation test stack overflowed. @wangrunji0408 is helping with it.
gdb_bt.txt

Found the problem from stack trace:
jemalloc init -> get system time -> intercepted by madsim -> get thread local variable -> malloc -> jemalloc init (infinite loop 💥)
I can't reproduce it on my Mac. Looks like the problem is only on Linux.

It might be related to unprefixed_malloc_on_supported_platforms. Since I moved the dependency to workspace level, this is enabled globally. Let me try to disable it for simulation test.

Looks like the problem is only on Linux.

Yes, because unprefixed jemalloc is not available in MacOS.

It might be related to unprefixed_malloc_on_supported_platforms.

Yes. I can reproduce it on Linux with this feature enabled. And the bug disappeared when I disabled this feature.

Since I moved the dependency to workspace level, this is enabled globally.

Oops. 🫨 I'm not sure about this. Is that true?

It might be related to unprefixed_malloc_on_supported_platforms.

Yes. I can reproduce it on Linux with this feature enabled. And the bug disappeared when I disabled this feature.
I'm curious about what specific things this feature does. 🤯 https://github.com/tikv/jemallocator/blob/0f8983f71813c6e052c6ab445e965c4b0a7e251e/jemalloc-sys/README.md?plain=1#L72

It's to solve https://github.com/risingwavelabs/risingwave/issues/9669


[meshcop] Do not check keep-alive timeout when active commissioner re-petitions

This commit allows a recorded active commissioner's petitioning immediately accepted, but no need to wait until keep-alive timer expires.

Close/open to kick Travis.


Rename security page

In the home page, the Security Warning title isn’t really representative of the content, since it contains the supporting documents.
A better name may be “Security & Miscellaneous”.  But, that’s longer. How about “Admin”?  Update: stakeholder agreed on Admin.

Done.


@conda-forge-admin, please remove bot automerge

Additional comment:
There is an incoming change to the minimum Aesara version

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I removing bot automerge in conda-forge/aeppl-feedstock#40.


Add Universidad Bolivariana del Ecuador

Domain: https://ube.edu.ec/
IT related course: https://ube.edu.ec/Ingenieria_sistemas_inteligentes

@gary-reyes-zambrano First stage of verification passed, official domain for Universidad Bolivariana del Ecuador is ube.edu.ec as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@gary-reyes-zambrano Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Allow inline style in VerticalTimelineElement

Useful in many cases: colors returned from the API, increment z-index, etc.

Codecov Report

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

@@           Coverage Diff           @@
##           master       #6   +/-   ##
=======================================
  Coverage   96.55%   96.55%
=======================================
  Files           2        2
  Lines          29       29
  Branches        6        6
=======================================
  Hits           28       28
  Misses          1        1

Impacted Files
Coverage Δ

src/VerticalTimelineElement.jsx
95% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks @loun4


Wrong value given for IOTEDGE_LOG environment variable

Hi, I tried to add the IOTEDGE_LOG environment variable as stated on this page, to have more info in the logs, but the "Azure IoT Edge Daemon" service doesn't start afterwards. When I run it "by hand", it states:
`.\iotedged.exe -c .\config.yaml
thread 'main' panicked at 'Could not create Windows EventLogger: Error { inner: ParseLevelError(())
Log level "edgelet=debug" is invalid }', src\libcore\result.rs:1165:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace.`
The value should probably be just "debug" instead of the value specifried in the doc.
Cheers
fred

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 014b28e4-afcd-a151-1819-1eccd31d3715
Version Independent ID: 032a4694-18d7-67eb-56bb-64078d79d6ae
Content: Troubleshoot - Azure IoT Edge
Content Source: articles/iot-edge/troubleshoot.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@FMauroy Please help with the link of document on which above document feedback request is created.
Under this repository we want to make sure any issue is linked to a doc so we can help others that may be having the same issue.

@FMauroy Sorry for the delay. Just wanted to check are you able to execute the steps with only "debug" option?
Adding author @kgremban for further review and update the doc.

Hi, yes, with "debug", it doesn't crash.
The wrong value is stated twice on this page: https://docs.microsoft.com/en-us/azure/iot-edge/troubleshoot
Regards
fred

edgelet=debug is correct. Unlike debug, it will only print debug logs from our code, instead of all third-party code as well.
I'll check why it crashes instead.

For Windows, we also reuse the log level env var for instantiating our own logger that wraps ReportEventW. However here we assume the env var is set to a single level like debug rather than the full range that the regular logger (env_logger) supports. I'll file a bug against us to think about how to handle this.
As for this docs page, there is one mention of edgelet=debug for Linux and one for Windows. Only the latter one needs to be changed, because as I said the filtering to edgelet (ie the Microsoft code in iotedged and not the third-party code) is useful to retain. Maybe also add a note pointing out the difference between Linux and Windows below the Windows example.

Hi! The appropriate change to the Windows instructions is being included in a pull request now.
The Linux instructions have been left unaltered, but the Windows instructions now contain the correct debug environment variable value.
Thanks for your feedback!

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Exclude tests with known issues

close #3230
Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

close #3230

If this PR is going to close #3230, then we should not reference #3230 in the disable comment. https://github.com/adoptium/aqa-tests/blob/8849710aad46a7aea3416b3e337df8ef6b136a74/system/otherLoadTest/playlist.xml#L54
This creates a loop where a disabled test is referencing a closed issue. It will create problem for disabled test pipeline in the future.

and I guess this is really only going to exclude in nightlies running off master...  after we review the other triaged test, we could consider pushing exclusions to the v0.8.0-release branch


UUID not being pulled when logging into the downloadble client

I logged into the downloadble client multiple times but it's not getting my uuid for some reason. Is this normal?

I used the Studio Liberator (Basically this tool but with cool music when you open it) and this never happened. Now that the downloadable client is the only option it seems that it's impossible to use this tool now.
Sad, since I wanted to draw using my tablet :(

this is a problem i am having too. ive been trying for 4 hours to figure out a way to obtain the UUID, i cannot figure it out.

I'm going to be honest, I don't think it's possible to use the tool again with the animal jam app, it's best to just draw regularly for now!


Decoder Identification bits are the wrong way around

The Decoder Identification bits are the wrong way around. The RDS specification says that the most significant bit (d3) gets transmitted first (Dynamic PTY). This corresponds to segment address 0. Your code interprets this as the stereo bit.

You're right, thanks a lot for the fix!


Mention that AnimatedTexture doesn't support atlases

Resolves #29804
Also included a small fix in AtlasTexture docs.

Thanks!


Distinguish between Modules and Scripts

Not sure if this is the correct place to ask this so sorry in advance.
In the online parsing page whenever and export or import keyword is introduced the sourceType changes from script to module. I need to mimic this behavior. Is there anyway to do it without the use of try/catch or making a first pass considering the code a module and looking for imports and exports? I'm asking since I need to be able to parse any type of Javascript file without previous knowledge of it.

Already found the piece of code which does it:
function deduceSourceType(code) {
    var type = 'module';

    try {
        esprima.parse(code, { sourceType: 'script' });
        type = 'script';
    } catch (e) {
    }

    return type;
}

the only bulletproof method is knowing beforehand. The following is both a valid module and a valid script:
var a = function() {};
a.name = 'name';
window.a = a;

If parsed and executed as a problem, this example throws, because assigning to function.name is disallowed in strict mode, which all modules are.
However, if you're ignoring the ambiguous case, parsing as a strict first, and then parsing as a module if parsing script fails is the only other way of doing it.
I hope this helps, and yes, asking on the mailing list would've been more appropriate than the bug tracker, so please use that next time.


issues with lethalexpansioncore using mods

when i try to use scrap mods that use lethalexpansioncore as a dependency with this mod, player's death gets inconsistent. people except the host don't sync when they are dead, and it results in dead people talking with alive people or dead people thinking each other is still alive. the voice chat system gets all weird. not only the voice chat is the problem, because it seems to alive people as the dead person is standing still and doing nothing. de-sync between clients except the host. i was using the mod ImmersiveScraps when i found this issue, and i fixed the issue simply by disabling it and lethalexpansioncore. I had similar issues when i had helmet_camers

If you can provide logs of when this happens, I would appreciate it.

I might test it out if I have time, I'll try


Task is not running

@hutnikau
I have created a scheduler using this library but not running when run as php CLI.
use Scheduler\Job\CronRule;
use Scheduler\Job\Job;
use Scheduler\JobRunner\JobRunner;
use Scheduler\Scheduler;

require __DIR__ . '/../vendor/autoload.php';

$executionTime = new DateTime('2019-11-26'); //I need to get current system time automatically
echo (string) $executionTime->format('d/M/Y h:m:s');

$rule = new CronRule('*/1 * * * *', $executionTime); // This will execute at every min
$job = new Job($rule, function () {
    echo "Hello";
});

$scheduler = new Scheduler();
$scheduler->addJob($job);

$jobRunner = new JobRunner();
$reports = $jobRunner->run($scheduler, $executionTime, null, true);
// I dont want to stop the work and I don't want to give a specific time to start. It will start immidiately

It is printing all the hello at a time not cron string wise
Please answer this question

I think you need to use Worker
Please read documentation and do not create issues is you need consultation or assistance.
Issues supposed only to report a bug.


Properties 2.0

Closes #928.

Ah sorry, you'll have to rebase. I just merged the web-sys branch

Still seeing conflicts on this branch. Doesn't look like the rebase worked properly

Hi there! Just a quick question: why did you choose the attributes
#[prop_or_default]
#[prop_or(...)]

instead of, for instance, serde's:
#[props(default)]
#[props(default = "path")]

@totorigolo there's some discussion in the issue #928. Basically, serde supports older versions of Rust and is limited to older syntax for proc macros. Since we don't have that implementation, we thought out what a more intuitive naming syntax would look like and ended up here.

Looks great @AlephAlpha! Thanks 👍


"Lost" Checkbox for Wizard Spells - Automation

Ideally, if lost box is checked, prompt the player to spend a luck to cast the spell.
Really ideally, if a 'lost/fail' result comes up when casting, check this box automatically.

We now pop up a message when a wizard fails to cast a spell (based on a threshold of 12 for the generic Spell Check button and the appropriate value for Spell Items). If casting through a spell with the Casting Mode set to 'wizard' the spell is marked as lot.
Needs a bit more work to make this optional. I've made issue #264 to track that additional task.


[WIP]: Update sub component names

Resolve #1075

I don't think we need to change <Breadcrumbs> and <Breadcrumb>

I don't think we need to change <Breadcrumbs> and <Breadcrumb>

Ended up changing the following components:

Accordion
Card
Banner
List
Menu
Popover
Snackbar
Tabs

The rest of the compound components were already following this naming format.

Ended up changing the following components:

Accordion
Card
Banner
List
Menu
Popover
Snackbar
Tabs

The rest of the compound components were already following this naming format.


[Extension Feature Request] Show brew formula / cask name in addition to display name

I use Brewfile and really enjoy using Raycast extension to search. However it is not possible for me the figure out the right formula / cask name because the extension only displays the "display name" which cannot be used on the command line.

Maybe adding an action to copy the formula/cask name would work?

@tonyxiao thanks for the feedback!
I've added the ability to copy the formula or cask name in the next (pending) update:


Web map tile service imagery provider

Created function createWebTileServiceImageryProvider which utilizes the generic UrlTemplateImageryProvider
@pjcozzi @tiffanylu

I get strange behavior when I use this imagery provider. For instance in http://localhost:8080/Apps/Sandcastle/index.html?src=Imagery Layers Manipulation.html&label=Beginner changing the dropdown to USGS and unchecking all the options except tile coordinates and then zooming past 6 levels causes problems.
However, I get the same results with the current implementation of Web map tile service imagery provider (which can be seen by following the same steps here: http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Imagery Layers Manipulation.html&label=Beginner)
Let me know if you have an idea why this is the case.
Still to do in this pull request is to finish the deprecation process for Web map tile service imagery provider.
Thanks!
Adam

Let me know if you have an idea why this is the case.

This could just be an issue with the data the service is returning, not the request Cesium is making.  I am not 100% sure though.  Can you please submit a separate issue about it?

Still to do in this pull request is to finish the deprecation process for Web map tile service imagery provider.

Put a task list in the top comment of this pull request to manage what is left like in #3225 for example.

Part of #2814.
@kring in #2814, you said implementing WebMapTileServiceImageryProvider with UrlTemplateImageryProvider may be complicated.  This looks straightforward.  Are we missing something?

Did you run the tests?  There are several failures:

Never open a pull request with failing tests unless part of the pull request comment is asking for help on why they are failing.

In my recent update, I fixed the way the urlTemplate is constructed and completed the deprecation process for WebMapTileServiceImageryProvider. I listed it for deprecation in 1.19, does that sound right? When tested by hand, the map imagery shows up as expected (aka. the same way it shows up on cesiumjs.org currently).
After these changes I'm still failing 5 tests  in the spec, mostly the result of two separate problems. The first is that two tests expect to access the format by using 'provider.format' (seen here: https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Specs/Scene/createWebMapTileServiceImageryProviderSpec.js#L223 and https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Specs/Scene/createWebMapTileServiceImageryProviderSpec.js#L254). I believe that this issue should be resolved by removing those two line from the spec code.
Another two tests fail because WebMapTileServiceImageryProvider provides an option for passing tileMatrixLabels which map labels to strings. As a result tests like this fail:
Expected '1' to equal 'second'." As of now I do not think there is any way to set up labels in UrlTemplateImageryProvider. One option here is to remove providing labels as an option for createWebTileServiceImageryProvider.
Finally, the last test which fails is this: Expected function 'getTileCredits' to exist on WebMapTileServiceImageryProvider because it should implement interface ImageryProvider. I can't figure out why this fails because UrlTemplateImageryProvider does define the function getTileCredits: https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Source/Scene/UrlTemplateImageryProvider.js#L447.
Please let me know what you think I should do to solve these testing issues.
Thanks!

@adamdavidcole can you merge in master.  There is probably a trivial conflict in CHANGES.md.

I listed it for deprecation in 1.19, does that sound right?

Yes

The first is that two tests expect to access the format by using 'provider.format' (seen here: https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Specs/Scene/createWebMapTileServiceImageryProviderSpec.js#L223 and https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Specs/Scene/createWebMapTileServiceImageryProviderSpec.js#L254). I believe that this issue should be resolved by removing those two line from the spec code.

This is fine since it is a breaking change; createWebMapTileServiceImageryProvider returns a UrlTemplateImageProvider, which does not have this property.
However, please make sure that the KVP requests that use the format still work, e.g., https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Source/Scene/WebMapTileServiceImageryProvider.js#L201

Another two tests fail because WebMapTileServiceImageryProvider provides an option for passing tileMatrixLabels which map labels to strings. As a result tests like this fail:
Expected '1' to equal 'second'." As of now I do not think there is any way to set up labels in UrlTemplateImageryProvider. One option here is to remove providing labels as an option for createWebTileServiceImageryProvider.

I think you need to add support to UrlTemplateImageryProvider for this in one form or another, e.g., see https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/WebMapTileServiceImageryProvider.js#L167

Finally, the last test which fails is this: Expected function 'getTileCredits' to exist on WebMapTileServiceImageryProvider because it should implement interface ImageryProvider. I can't figure out why this fails because UrlTemplateImageryProvider does define the function getTileCredits: https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Source/Scene/UrlTemplateImageryProvider.js#L447.

Replace this test with a test like this: https://github.com/tiffanylu/cesium/blob/webMapTileServiceImageryProvider/Specs/Scene/createOpenStreetMapImageryProviderSpec.js#L34

@adamdavidcole thanks for your initial work on this; we're going to hold off for now.  Hope you are having a great summer and thanks again for all your past contributions to Cesium!


What is Seafox?

This is my private parser code made public. It strictly conforms to the standard ECMAScript® 2020 (ECMA-262 10th Edition) language specification, and can not be used as an drop-in replacement for other parsers.
The main reason for this is that all parsers uses a parse() method - Seafox uses either  parseScript or parseModule.
Seafox focus only on performance, and if you are soft hearted and / or can't understand super low level code - this parser isn't for you :)
I would recommend to use the Meriyah parser instead of Seafox if you need a parser that behave like other public parsers, and also if you are in need of performance even the fact that Seafox is 15 - 25 % faster than the mentioned parser.

Would using /^(im|ex)port /m to decide between parseScript and parseModule defeat the performance gain of using Seafox over Meriyah?
import { parseModule, parseScript } from 'seafox'

const moduleRE = /^(im|ex)port /m

const parse = (content: string) =>
  moduleRE.test(content)
    ? parseModule(content)
    : parseScript(content)

That wouldn't work if you have import inside a string, a comment, or if you use dynamic import. For example, this is a valid script:
/*
import it!
*/
` this is not an
import `
import (a).then(() => {});

Yeah, there are tradeoffs. But my question stands :)

It shouldn't "kill" the perf, but if it's the perf you prefer and you don't are about ESTree or Babel AST, you can wait for my new CST parser.  You can test it here.  Note most of he CST info are packed bitwise masks on the 'NodeFlags' to increase perf even more.


feat: skip .lef at shuttle top level

Tim Edwards confirmed that we don't need the top level .lef file. This is the first half of the change to remove it by not including it in the GDS and efabless_submission artifacts. Let's try a platform precheck & tapeout job with this merged, and if it passes, I can send the other PR to tt-multiplexer to not generate the .lef file in the first place.

Thanks! Running now a tapeout job without the LEF (manually deleted it from repositories.efabless.com/urish/tinytapeout-07 for the sake of testing)

Passed.


Tag definition that works.

Tried to code as per the example, but ended up with this

Can you move this example from readme to the developer guide; over here.
And if possible can you use jsfiddle instead of jsbin? Feels more standard (at least to me).
Thank you!

@tipiirai Okies, to which section do you want me to add it?
I like jsbin for various reasons, but if you want it on jsfiddle I can move it.

To the "Creating tags manually"- section:
https://github.com/muut/riotjs/blob/master/doc/guide/index.md#creating-tags-manually

No worries. jsbin is all good.

@tipiirai Okies, will keep just below the TODO sample, BTW demo.zip link is broken.

@tipiirai Done.

Thank you. The demo is here: muut.com/riotjs/dist/riot-2.0.1.zip
There is a token for riot version on the markdown file. It needs to be processed by our static generator before the link starts working.

Thanks, just noticed :+1:


Update chart to use Confluent Kafka version 7

Now that version 7.x is release, it could be useful to have the chart updated to the latest version
I created a umbrella chart to install the version 6.2 with 1 replica and with persistance.
apiVersion: v2
name: kafka
description: Chart for CICD
type: application
version: 0.1.20-dev
appVersion: 1.0.0
dependencies:
  - name: cp-helm-charts
    version: 0.6.1
    repository: "@confluentinc"
    condition: kafka.enabled
    alias: kafka

kafka:
  enabled: true

  cp-zookeeper:
    servers: 1
    imageTag: 6.2.0
    resources:
      limits:
        cpu: 2000m
        memory: 2Gi
      requests:
        cpu: 1000m
        memory: 1Gi
    persistence:
      enabled: false
      dataDirStorageClass: sc-localpv
      dataLogDirStorageClass: sc-localpv
      storageClass: sc-localpv

  cp-kafka:
    brokers: 1
    imageTag: 6.2.0
    persistence:
      enabled: false
    resources:
      limits:
        cpu: 4000m
        memory: 4Gi
      requests:
        cpu: 2000m
        memory: 2Gi
    configurationOverrides:
      "offsets.topic.replication.factor": "1"
      "metrics.topic.replication.factor": "1"
      "default.replication.factor": 1
      "confluent.metrics.reporter.topic.replicas": "1"
      KAFKA_BROKER_ID: 1
      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      CONFLUENT_METRICS_TOPIC_REPLICATION: 1
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      CONFLUENT_SUPPORT_METRICS_ENABLE: "false"
      KAFKA_LOG_CLEANUP_POLICY: "compact,delete"
      KAFKA_LOG_CLEANER_ENABLE: "true"
      "listener.security.protocol.map": "PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT,EXTERNAL_2:PLAINTEXT,EXTERNAL_3:PLAINTEXT"
      #"advertised.listeners": "EXTERNAL://<IP_ADDRESS>:31090,EXTERNAL_2://${HOST_IP}:19092,EXTERNAL_3://localhost:29092"
      "advertised.listeners": "EXTERNAL://<IP_ADDRESS>:31090,EXTERNAL_3://localhost:29092"
      #"listeners": "PLAINTEXT://<IP_ADDRESS>:9202,EXTERNAL://localhost:31090,EXTERNAL_3://localhost:29092"

  cp-kafka-connect:
    imageTag: 6.2.0
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 1Gi
    configurationOverrides:
      "config.storage.replication.factor": "1"
      "offset.storage.replication.factor": "1"
      "status.storage.replication.factor": "1"
      "confluent.metrics.reporter.topic.replicas": "1"
      CONTROL_CENTER_REPLICATION_FACTOR: 1
      CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS: 1
      CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS: 1
      CONFLUENT_METRICS_TOPIC_REPLICATION: 1

  cp-schema-registry:
    imageTag: 6.2.0
    resources:
      limits:
        cpu: 2000m
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 1Gi
    enabled: true
    configurationOverrides:
      "kafkastore.timeout.ms": 3000
      "kafkastore.init.timeout.ms": 180000
      "kafkastore.topic.replication.factor": 1
      "confluent.metrics.reporter.topic.replicas": "1"
      CONFLUENT_METRICS_TOPIC_REPLICATION: 1

  cp-kafka-rest:
    imageTag: 6.2.0
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 1Gi

  cp-ksql-server:
    imageTag: 6.2.0
    resources:
      limits:
        cpu: 4000m
        memory: 3Gi
      requests:
        cpu: 3000m
        memory: 2Gi

  cp-control-center:
    imageTag: 6.2.0
    resources:
      limits:
        cpu: 4000m
        memory: 4Gi
      requests:
        cpu: 3000m
        memory: 2Gi
    configurationOverrides:
      "replication.factor": "1"
      "internal.topics.replication": "1"
      "monitoring.interceptor.topic.replication": "1"
      "metrics.topic.replication": "1"
      "command.topic.replication": "1"
      "confluent.metrics.reporter.topic.replicas": "1"
      CONFLUENT_SUPPORT_METRICS_ENABLE: "false"
      CONTROL_CENTER_REPLICATION_FACTOR: 1
      CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS: 1
      CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS: 1
      CONFLUENT_METRICS_TOPIC_REPLICATION: 1

you merged a PR for Confluent 6.2.1 , this issue was about 7.x release.

@survivant I haven't tested 7.x yet. this issue was closed automatically (by accident)

I didn't test 7.x neither, I'm waiting after you :)  It's far in my backlog


Props unfreeze on paste

Steps to reproduce

Check the Paste Frozen checkbox in the config panel (optional)
Paste this dupe: http://pastebin.com/Gtq6vVzx
Wait for all entities to spawn and see them unfreeze

Expected behavior
All pasted entities are frozen
Actual behavior
All pasted entities are unfrozen
Error(s)
none.

Can confirm, seems to happen with any dupe that triggers the 'slow paste' threshold.
Upon experimentation, it seems E:SetParent() now unfreezes the prop, albeit the physics stay asleep. Should be a simple case of refreezing it.

We should update Workshop soon, once others confirm this works.

Garry! :fist:

Well it was Willox but it improved a lot of the process if I remember what he said

It's fixed

Please update workshop version.


Ensure that all reward-based analysis offers full choices of future/new/new future rewards too

Good: Episode route & heatmaps
Needs fixing/adding to: rewards per waypoint, correlations, training progress, quarterly progress (perhaps not "new" rewards for actual training progress indicators - but certainly do need the choice of future reward for those)

Rewards per waypoint is now coded with all possible options available

Training progress is also now coded

What's left for another day  (a) correlations   (b) quarterly results   - although possibly quarterly results may be rolled into some of the other tasks to greatly expand it

Remaining work covered by new issues #117 and #118 so I can bring release 3.2 to rapid closure and move onwards


/ (slash) character misuse

Looks like sending k/e/y breaks it into k_e_y.
This make the following keys the same, which could create problems:
a/b
a_b
S3 treats them different. S3Ninja, the same.

This is a drawback of the architecture (storing everything in a directory tree). If this is a real problem, we could add an config key which determines the fallabck character / string

thanks for commenting - since you create a folder per bucket, why not create a folder per / ?

Feel free to provide a PR :)

This is mainly a duplicate of #103 - Contributions are still welcome. I'll close this as duplicate however.


Readme should have npm install pdf.js on how to use... And a better tutorial. (I've added a suggestion on how could be improved)

I think is a big oversight forgetting to add this, I had to open package.json to figure out if was even on npm... I haven't seen a readme without npm install ... for long time. and this seem like a big project.

And this installs "pdf.js": "^0.1.0", wtf... OMG is actually installing another package https://github.com/stanfeldman/pdf.js, what a mess. How to use this with the regular npm install?

Ok, I saw now burried in a block of text.. is npm install pdfjs-dist... I think should be way way more obvious.

Tutorial could be so much better
How to actually use it with npm
Installation
Install: yarn add pdfjs-dist @types/pdfjs-dist (replace yarn add for npm install if you use npm. Also remove @types/pdfjs-dist if you don't use typescript.
Setup
// We need to get the url of the worker (we use min for prod)
import workerSrc from '!!file-loader!pdfjs-dist/build/pdf.worker.min.js'
// Use require because import doesn't work for some obscure reason. Also use `webpackChunkName` so it will not bundle this huge lib in your main code
const pdfjsLib = require(/* webpackChunkName: "pdfjs-dist" */ `pdfjs-dist`)
// Now you assign the worker file path to the `pdfjsLib` (yes, it's that cumbersome)
pdfjsLib.GlobalWorkerOptions.workerSrc = workerSrc

Usage
Add a <canvas id="pdf-canvas"/> to your HTML.
Then in a js file put:
    // Loads the actual pdf
    const pdf = await pdfjsLib.getDocument(props.url).promise
    // Opens page 1?
    const page = await pdf.getPage(1)
    // Creates or gets a viewport?
    const viewport = page.getViewport({scale: 1})

    const canvas = document.getElementById('pdf-canvas')
    const context = canvas.getContext('2d')
    canvas.width = 600
    canvas.height = 300

    const renderContext = {
      canvasContext: context,
      viewport: viewport,
    }
    page.render(renderContext)

This is what I'd expect from a tutorial TBH. Yes, I complain about it, but I also give you a way to improve.
Minor details in guides
All these small details gives me the impression of a poorly written library. (even if it might not be)
canvas.height = viewport.height;
canvas.width = viewport.width;

Why in the world would you switch width, height order to height, width? Just wasted time to fix bug where I expected width and height ordering.
Promises async await
Mentions await in many places, but tutorial is loadingTask.promise.then... let's write some nice code with async await
Still on es5?
vars, no arrow functions...
Naming
const loadingTask = pdfjsLib.getDocument(props.url), loadingTask is weird
the-canvas... come on..

I'm talking about https://mozilla.github.io/pdf.js/examples/index.html#interactive-examples

Generally speaking: Most of the examples provided are purposely generic, and not framework/bundler specific, since it's very difficult to maintain and support a wide range of different of frameworks/bundlers for the regular PDF.js contributors.
Note that https://mozilla.github.io/pdf.js/examples/index.html#hello-world-walkthrough contain links to additional examples.

Webpack specific code [...]

For the reasons outlined above, we don't want to advertise e.g. Webpack specifically in basic examples; however the examples folder contains the following: https://github.com/mozilla/pdf.js/tree/master/examples/webpack

[...] so I think this example makes more sense than using the cdn

It may be more appropriate for your use-case, but everyone probably isn't using Webpack,

Also remove @types/pdfjs-dist if you don't use typescript.

No one should be using those, since they're not official and most likely neither up-to-date or correct.
However, official TypeScript definitions are being distributed here: https://github.com/mozilla/pdfjs-dist/tree/master/types

canvas.width = 600
canvas.height = 300

Note that simply hard-coding of values, without any regard for the viewport, may have generally unintended side-effects for many PDF documents.

Why in the world would you switch width, height order to height, width?

It's hopefully obvious that mistakes can/will happen, since everyone is human. (Also, this really seem like a minor issue for rather than a huge "bug"..)

Mentions await in many places, but tutorial is loadingTask.promise.then... let's write some nice code with async await
vars, no arrow functions...

The general PDF.js library is still usable in environments/browsers without native support for those features, hence we purposely don't use things like async/await in general examples; note e.g. the two different kind of builds mentioned in https://mozilla.github.io/pdf.js/getting_started/#download

const loadingTask = pdfjsLib.getDocument(props.url), loadingTask is weird

What's weird about it?
The getDocument call returns a PDFDocumentLoadingTask-instance, see
https://github.com/mozilla/pdf.js/blob/b0c7a74a0c7403aba86087f8180d75c16ec58602/src/display/api.js#L196-L208
and
https://github.com/mozilla/pdf.js/blob/b0c7a74a0c7403aba86087f8180d75c16ec58602/src/display/api.js#L438-L468

the-canvas... come on..

Huh?

I see what you mean, but still, is hard to get started... I didn't even find the webpack example. I'd say there is a discoverability issue on the readme. I'd suggest you to look at other libraries and take a look on how they architect their readme. I don't usually take my time to write so much, unless I think there is a big room for improvement.
I don't have time to read everything on the readme to find examples and then webpack. See what happened:

I searched for npm on readme: found a few results, somehow I missed the text usage with NPM and Bower under the pdfjs-dist name. . My patter recognition didn't notice a npm install blabla so I missed.
I searched for typescript: no results. then my default is to use @types/blabla. Again, apparently I got the wrong library
I searched for webpack: no results. I guess I should have found More examples can be found in the examples folder. , press that link, then webpack... but didn't happen.

All these details makes it hard to get started. For example as a user of this library I don't even want to look at the source code, especially when I'm in rush. (I know is superficial, but sometimes you can't read source code of every lib you use, especially if I'm only trying out to do a proof of concept)
Also https://github.com/mozilla/pdf.js/blob/master/examples/webpack/main.js
pdfjsLib.GlobalWorkerOptions.workerSrc =
  "../../build/webpack/pdf.worker.bundle.js";

I'm not sure that's something to suggest, would be nice to give an example that can be used by a noobie. Also still not async/await and vars. (but not a big deal)

I didn't even find the webpack example. I'd say there is a discoverability issue on the readme.

We don't want to advertise all individual examples separately in the README since it would make it much bigger than necessary and big README files may be even less inviting to actually read. In my experience it's pretty common to just Ctrl + F for "example" and find them.

I don't have time to read everything on the readme to find examples and then webpack.

To be fair, we can change the README all we want, but if people can't be bothered to actually read the README then you can't be surprised that you're missing information...

I searched for npm on readme: [..] somehow I missed the text usage with NPM and Bower under the pdfjs-dist name. My patter recognition didn't notice a npm install blabla so I missed.

I think NPM is listed pretty clear with a link to a page with more details, including the pdfjs-dist name. The README should be concise, so we can't put all details in there. The "somehow I missed " and "pattern recognition didn't notice" to me just seem to indicate that the search was incomplete.

I searched for typescript: no results.

According to https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#including-declarations-in-your-npm-package the types property in the pdjs-dist package is the standard way of publishing those types, and we do this in https://github.com/mozilla/pdfjs-dist/blob/master/package.json#L5. We only ship TypeScript definitions in the final NPM package, so I don't know what there would be to mention about TypeScript here...

sometimes you can't read source code of every lib you use, especially if I'm only trying out to do a proof of concept

I agree that you shouldn't need to read the source code, but even for a POC you'll need to do some reading of e.g., READMEs and example code.
All in all, this issue contains a lot of different points about not only the README but also the examples and the source code syntax, so it's kind of all over the place. In order for this issue to be actionable, let's focus on the README and leave the rest as-is since, as indicated, there are good reasons for the code to be like this.
Let's discuss how the README could be improved to make getting started easier. Do you have examples of README files from other projects that you'd recommend we follow if they have a more clear structure? It could help to serve as inspiration to change our README file.

How do I type RenderTask? The PDFPageProxy.render type is RenderTask but I can't seem to be able to import the RenderTask def.

Please don't post unrelated questions here. This has nothing to do with the README.

Given that https://github.com/mozilla/pdf.js/issues/12379#issuecomment-692955362 asked for more detailed information about what to improve in the README, but none has been provided, should we close this for now until more actionable information is available?

Please add a section in readme with simple npm install instruction, this is standard in 2021 and I can't believe that I had to dig this issue. Seriously this is a 33k stars repository, it's supposed to be golden standard about being easy to understand and integrate in any solution.
Most insane part is that the issue was closed and nothing was done to address the problem.

Please add a section in readme with simple npm install instruction, this is standard in 2021 and I can't believe that I had to dig this issue. Seriously this is a 33k stars repository, it's supposed to be golden standard about being easy to understand and integrate in any solution.
Most insane part is that the issue was closed and nothing was done to address the problem.

Okay my bad it's here in the readme: https://github.com/mozilla/pdf.js/wiki/Setup-pdf.js-in-a-website
Could have been way easier to find

Okay my bad it's here in the readme: https://github.com/mozilla/pdf.js/wiki/Setup-pdf.js-in-a-website
Could have been way easier to find

I know this is closed, but I have to also agree with @stevemarksd. Despite being very popular, there is a lot of room for improvement in this library's docs. Googling this library and how to use it almost always lands on the mozilla.github.io page, which does not have anything anywhere about using yarn or npm. Steve's answer gave me enough information about how to solve it for my own use. Only after coming here did I find out it was buried in the FAQ under a question completely unrelated to using a package manager. And even then, it only tells me something I already knew, which was to install the pdfjs-dist library, but nothing about how to get it to actually work after installing.

We don't want to advertise all individual examples separately in the README since it would make it much bigger than necessary and big README files may be even less inviting to actually read. In my experience it's pretty common to just Ctrl + F for "example" and find them.

You don't have to include an example for every webpack config possible, you just need any example of importing the lib and using it manually without knowing the inner workings of the core, and most people can figure it out from there.
Ideally, like most modern frameworks, it's desirable to be as simple as this:
npm install pdfjs-dist
or
yarn add pdfjs-dist

import pdfjsLib from 'pdfjs-dist'
or
pdfjsLib = require('pdfjs-dist')

let loadingTask = pdfjsLib.getDocument('..')
... // follow the existing examples from here

That is good enough and covers most use cases without going into specifics of webpack configs etc. However, I'm assuming due to the inner workings of the core, it requires setting up stuff with the worker manually. But as long as you can show one example of importing/requiring the pieces and putting them together to make a working pdfjsLib, people can figure out the specifics for their dev environment and then follow the examples from there.

I'm jumping into this library today and had the exact same experience as @codydbentley. I totally agree with his suggestions. I don't use webpack but any example using a require or import would have saved me a lot of time.

bad

indeed. After copying the build to my local assets folder, I used: import * as pdfjsLib from 'pdfjs-dist/webpack';

Okay my bad it's here from a link in the readme: https://github.com/mozilla/pdf.js/wiki/Setup-pdf.js-in-a-website Could have been way easier to find

indeed. After copying the build to my local assets folder, I used in my ts file: import * as pdfjsLib from 'pdfjs-dist/webpack';

I followed the instructions and just got a load of worker errors. I completely agree with @stevemarksd that the readme needs a lot of work. I only found this thread via two other closed issues.
I want to render a pdf in a webpage in my Emberjs app. Ember has fabulous tooling that for ANY other npm package JustWorks(TM).
You want a really good example of a readme?
https://github.com/mainmatter/ember-simple-auth

I'm shocked that after this many years the docs for this library still haven't been improved... the obstacles that one has to overcome just to get a working example are absurd.

You can load it with npm like this:
import { GlobalWorkerOptions } from<EMAIL_ADDRESS>
GlobalWorkerOptions.workerSrc =<EMAIL_ADDRESS>
The use pdfjsLib like the examples.


Rubberbanding & timecode issues

When i try and start the mod it gives me severe rubber banding issues and will not allow me to input anything other than hours(h).

What do you mean by "rubber banding issues"?

The camera will not smoothly move along the path instead it seems to move in a jerky fashion and then snap back to its original position.


Building @rules_ros//examples/bazel_simple_example:publisher fails

After setting up a local workspace as described in README.md, building a "real" example that depends on ROS packages fails:
$ bazel build @rules_ros//examples/bazel_simple_example:publisher
DEBUG: Rule 'rules_ros' indicated that a canonical reproducible form can be obtained by modifying arguments commit = "f610ed1c39440488dacbc8236d3d3bc7c4ceafb8", shallow_since = "1666309757 +0900" and dropping ["branch"]
DEBUG: Repository rules_ros instantiated at:
  /home/ahans/src/apexai-ros-bazel/WORKSPACE:9:15: in <toplevel>
Repository rule git_repository defined at:
  /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in <toplevel>
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:10:10: Loading: @ament.ament_index
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:25:10: Loading: @eProsima.Fast-CDR
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:39:10: Loading: @eProsima.Fast-DDS
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:53:10: Loading: @eProsima.foonathan_memory_vendor
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:67:10: Loading: @eclipse-cyclonedds.cyclonedds
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:81:10: Loading: @eclipse-iceoryx.iceoryx
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:95:10: Loading: @ros-tooling.libstatistics_collector
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:109:10: Loading: @ros2.common_interfaces
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:123:10: Loading: @ros2.rcl
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:138:10: Loading: @ros2.rcl_interfaces
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:155:10: Loading: @ros2.rcl_logging
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:169:10: Loading: @ros2.rclcpp
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:184:10: Loading: @ros2.rcpputils
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:198:10: Loading: @ros2.rcutils
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:213:10: Loading: @ros2.rmw
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:227:10: Loading: @ros2.ros2_tracing
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:241:10: Loading: @ros2.ros2cli
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:257:10: Loading: @ros2.rosidl
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:279:10: Loading: @ros2.rosidl_dds
DEBUG: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2_config/setup.bzl:293:10: Loading: @ros2.rosidl_typesupport
INFO: Analyzed target @rules_ros//examples/bazel_simple_example:publisher (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/external/ros2.common_interfaces/std_msgs/BUILD.bazel:17:13: Convert bazel-out/k8-fastbuild/bin/external/ros2.common_interfaces/std_msgs/msg/ColorRGBA.msg to idl failed: (Exit 1): msg2idl failed: error executing command bazel-out/k8-opt-exec-2B5CBBC6/bin/external/ros2.rosidl/rosidl_adapter/msg2idl bazel-out/k8-fastbuild/bin/external/ros2.common_interfaces/std_msgs/msg/ColorRGBA.msg

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
Traceback (most recent call last):
  File "/home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/sandbox/linux-sandbox/534/execroot/my_first_bazel_ros_workspace/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/ros2.rosidl/rosidl_adapter/msg2idl.runfiles/ros2.rosidl/rosidl_adapter/scripts/msg2idl.py", line 17, in <module>
    from rosidl_adapter.cli import convert_files_to_idl
  File "/home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/sandbox/linux-sandbox/534/execroot/my_first_bazel_ros_workspace/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/ros2.rosidl/rosidl_adapter/msg2idl.runfiles/ros2.rosidl/rosidl_adapter/rosidl_adapter/cli.py", line 27, in <module>
    from rosidl_cli.command.translate.extensions import TranslateCommandExtension
  File "/home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/sandbox/linux-sandbox/534/execroot/my_first_bazel_ros_workspace/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/ros2.rosidl/rosidl_adapter/msg2idl.runfiles/ros2.rosidl/rosidl_cli/rosidl_cli/command/translate/__init__.py", line 19, in <module>
    from .api import translate
  File "/home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/sandbox/linux-sandbox/534/execroot/my_first_bazel_ros_workspace/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/ros2.rosidl/rosidl_adapter/msg2idl.runfiles/ros2.rosidl/rosidl_cli/rosidl_cli/command/translate/api.py", line 19, in <module>
    from .extensions import load_translate_extensions
  File "/home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/sandbox/linux-sandbox/534/execroot/my_first_bazel_ros_workspace/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/ros2.rosidl/rosidl_adapter/msg2idl.runfiles/ros2.rosidl/rosidl_cli/rosidl_cli/command/translate/extensions.py", line 15, in <module>
    from rosidl_cli.extensions import Extension
  File "/home/ahans/.cache/bazel/_bazel_ahans/03b645b18a5c7ac5e50e5ab4c2bbab7d/sandbox/linux-sandbox/534/execroot/my_first_bazel_ros_workspace/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/ros2.rosidl/rosidl_adapter/msg2idl.runfiles/ros2.rosidl/rosidl_cli/rosidl_cli/extensions.py", line 20, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'
Target @rules_ros//examples/bazel_simple_example:publisher failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 1.343s, Critical Path: 1.28s
INFO: 25 processes: 25 internal.
FAILED: Build did NOT complete successfully

We are still missing some parts of the middleware. Coming soon.

+1 subscribed.
I have seemed to run into a different issue:
fatal error: rosgraph_msgs/msg/detail/clock__rmw_cyclonedds_cpp.h: No such file or directory
   10 | #include "rosgraph_msgs/msg/detail/clock__rmw_cyclonedds_cpp.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

I have created a repo to help those interested in trying to reproduce.
https://github.com/willcbaker/ros2_bazel
The project uses a osrf/ros:humble-deskptop container with bazel v5.3.2 and the WORKSPACE file as instructed in https://github.com/ApexAI/rules_ros#workspace-setup

We are still missing some parts of the middleware. Coming soon.

Friendly ping for updates @kilian-funk


Embedded CSS

It appears that embedded CSS does function properly.  For example
p>
div class="easyzoom easyzoom--overlay">
	a href="images/1_zoom.jpg">
		<img src="images/1_standard.jpg" alt="" style="float:left; margin:0 5px 0 0;width:352px; height:403px;" />
	/a>
/div>

This is text that should wrap around the image.....
/p>

If you want text to wrap around the easyzoom instance you'll need to float the easyzoom <div> not its contents.


Fixed Case Ref & Data Ref tests failing on 8.7

Fixed Case Ref & Data Ref tests failing on 8.7.
Fixed DigV2 app since the test-id of "selectorCategory" field wasn't there, probably someone removed by mistake.

Now, all DigV2 tests are getting passed on SDK-R that means DIgV2 app is pretty stable So I'll generate a RAP and put it on Sharepoint.


add a demo image that integrates superduperdb with jupyter

Description
A base image for testing superduperdb on Docker.
It contains:

SuperDuperDB dependencies
Jupyterlab
Examples

Related Issues

Checklist

[ ] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make test successfully?
[ ] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[ ] Was external documentation updated, if necessary?

Additional Notes or Comments

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

Comparison is base (efc9eec) 78.21% compared to head (6422c94) 78.21%.
Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1018   +/-   ##
=======================================
  Coverage   78.21%   78.21%
=======================================
  Files         101      101
  Lines        6331     6331
=======================================
  Hits         4952     4952
  Misses       1379     1379

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


Helm behind proxy

How can i use Helm behind a proxy.
$ helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha
Error: looks like "https://releases.rancher.com/server-charts/alpha" is not a valid chart repository or cannot be reached: Get "https://releases.rancher.com/server-charts/alpha/index.yaml": proxyconnect tcp: tls: first record does not look like a TLS handshake

The standard HTTP library in Go reads the environment variables HTTP_PROXY , HTTPS_PROXY , and NO_PROXY


Support using persistent user configuration for most flag functionality

This is generally desirable. E.g., I don't have the default Sacramento font installed, so I have to remember to add a --font flag every time I sign. I'd like to set this once somewhere.
A lightweight approach that a lot of CLI tools I use adopt is to make make every flag option also something you can set via an envvar. E.g., I'd love to be able to just drop THEMIS_FONT=foo into my bashrc.
A config file located in the .themis/contract dir would also be OK.

I'll look at integrating Viper support here for Themis Contract configuration.


question: create-t3-app as bun create-template

Hi all,
i just stumbled across the bun project and wanted to test if you can build the t3 stack with it. Bun create gives you the possibility to publish create-templates.
Since i am quite inexperienced in the whole open-source world, here is the question if it is allowed to add create-t3-app in the bun project as create-template?

I think you should open this issue in bun's repo not here.

I asked Jarred (creator of Bun) and he said we can only use bun to run the scripts for now using bun run.

Will be closing this now.


Does not work with Keycloak 8.0.1 version.

Hi,
I am using keycloak 8.0.1, camunda 7.11.0, spring-boot 2.2.1 and camunda-bpm-identity-keycloak 1.2.0. On application startup both API's group-by-path and groups gives 403 Forbidden error.

All unit tests of the Plugin are running successfully against Keycloak 8.0.1
So there is no general problem in using Keycloak 8.0.1.
Have you added the roles query-groups, query-users, view-users to the service account client roles of your realm?

Yes I have added those 3 roles.

Just checked the sample. Works as well with Keycloak 8.0.1
For the records: I used Camunda 7.12.0, Spring Boot 2.2.1.RELEASE. But that should be independent. The identity provider itself has not changed in any way. So for now, this is not reproducible.
Please work through again the setup of the camunda-identity-service Client in Keycloak.
Can you provide screenshots of the setup of this service?
Can you provide the setup of the Identity Provider Plugin in your application.yaml?
If I see anything at a glance, I'd be happy to let you know. This should be some trivial error in your setup.

Well this is spring properties
plugin:   identity:     keycloak:       keycloakIssuerUrl: ${keycloak.auth-server-url}/realms/MyRealm       keycloakAdminUrl: ${keycloak.auth-server-url}/admin/realms/MyRealm       clientId: client1       clientSecret: ${spring.security.oauth2.client.registration.keycloak.client-secret}       useEmailAsCamundaUserId: false       useUsernameAsCamundaUserId: true       # For accessing http://localhost:8080/app/welcome/default/#!/welcome       useGroupPathAsCamundaGroupId: true       administratorGroupName: workflow-admin       disableSSLCertificateValidation: true
The same application was working fine with keycloak 4.0.0. Butnow gives 403.
Can you point to some logs that I should enable to debug more?

What is the value / format of your parameter keycloak.auth-server-url ?
In the end you will need something like
  keycloakIssuerUrl: https://yourhost:port/auth/realms/YourRealm
  keycloakAdminUrl: https://yourhost:port/auth/admin/realms/YourRealm

In case of non standard settings of your Keycloak server you'll have to adapt these Urls accordingly.
You might want to add logging.level.org.apache.http: DEBUG to your application.yaml and check the requests.

Ya URL is good else it would have returned 404.
keycloak.auth-server-url=https://localhost:8180/auth/

8180 is your https port?
You are aware that your resulting URL will have double slashes after your auth part?

Http logs says "unknown error"
2019-12-06 14:44:43.053 DEBUG 13613 --- [  restartedMain] h.i.c.PoolingHttpClientConnectionManager : Connection request: [route: {s}->https://localhost:8180][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 50]
2019-12-06 14:44:43.053 DEBUG 13613 --- [  restartedMain] h.i.c.PoolingHttpClientConnectionManager : Connection leased: [id: 0][route: {s}->https://localhost:8180][total kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 50]
2019-12-06 14:44:43.053 DEBUG 13613 --- [  restartedMain] h.i.c.DefaultManagedHttpClientConnection : http-outgoing-0: set socket timeout to 0
2019-12-06 14:44:43.053 DEBUG 13613 --- [  restartedMain] o.a.http.impl.execchain.MainClientExec   : Executing request GET /auth/admin/realms/MyRealm/group-by-path/workflow-admin HTTP/1.1
2019-12-06 14:44:43.054 DEBUG 13613 --- [  restartedMain] o.a.http.impl.execchain.MainClientExec   : Proxy auth state: UNCHALLENGED
2019-12-06 14:44:43.055 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> GET /auth/admin/realms/MyRealm/group-by-path/workflow-admin HTTP/1.1
2019-12-06 14:44:43.055 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> Accept: text/plain, application/json, application/+json, /
2019-12-06 14:44:43.056 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> Content-Type: application/json;charset=UTF-8
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOZ0MwZl9GZlZIZnFza1BCakRVVUh0VjAtSXhkM0pkQV90bGpRSHRPSS13In0.eyJqdGkiOiJlYmJlNTZlMC1hNjg2LTQ3NjUtYTY5NS00ZTY3MGEzODEyNzEiLCJleHAiOjE1NzU2MjM5ODIsIm5iZiI6MCwiaWF0IjoxNTc1NjIzNjgyLCJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo4MTgwL2F1dGgvcmVhbG1zL0Nyb3NpcyIsInN1YiI6IjhmZTU0ZjdhLWMyZDUtNDM0OS1iZjA4LTQ5NDBiMmM1NTNjYSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImhlbGl4LXdlYiIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6ImIzZTgzZTE3LTQ3NDEtNGM4NC05NGY2LWI1Y2M0MzMyYThkMiIsImFjciI6IjEiLCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJjbGllbnRIb3N0IjoiMTI3LjAuMC4xIiwiY2xpZW50SWQiOiJoZWxpeC13ZWIiLCJncm91cC1pbmZvLW1hcHBlciI6eyJvcmdhbml6YXRpb25zIjpbXSwiZGVwYXJ0bWVudHMiOltdLCJ0ZW5hbnQiOiIifSwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtaGVsaXgtd2ViIiwiY2xpZW50QWRkcmVzcyI6IjEyNy4wLjAuMSJ9.hSXoqT-aCFbIKA429OUQ3HHCfGots-qjgZdvCHa0s4wq3JTF4RCuKSlerqXb8hLoF2TpqrfkA_ReGdZ9OjsxDzC6Vv_FDl5T0J_Jw-jehVk50uUhmh9I90NUZe_Hu5bB3nZByeZRpJFdUaCI6EzcoWDrne9Dcl-9M8xJ5XFHq4CpubX0vjzzo2J_OrshUIUsjIq-YF7A15V-1BjDKmlJ2UTi272TyWrPQ_KeJYsFiUMJYf7VbQOXl9LND0jGYDzitErDQPQnLe_WdReH65DGotYd2g4vQU-pAxvg5mt-8TmYdxF5XnFpDRq5nHQLj_FynHQsj8EQrXiaSSJh9C4IYQ
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> Host: localhost:8180
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> Connection: Keep-Alive
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_201)
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 >> Accept-Encoding: gzip,deflate
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "GET /auth/admin/realms/MyRealm/group-by-path/workflow-admin HTTP/1.1[\r][\n]"
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "Accept: text/plain, application/json, application/+json, /[\r][\n]"
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "Content-Type: application/json;charset=UTF-8[\r][\n]"
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "Authorization: bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJOZ0MwZl9GZlZIZnFza1BCakRVVUh0VjAtSXhkM0pkQV90bGpRSHRPSS13In0.eyJqdGkiOiJlYmJlNTZlMC1hNjg2LTQ3NjUtYTY5NS00ZTY3MGEzODEyNzEiLCJleHAiOjE1NzU2MjM5ODIsIm5iZiI6MCwiaWF0IjoxNTc1NjIzNjgyLCJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo4MTgwL2F1dGgvcmVhbG1zL0Nyb3NpcyIsInN1YiI6IjhmZTU0ZjdhLWMyZDUtNDM0OS1iZjA4LTQ5NDBiMmM1NTNjYSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImhlbGl4LXdlYiIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6ImIzZTgzZTE3LTQ3NDEtNGM4NC05NGY2LWI1Y2M0MzMyYThkMiIsImFjciI6IjEiLCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJjbGllbnRIb3N0IjoiMTI3LjAuMC4xIiwiY2xpZW50SWQiOiJoZWxpeC13ZWIiLCJncm91cC1pbmZvLW1hcHBlciI6eyJvcmdhbml6YXRpb25zIjpbXSwiZGVwYXJ0bWVudHMiOltdLCJ0ZW5hbnQiOiIifSwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJncm91cHMiOltdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtaGVsaXgtd2ViIiwiY2xpZW50QWRkcmVzcyI6IjEyNy4wLjAuMSJ9.hSXoqT-aCFbIKA429OUQ3HHCfGots-qjgZdvCHa0s4wq3JTF4RCuKSlerqXb8hLoF2TpqrfkA_ReGdZ9OjsxDzC6Vv_FDl5T0J_Jw-jehVk50uUhmh9I90NUZe_Hu5bB3nZByeZRpJFdUaCI6EzcoWDrne9Dcl-9M8xJ5XFHq4CpubX0vjzzo2J_OrshUIUsjIq-YF7A15V-1BjDKmlJ2UTi272TyWrPQ_KeJYsFiUMJYf7VbQOXl9LND0jGYDzitErDQPQnLe_WdReH65DGotYd2g4vQU-pAxvg5mt-8TmYdxF5XnFpDRq5nHQLj_FynHQsj8EQrXiaSSJh9C4IYQ[\r][\n]"
2019-12-06 14:44:43.057 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "Host: localhost:8180[\r][\n]"
2019-12-06 14:44:43.058 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
2019-12-06 14:44:43.058 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_201)[\r][\n]"
2019-12-06 14:44:43.058 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
2019-12-06 14:44:43.058 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 >> "[\r][\n]"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 << "HTTP/1.1 403 Forbidden[\r][\n]"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 << "Connection: keep-alive[\r][\n]"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 << "Content-Type: application/json[\r][\n]"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 << "Content-Length: 25[\r][\n]"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 << "Date: Fri, 06 Dec 2019 09:14:43 GMT[\r][\n]"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 << "[\r][\n]"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.wire                     : http-outgoing-0 << "{"error":"unknown_error"}"
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 << HTTP/1.1 403 Forbidden
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 << Connection: keep-alive
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 << Content-Type: application/json
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 << Content-Length: 25
2019-12-06 14:44:43.185 DEBUG 13613 --- [  restartedMain] org.apache.http.headers                  : http-outgoing-0 << Date: Fri, 06 Dec 2019 09:14:43 GMT
2019-12-06 14:44:43.186 DEBUG 13613 --- [  restartedMain] o.a.http.impl.execchain.MainClientExec   : Connection can be kept alive indefinitely
2019-12-06 14:44:43.187 DEBUG 13613 --- [  restartedMain] h.i.c.PoolingHttpClientConnectionManager : Connection [id: 0][route: {s}->https://localhost:8180] can be kept alive indefinitely
2019-12-06 14:44:43.187 DEBUG 13613 --- [  restartedMain] h.i.c.DefaultManagedHttpClientConnection : http-outgoing-0: set socket timeout to 0
2019-12-06 14:44:43.187 DEBUG 13613 --- [  restartedMain] h.i.c.PoolingHttpClientConnectionManager : Connection released: [id: 0][route: {s}->https://localhost:8180][total kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 50]

Feels like oauth token issue. Do you use separate oauth2 dependency or go with spring-boot 2.2.1.RELEASE defaults which already has oauth2 built-in ?

The plugin itself does not depend on spring boot oauth. The Identity Provider Plugin depends on Spring Boots RestTemplate functionality. Thats all.
OAuth is used within the sample for the SSO part of Spring Boot.

Do you think custom mappers in keycloak can create any issue? Like in parsing access token?

Hmm, you can always break a lot, of course. But I can't judge special custom setups for Keycloak that easy. This will be your own job. Since Kecloak 4.0.0 a lot has changed and you have made a big step forwards. You may read the Keycloak release notes.
Definitely there is no problem from the Keylcoak Identity Provider Plugin when using Keycloak 8.0.1.
You will have to work on your local custom Keycloak setup. If I where you I would start with a basic setup of your realm and see if this works. Afterwards you can add mappers etc.

Ok let me try something. Thanks for your assistance.

As the issue is currently not reproducible I will close it for now.

Sure.
I tried creating a new realm in keycloak 8.0.1 itself and it works fine. So plugin does not have any issue. But when I import my existing realm from older version, something breaks.

Hello,
I encountered the same issue and wanted to share how I solved it hoping that'll help.
I had some custom group mappers added to the access token.
Removing them from the access token solved it.


Myrtille cannot open remoteapp, but xfreerdp can

Myrtille version
2.9.2_X86_X64
Server version
Windows Server 2019（I also try Windows Server 2012 R2）
Issue Description
Hi,
Myrtille cannot open remoteAPP，will show desktop:
http://XXX.XXX.X.XXX/Myrtille?__EVENTTARGET=&__EVENTARGUMENT=&server=AAA.AAA.A.AAA&domain=&user=admin&password=mypassword&program=D:\eclipse\eclipse\eclipse.exe&connect=Connect%21   ❌

encode url is also not work:
http://XXX.XXX.X.XXX/Myrtille?__EVENTTARGET=&__EVENTARGUMENT=&server=AAA.AAA.A.AAA&domain=&user=admin&password=mypassword&program=d%3A%5Ceclipse%5Ceclipse%5Ceclipse.exe&connect=Connect%21   ❌

Xfreerdp can, will show eclipse:
xfreerdp /u:admin  /v:AAA.AAA.A.AAA  /app:"D:\eclipse\eclipse\eclipse.exe" ✅

Xfreerdp use /shell cannot open, will show desktop:
xfreerdp /u:admin  /v:AAA.AAA.A.AAA  /shell:"D:\eclipse\eclipse\eclipse.exe"  ❌

I found some similar issues, the most similar is #137 ，But my server uses windows server2019.
Then I create remote APP with remoteAPP tool at rdp-server, xfreerdp can open remoteapp:
 xfreerdp /u:admin  /v:AAA.AAA.A.AAA /app:"||eclipse"   ✅

 xfreerdp /u:admin  /v:AAA.AAA.A.AAA /shell:"||eclipse"  ❌

Myrtille cannot:
http://XXX.XXX.X.XXX/Myrtille?__EVENTTARGET=&__EVENTARGUMENT=&server=AAA.AAA.A.AAA&domain=&user=admin&password=mypassword&program=||eclipse&connect=Connect%21   ❌

Regards,
Sayi

Hi Sayi, Myrtille doesn't use remoteapp but the alternate shell feature of RDP. This is because, historically, there were some issues with FreeRDP and remoteapp. Maybe this was fixed in the latest versions of FreeRDP; I have to update it with Myrtille anyway, so I will re-check this.
That said, did you allowed Eclipse among the allowed remote apps (https://www.beyondtrust.com/docs/privileged-identity/app-launcher-and-recording/installation/set-up-rds.htm)? or set the (local or domain) policy which allows to remote start any unlisted program (https://github.com/cedrozor/myrtille/issues/203)?
Also have a look at these:

https://docs.microsoft.com/en-us/troubleshoot/windows-server/remote/application-not-start-in-remoteapp-session
https://support.citrix.com/article/CTX218256

Hi,
I set the local policy which allows to remote start any unlisted program according to your method, but it still doesn't seem to work.
Thank you for your reply anyway.

Myrtille doesn't use remoteapp but the alternate shell feature of RDP. This is because, historically, there were some issues with FreeRDP and remoteapp. Maybe this was fixed in the latest versions of FreeRDP; I have to update it with Myrtille anyway, so I will re-check this.

@cedrozor - this sounds like the same solve as my #339 question - any chance you've gotten to fiddle with this yet or suggest where i can hack around?

Hi, yes I have to find some time to integrate the latest FreeRDP code (and work again on Myrtille, more globally) and re-check if I can use remoteapp instead of alternate shell

@cedrozor - just a friendly bump if you happen to be bored over the holidays =) any tips you could give off the top of your head, even conceptually, where/how to switch from alternate-shell to remote-app are appreciated.
going by FreeRDP/wiki/CommandLineInterface i was hoping to see something about the /shell vs /app args being passed here in Myrtille.Services/RemoteSessionProcess but that piece doesn't seem to be included in this list of args - any help?


Add es5 umd distribution

closes #25
This PR introduces es5 + umd distribution, aiming to help enable in CMS MVC environment, where you would only need templating enhancement functionality, and target es5, as it's meant to be compatible with older browsers. There is also a distribution configured to have router, like other es6 + umd combo.
For this distribution, Loader is left out and is meant to be configured by dev, so dev can plugin something that is more compatible with their requirements. The only thing I'm not sure about is how to help provide requirejs Loader alias for core module, for example: map aurelia-binding to global au namespace. cc @huochunpeng . It would be also great if @davismj could help update the readme with alias configuration for SystemJS loader.

@bigopon Should we merge and release this now or do we need the feedback from @huochunpeng and @davismj first?

@EisenbergEffect its fine either way. Having it read with read me is better but it can be added anytime. And any thoughts about the new file name?

LGTM


fix: address post review issues

Alaska Airlines Pull Request
This is a post-merge review update of the ods-toast component.
Fixes:
Summary:
Issues addressed include; bringing the toast component more inline with the final design as recently merged with UiKit; creates additional examples; updates documentation to support additional APIs that we not previously documented; moves files that were incorrectly placed in the ./scripts dir to the preferred ./src dir;
Type of change:
Please delete options that are not relevant.

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Orion Design System Team

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[NEED HELP] firecracker sometimes get stuck.

Description of problem
Hi there, I try to find a good firecracker manager to help me start, running, and remove firecracker instances. And I found kata-container in a recent paper. Then I find a nice wiki in kata-container' wiki
as below:
https://github.com/kata-containers/documentation/wiki/Initial-release-of-Kata-Containers-with-Firecracker-support
I follow the wiki step by step, and install the kata version 1.5 in my host pc and successfully start up a firecracker microVM by add '--runtime kata-fc' to the docker run command.
But the firecracker doesn't seem to be working properly. When I use
scp host@xxx,xxx,xxx,xxx:~/test/exec .

And try to copy an executable binary compiled in an other docker container with the same contianer image to my newly microVM. Sometimes, scp ccommand just never return and the whole VM seems stuck. I can execute docker exec -it myvm bash, but the new window still can't work like the VM itself is block.
Sometimes, Im luck enough to execute the scp command and get the file from my host. After that, I use
dmesg

and see some strange output there.
[   46.399634] EXT4-fs warning (device vdb): ext4_dirent_csum_verify:353: inode #531335: comm ssh: No space for directory leaf checksum. Please run e2fsck -D.
[   46.399639] EXT4-fs error (device vdb): ext4_find_entry:1447: inode #531335: comm ssh: checksumming directory block 0
[   47.748667] EXT4-fs error (device vdb): ext4_validate_inode_bitmap:101: comm scp: Corrupt inode bitmap - block_group = 64, inode_bitmap = 2097168

Then I run df -h and get the response as:
bash-5.0# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/vdb                  9.8G    448.1M      8.8G   5% /
tmpfs                    64.0M         0     64.0M   0% /dev
tmpfs                    54.1M         0     54.1M   0% /sys/fs/cgroup
shm                      64.0M         0     64.0M   0% /dev/shm
tmpfs                    54.1M    904.0K     53.2M   2% /etc/resolv.conf
tmpfs                    54.1M    904.0K     53.2M   2% /etc/hostname
tmpfs                    54.1M    904.0K     53.2M   2% /etc/hosts
tmpfs                    64.0M         0     64.0M   0% /proc/keys
tmpfs                    64.0M         0     64.0M   0% /proc/timer_list
tmpfs                    64.0M         0     64.0M   0% /proc/sched_debug
tmpfs                    54.1M         0     54.1M   0% /proc/scsi
tmpfs                    54.1M         0     54.1M   0% /sys/firmware

The disk looks like not full.
And sometimes I can use scp to download files without these errors in dmesg.

I do some test and try to find more information about why the VM will stuck.
I try to move the file I downloaded bofore to change its name:
bash-5.0# mv exec exec2
Killed
bash-5.0# ls
-----> never response

I find the VM will frequently no response when I use command like apk add .., scp,ping
And I get more information from dmesg output which may be helpful as :
[    0.614093] EXT4-fs (vdb): mounted filesystem with ordered data mode. Opts: (null)
[   45.925035] NOHZ: local_softirq_pending 202
[   58.846567] BUG: unable to handle kernel NULL pointer dereference at<PHONE_NUMBER>000008
[   58.846638] IP: jbd2_journal_add_journal_head+0xb6/0xf0
[   58.846646] PGD 0 P4D 0
[   58.846657] Oops: 0002 [#1] SMP NOPTI
[   58.846663] Modules linked in:
[   58.846674] CPU: 0 PID: 146 Comm: bash Not tainted 4.14.67 #1
[   58.846681] task: ffff8800063a4040 task.stack: ffffc9000031c000
[   58.846691] RIP: 0010:jbd2_journal_add_journal_head+0xb6/0xf0
[   58.846698] RSP: 0018:ffffc9000031fb90 EFLAGS: 00010206
[   58.846705] RAX:<PHONE_NUMBER>000000 RBX: ffff880006e983a8 RCX:<PHONE_NUMBER>000000
[   58.846713] RDX: ffff880006e983ab RSI: ffff880006e983a8 RDI: ffff880006e983a8
[   58.846720] RBP: ffffffff81c1f880 R08: ffff880006e983a8 R09: ffff880006ebed80
[   58.846727] R10:<PHONE_NUMBER>000040 R11: ffffc9000031fab0 R12:<PHONE_NUMBER>001645
[   58.846734] R13: ffffc9000031fcd8 R14:<PHONE_NUMBER>000000 R15:<PHONE_NUMBER>001000
[   58.846743] FS:  00007f2cfee56d48(0000) GS:ffff880007c00000(0000) knlGS:0000000000000000
[   58.846751] CS:  0010 DS: 0000 ES: 0000 CR0:<PHONE_NUMBER>050033
[   58.846758] CR2:<PHONE_NUMBER>000008 CR3:<PHONE_NUMBER>848001 CR4:<PHONE_NUMBER>3606b0
[   58.846772] DR0:<PHONE_NUMBER>000000 DR1:<PHONE_NUMBER>000000 DR2:<PHONE_NUMBER>000000
[   58.846779] DR3:<PHONE_NUMBER>000000 DR6: 00000000fffe0ff0 DR7:<PHONE_NUMBER>000400
[   58.846785] Call Trace:
[   58.846800]  jbd2_journal_get_write_access+0x33/0x60
[   58.846828]  __ext4_journal_get_write_access+0x27/0x60
[   58.846839]  ext4_reserve_inode_write+0x91/0xc0
[   58.846848]  ext4_mark_inode_dirty+0x29/0x110
[   58.846857]  ext4_dirty_inode+0x41/0x60
[   58.846892]  __mark_inode_dirty+0x2d/0x220
[   58.846907]  generic_update_time+0x71/0xc0
[   58.846918]  touch_atime+0x9e/0xc0
[   58.846937]  generic_file_buffered_read+0x4e2/0x6c0
[   58.846949]  __vfs_read+0xfb/0x140
[   58.846959]  vfs_read+0x85/0x130
[   58.846968]  kernel_read+0x27/0x40
[   58.846977]  prepare_binprm+0x145/0x170
[   58.846985]  do_execveat_common+0x3c6/0x640
[   58.846994]  SyS_execve+0x23/0x30
[   58.847028]  do_syscall_64+0xa1/0x2bf
[   58.847054]  ? do_page_fault+0x3b/0x76
[   58.847094]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[   58.847104] RIP: 0033:0x7f2cfee001eb
[   58.847110] RSP: 002b:00007ffe2299b090 EFLAGS: 00000246 ORIG_RAX:<PHONE_NUMBER>00003b
[   58.847119] RAX: ffffffffffffffda RBX:<PHONE_NUMBER>000000 RCX: 00007f2cfee001eb
[   58.847126] RDX: 000055a9c4a7a340 RSI: 000055a9c4aafc20 RDI: 000055a9c4aafbe0
[   58.847133] RBP: 000055a9c4aafbe0 R08:<PHONE_NUMBER>000041 R09:<PHONE_NUMBER>000000
[   58.847140] R10:<PHONE_NUMBER>000008 R11:<PHONE_NUMBER>000246 R12:<PHONE_NUMBER>000001
[   58.847147] R13: 000055a9c4aaffc0 R14: 000055a9c4aafc20 R15: 000055a9c4aafc80
[   58.847154] Code: f7 c2 00 00 00 01 75 f3 e9 6e ff ff ff 48 8b 53 10 48 85 d2 74 0b 48 83 7a 08 00 0f 85 77 ff ff ff 0f 0b 48 8b 4b 40 48 8d 53 03 <83> 41 08 01 3e 80 22 fe 48 85 c0 74 0f 48 8b 3d b6 16 2f 01
48
[   58.847238] RIP: jbd2_journal_add_journal_head+0xb6/0xf0 RSP: ffffc9000031fb90
[   58.847244] CR2:<PHONE_NUMBER>000008
[   58.847251] ---[ end trace<PHONE_NUMBER>bad6b8 ]---

a moment later
---> no response

Host Environment
cat /proc/version
Linux version 4.15.0-91-generic (buildd@lgw01-amd64-013) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic

docker version
Client:
 Version:           19.03.6
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        369ce74a3c
 Built:             Fri Feb 28 23:45:43 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          19.03.6
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       369ce74a3c
  Built:            Wed Feb 19 01:06:16 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.3-0ubuntu1~18.04.1
  GitCommit:
 runc:
  Version:          spec: 1.0.1-dev
  GitCommit:
 docker-init:
  Version:          0.18.0
  GitCommit:

kata-container is installed entirely follow the wiki page at
https://github.com/kata-containers/documentation/wiki/Initial-release-of-Kata-Containers-with-Firecracker-support
Expected result
The firecracker MVs should not stuck at any time when I just use some simple command.
Actual result
sry IDK where the file 'kata-collect-data.sh' is.
(replace this text with the output of the kata-collect-data.sh script, after
you have reviewed its content to ensure it does not contain any private
information).

I follow the wiki step by step, and install the kata version 1.5

wow! 1.5 is too old, would you mind updating to 1.11?

I follow the wiki step by step, and install the kata version 1.5

wow! 1.5 is too old, would you mind updating to 1.11?

THX for your quick reply!!!
After upgrade, the VM has become much more stable!
By the way, could you plz give some advice about where to find documents about kata-fc, like build from src, change its kernel or rootfs ? I had a glance at the document rep but it rarely mention about firecracker, and I only find the path to build kata-runtime from src, I guess this is the default runtime like kata-fc but based on QEMU right?
Thanks for you quick reply again, this issue can be close right now.

there are no specific documentation for firecracker, but maybe next documents can help you
https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md
https://github.com/kata-containers/documentation/wiki/Kata-images
https://github.com/kata-containers/packaging/blob/master/kernel/README.md

there are no specific documentation for firecracker, but maybe next documents can help you
https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md
https://github.com/kata-containers/documentation/wiki/Kata-images
https://github.com/kata-containers/packaging/blob/master/kernel/README.md

Thank you !