text:
Add salary field and associated tests

Currently, InTrack does not have a field for Salary. As a user looking for internships, I would want to be able to track the salary that each internships offer so that I can make an informed decision on which internship offer to choose or prioritize. Let's add a ```Salary`` field to accommodate this, and add the associated tests to improve coverage.

Codecov Report
Base: 70.04% // Head: 69.88% // Decreases project coverage by -0.15% :warning:

Coverage data is based on head (883c3f4) compared to base (9a1036c).
Patch coverage: 70.42% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #111      +/-   ##
============================================
- Coverage     70.04%   69.88%   -0.16%
- Complexity      523      524       +1
============================================
  Files            94       94
  Lines          1679     1687       +8
  Branches        177      177
============================================
+ Hits           1176     1179       +3
- Misses          453      459       +6
+ Partials         50       49       -1

Impacted Files
Coverage Δ

.../java/seedu/intrack/logic/commands/AddCommand.java
100.00% <ø> (ø)

...a/seedu/intrack/logic/commands/AddTaskCommand.java
0.00% <0.00%> (ø)

...eedu/intrack/logic/commands/DeleteTaskCommand.java
28.57% <0.00%> (ø)

.../java/seedu/intrack/model/util/SampleDataUtil.java
37.93% <0.00%> (-9.90%)
:arrow_down:

src/main/java/seedu/intrack/ui/InternshipCard.java
0.00% <0.00%> (ø)

.../java/seedu/intrack/ui/SelectedInternshipCard.java
0.00% <0.00%> (ø)

...in/java/seedu/intrack/model/internship/Salary.java
80.00% <80.00%> (ø)

...ava/seedu/intrack/model/internship/Internship.java
93.93% <88.88%> (ø)

...java/seedu/intrack/logic/commands/EditCommand.java
97.36% <100.00%> (ø)

...va/seedu/intrack/logic/commands/RemarkCommand.java
100.00% <100.00%> (ø)

... and 7 more

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

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

authors: codecov-commenter johnrhimawan


text:
UI update v1.3

Add working UI for Transactions

LGTM but noted CI fails due to UI missing unit test.

source: gharchive/pull-request

authors: WesleyBLDC ajjajjajjajj

license: MIT

license_type: permissive

license_source: github-api


text:
Implement favorites without adding tests

Closes #69

Comments that are currently not yet resolved:

https://github.com/AY2223S2-CS2103T-W10-3/tp/pull/78#discussion_r1148523979
https://github.com/AY2223S2-CS2103T-W10-3/tp/pull/78#discussion_r1148527472


text:
Check employee's tasks

As a project manager, I want to check what tasks are delegated to an employee to determine whether more tasks should be delegated or not.

This user story was not implemented in v1.4.

source: gharchive/issue


text:
[PE-D][Tester E] meeting-delete missing examples section

Example commands have been provided for all other modification commands, but meeting-delete is missing this section.

Labels: type.DocumentationBug severity.Medium
original: legionlegion/ped#11

Fix: Fix UG as meeting-delete examples are there but not headed and spaced  properly

authors: Pluiexo nus-se-script


text:
[PE-D][Tester E] Unintuitive view constraint

Unintuitive view constraint. For example, I used view on person 2 to show it's remark. But when I do remark 2 r/something, the contact card collapses. This brings huge inconvenience to the user who wants to see the change.

Labels: severity.Medium type.FeatureFlaw
original: yu-sutong/ped#19

known issues

authors: liauzhanyi nus-pe-script


text:
Update use case to include list and listTxn

Included more use case for filtering transaction, list all person and list all transactions
Close #449

@rollingpencil Could you verify that the use cases are correct and proceed to merge, especially for filtering transactions?

authors: Dino-Nuggies SeeYangZhi


text:
Improve code coverage

Closes #269
Write tests for ContactType, ModuleName and Remark

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
see 5 files with indirect coverage changes


text:
sudo apt installable version/deb packaging possible?

i have a chromebook and the wine i ran on stopped working for some reason.

We implemented it in out fork BTW (with no changes to the original code):
https://github.com/TASEmulators/NP2kai/tree/tasvideos/debian

ah

that was amd64. my chromebook runs on intel, probably 64-bit

amd64 just means 64-bit build, it obviously runs on intel too, but you need a 64-bit OS.

oh good. I'm on 64 bit. Why did it fail to retrieve?

How were you doing it? I install all debs with gdebi.

I installed the .deb by itself.
On Sat, Jan 20, 2024 at 11:24 AM feos @.***> wrote:

How were you doing it? I install all debs with gdebi.
—
Reply to this email directly, view it on GitHub
https://github.com/AZO234/NP2kai/issues/170#issuecomment-1902182859, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A7QFFJ2V2SLETKQ7ZYNVGQ3YPP4VXAVCNFSM6AAAAABCC3N64WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSGE4DEOBVHE
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

and when I click it, it does that

How were you doing it? I install all debs with gdebi.

There's no shortcut icon in Launcher. How do I open it?

authors: MesaBlack vadosnaprimer

license: mit

license_source: bigquery


text:
Massive app size increase after install this plugin

Describe the bug
Before installing the plugin, my app was 26.3 Mb and After I install the ^0.2.8 version of this plugin the app size increased up to 44.6Mb on android
To Reproduce
Steps to reproduce the behavior:
Install the plugin and run flutter build apk --release
Expected behavior
There is at least an 18Mb gap between two builds. Is the plugin has this much size?
Desktop (please complete the following information):

OS: Widows
Version: 10

Smartphone (please complete the following information):

Device: Nexus 5x Emulator
OS: Android
Version 9.0

you can check my last app I use the package with it
https://play.google.com/store/apps/details?id=com.Suhaib_Digital_Base&hl=en_US
total app size this between 8.5MB to 11MB
PLEASE DON'T USE APK => use appbundle

@AbdOoSaed But what if I don't want to use the app bundle?
In fat app build mode, When I build apk without the pdf reader plugin, It was about half the size when the plugin was installed. do you have any idea what could cause this? some wrong config in .gradle or something like that.

@SaliBhdr
we use AndroidPdfViewer for view pdf in android
as he says in package doc
Android PdfViewer depends on PdfiumAndroid, which is set of native libraries (almost 16 MB) for many architectures.
for this In the fat app, the size will increase by 16 MB
u can read the whole doc in this link
the solution => split ur apk to many architectures or use appbundle as I  said

@AbdOoSaed Ooow. I see!! I happened to be very surprised why this happened. Thanks for the explanation.

@SaliBhdr
have a nice day
now I will close the issue
If you have any questions please reopen it

authors: AbdOoSaed SaliBhdr


text:
Too many dependencies

This was raised by @zhuyifei1999 on IRC.
file-metadata is very heavy right now. If someone just wants to use video/audio analysis, they need to install scikit-image, and a whole lot of other things that are not necessary. I think the best bet would be to make use of extras_require in setuptools which allows us to add additional package dependencies like file-metadata[audio].
More suggestions are welcome :)

Another possibility mentioned by @drtrigon is that we could have multiple packages. For example, file-metadata-audio, file-metadata-video, etc.
There are 2 methods I can see of doing this:

Plugin mechanism: Here, we have a basic file-metadata package, and then -audio, -video, etc as plugins that add "analysis routines" to the main package. pytest, coala, yaafe, etc.
Make different pypi packages with the same github code: Here, we would need to make some bash script that uploads selectively to pypi. We cannot have the same package name (file_metadata) for all of them as it'd cause an import clash.

Good point. We anyway may want to split the package a bit. However we have to be aware the fact that some of the libraries might sneak into other parts later as well (e.g. scikit-image).
Am 21. Juni 2016 07:55:20 MESZ, schrieb AbdealiJK notifications@github.com:

This was raised by @zhuyifei1999 on IRC.
file-metadata is very heavy right now. If someone just wants to use
video/audio analysis, they need to install scikit-image, and a whole
lot of other things that are not necessary. I think the best bet would
be to make use of extras_require in setuptools which allows us to add
additional package dependencies like file-metadata[audio].
More suggestions are welcome :)

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/AbdealiJK/file-metadata/issues/44

Dr. Trigon

Another 3rd possibility is the same as for the "Plugin mechanism" but without the plugin mechanism just divide the code up into separate packages. file-metadata will use all (actually be a kind of container or meta-package for them) but other projects will may be just use some.

There are two problems here:

lots of build/install-time heavy dependencies, and
runtime startup delays.

The latter hurt much more, and are easier to fix. If we fix the former, and video2commons rewrites their backend to use file-metadata, then we can optimise the deps specifically for their needs, and then decide how to package/release/maintain it to include only those deps. It would be great to know what features it needs.
Improving the install time by splitting the dependencies doesnt help the gsoc project very much, as it needs all deps to work properly, and could make poor quality edits if it tries to work without some libraries by downgrading the analysis. That must be avoided at all cost. Optional dependencies is the most beneficial approach, as it allows catimages to run sooner, and provide runtime warnings/errors to users which can be more helpful than errors during setup.py/pip.
An easier way to reduce this installation pain is to improve upstream with wheels and debs, etc. That does also provide speed up to the catimages users installation also.
Improving the latter (runtime startup) does help the gsoc project, but only slightly as typically catimages runs for a long time, and in batch or continuous mode looking at recentchanges, so a minute or two of startup isnt very problematic. However if deps are only loaded when needed, some deps wont be needed for certain batches. E.g. processing only one file type.

It would be great to know what features it needs.

Stream analysis. More specifically FFProbeMixin
If splitting / optional dependencies can't be done I'll just fork that part off :)

Some parts I don't get while reading that FFProbeMixin:

why does it seem to prioritize downloaded ffmpeg over system-provided ffmpeg? It's almost like preferring to run arbitrary code from elsewhere
for variable executable after which() calls, why is it not using absolute path? eg. it could be executable = executable or which('avprobe') or which('ffprobe') or download_ffmpeg()

If I remember right we need a recent ffmpeg cause old ones miss json output format, @AbdealiJK can you falsify my statement?
Am 21. Juni 2016 15:22:35 MESZ, schrieb zhuyifei1999 notifications@github.com:

Some parts I don't get while reading that FFProbeMixin:

why does it seem to prioritize downloaded ffmpeg over system-provided
ffmpeg? It's almost like preferring to run arbitrary code from
elsewhere
for variable executable after which()
calls,
why is it not using absolute path? eg. it could be executable = executable or which('avprobe') or which('ffprobe') or download_ffmpeg()

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/AbdealiJK/file-metadata/issues/44#issuecomment-227437588

Dr. Trigon

Improving the install time by splitting the dependencies doesnt help
the gsoc project very much, as it needs all deps to work properly, and
could make poor quality edits if it tries to work without some
libraries by downgrading the analysis. That must be avoided at all
cost. Optional dependencies is the most beneficial approach, as it
allows catimages to run sooner, and provide runtime warnings/errors to
users which can be more helpful than errors during setup.py/pip.

Yes, exactly!

Improving the latter (runtime startup) does help the gsoc project, but
only slightly as typically catimages runs for a long time, and in batch
or continuous mode looking at recentchanges, so a minute or two of
startup isnt very problematic. However if deps are only loaded when
needed, some deps wont be needed for certain batches. E.g. processing
only one file type.

What about having a worker deamon running to avoid start up, you would just have to connect? Would that be possible?
Dr. Trigon

A worker daemon is possible, but I dont see the benefit over delayed imports of dependencies, wrt to startup time.
It is better that file-metadata does its task in one thread, and the calling program put it into a thread (or many) if it is appropriate for that program.
Anyway, if startup time is bad, we need to first see what is the cause with real timing data.

I wanted to mention a daemon for video2commons not file-metadata of course... ;)

Oh video2commons indeed use worker daemons. Flask on the frontend, celery on the backend. The backend barely suffers any start up delays due to having good redundancy and no NFS dependency, but the frontend is already way too slow, and any code update require a restart (unless in debug mode, which kind of allows arbitrary code execution).

And the frontend loads backend code (and vise versa) because, well, it's celery and they are in the same package.

@AbdealiJK: Do we currently profile the code (e.g. list each function calls timing)? Is this included in unittest/coverage? (on travis?)
Am 21. Juni 2016 17:54:39 MESZ, schrieb John Vandenberg notifications@github.com:

A worker daemon is possible, but I dont see the benefit over delayed
imports of dependencies, wrt to startup time.
It is better that file-metadata does its task in one thread, and the
calling program put it into a thread (or many) if it is appropriate for
that program.
Anyway, if startup time is bad, we need to first see what is the cause
with real timing data.

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/AbdealiJK/file-metadata/issues/44#issuecomment-227485154

Dr. Trigon

No, we do not profile the code right now

authors: AbdealiJK drtrigon jayvdb zhuyifei1999

repo: AbdealiJK/file-metadata


text:
Add quotes component and display on UI

In this milestone, I added the following changes:

According to the project requirements:

[ ] Use the following external API: API Ninjas

[ ] Create a new component for displaying a quote

[ ] Fetch data inside of a new component using useEffect method.

[ ] Show a loading state

[ ] Show an error state

[ ] Import the new component into the main component (next to the Calculator)

[ ] It has been on the same page as the Calculator.

[ ] In addition, used uuid package for the unique id.

Hello @DuaneDave,
Thanks for the approval.👌👌👌


text:
Update README.md

i have added something

zxdsd

repo: Abhinav-co/hello-github-actions


text:
Use the new Jenkins ruleset

This change includes a minor version bump as it may raise violations in files that were not previously problematic.

@rco-ableton Would you mind taking a look at this again? I've had to make some breaking changes to support this ruleset, specifically cutting off support for Groovy 3.x. Thanks!

Actually, it seems that we don't need to remove Groovy 3 support, we can just upgrade the version. I'll rework this PR tomorrow, sorry about the noise!

Yeah, Groovy 3.0.22 seems to work fine. I've reworked this branch and it's now ready for review.

repo: Ableton/groovylint


text:
Only deploy on the production Jenkins master

Related to https://github.com/AbletonAppDev/devtools/issues/2386

Marked as WIP, since we should merge https://github.com/AbletonDevTools/ableton-pipeline-utils/pull/160 first.

@ablbot autosquash

repo: AbletonDevTools/python-pipeline-utils


text:
feat: Add CSV loader

Added csv dependency version 1.3.0 to Cargo.toml
Created CsvLoader struct in csv_loader.rs with methods for loading documents from CSV
Added mod.rs file for csv_loader module
Updated mod.rs in document_loaders directory to include csv_loader module
Updated Document struct in document.rs to accept generic page_content parameter

Can we somehow make this a bit more generic so that it not only works for csv files but also for any tabular data such as tsv, sql, kusto, excel file. CsvLoader can then internally use TabularLoader

LGTM


text:
refactor: various cleanup

Addresses https://github.com/runelite/plugin-hub/pull/6955#issuecomment-2466864687
also see commit messages for more details
untested, so would recommend doing that before merging

Thanks! I'll test the changes later today when I get the time.

authors: AbusiveTuna iProdigy

repo: AbusiveTuna/DidICompost


text:
build: Add hardening options

Get rid of the FORTIFY options, which were too specific to one compiler feature. Add OIIO_HARDENING that takes a level meaning:

0 : do nothing, not recommended.
1 : enable features that have no (or nearly no) performance impact, recommended default for optimized, shipping code.
2 : enable features that trade off performance for security, recommended for debugging or deploying in security-sensitive environments.
3 : enable features that have a significant performance impact, only recommended for debugging.

Default to 1 for optimized builds, 3 for debug builds (so will be thoroughly tested by our sanitizer and other CI tests). Users that have more stringent security requirements may choose to build with 2 even for shipping code (they should benchmark to see if that is acceptable to them).
These levels turn on a variety of compiler options that are recommended for additional safety. We will add more as they are developed.
There are also some warning suppressions that needed to be added to code in a few areas where it was unavoidable to use some constructs that trigger the elevated safety checks.

OpenSSF maintains a set of options which I think goes a bit beyond what you have here:
https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html
(I haven't read it in great detail, but the TL;DR seemed to contain a few additional flags)
To me this really should be implemented at the cmake level (seems silly for every project to replicate this logic with associated checks on compiler versions, etc ...) I also assume that this set of recommendations will evolve over time.
Of course if we need to have something today we can do it ourselves as this patch kicks off, but going forward, is there any way we can push on the OpenSSF folks to "upstream" their document into build systems? Or is that already underway?

Yeah, I based part of this on that document... but this is just a first stab, concentrating on the options that I thought I already had enough knowledge to know if it was a good idea. I assume that a 2nd or more pass will occur where we fill out more into the infrastructure I've set up here.
I don't know if CMake is looking at building this all into a single CMake option, but that sure would be ideal. OpenSSF is also a LF org, so we certainly can make a suggestion that they consider embodying their advice as a cmake patch.

Other than a few additional warnings, nothing in our CI is tripping any of the additional assertions or runtime checks, so I didn't have to modify as much code as I thought I might as part of this PR. I think we've already rooted out most of the problems that they are trapping, which is good.

Yeah, I based part of this on that document... but this is just a first stab,

To further elaborate: In this first hardening PR, I skipped over a lot of the recommendations where I was unsure at which 0-3 level it should be enabled, or if I wasn't at all sure what the performance implications would be. I think all of those cases will need to be examined individually.

Makes sense.
LGTM on this change -- it seems like a good thing to have and hopefully people who are more steeped in the details of these flags can tell us what we should add/remove if these aren't right.
Just wondering aloud - what are other libraries doing in this space? Is every project out there independently adding some combination of these flags to their build systems? Do distros have some recommended set of flags they like to add to all projects?

Yes, distros are starting to do some combination of (a) changing compiler defaults to enable a reasonable number of these, and (b) publishing hardening guides, such as this one from Debian. And there's the OpenSSF guide you cited above.
I'm not sure what projects are doing generally, but these modest steps seemed both prudent and also tick off another box in the OpenSSF badging requirements we're working toward (I forget if it's silver or gold, but at some point we need to say we have turned on reasonable compiler options for hardening). So I expect that to achieve the badges, other ASWF projects will start to follow suit.

Another related link I just ran across minutes ago:
https://clang.llvm.org/docs/SafeBuffers.html

authors: fpsunflower lgritz

repo: AcademySoftwareFoundation/OpenImageIO


text:
/usr/bin/ld: cannot find -lIlmImf and -lHalf

Hi. I have install openexr already from the source code without any error. However, I use this lib to compile other sources such as https://github.com/skycaptain/openexr-matlab, I have an error: /usr/bin/ld: cannot find -lIlmImf and -lHalf. In the libs from openexr, I do not find any *.so file related with Half and llmlmf. So how to generate the corresponding so files and solve my issue. Very thanks.

For the last two major releases of OpenEXR, there has been no libIlmImf or libHalf. The libraries are now libOpenEXR (for the file handling stuff) and libImath (for the mathy stuff, including the 'half' type). So you might be ok if you just change it to -lOpenEXR -lImath.
So this is actually a bug in the openexr-matlab project -- which is not in any way affiliated with the actual OpenEXR project here! -- where they have not kept up with changes in the current OpenEXR project. In fact, visiting https://github.com/skycaptain/openexr-matlab, I see that it's "archived", which means nobody is actively maintaining or updating it.

If you build OpenEXR from a tag corresponding to release 2.5 or earlier, it will have the library names as you expected originally. (But of course, it will not have any of the fixes or improvements from the last 2-3 years of development.)

My system is Manjaro (Archlinux). For Imath, I install it by 'yaourt -Sy imath' and 'yaourt -Sy lib32-imath', and I replaced '-lIlmImf ' and '-lHalf' with '-lOpenEXR' and '-Imath'. But, I also have some errors:

It does work with using openexr2.5.0. Thanks.

In retrospect, it doesn't surprise me that there was still trouble. You asked "what do I say instead of -lIlmImf?" and I naively answered only that specific question. But in reality, there is more to converting a project that was written for OpenEXR 2.x to be able to use 3.x (at the very least, some header includes need to change). The openexr-matlab project -- which as I said is not in any way affiliated with the OpenEXR project -- has not been modified in many years, so obviously has none of the necessary changes that would allow it to build against a modern OpenEXR+Imath.

repo: AcademySoftwareFoundation/openexr


text:
exrcheck: rework 'reduceMemory' and 'reduceTime' modes

Better handling of reduceMemory and/or reduceTime flags in checkOpenEXRFile method or exrcheck utility:

in reduceTime mode, each test now returns immediately when it encounters an exception, rather than skipping scanlines/tiles. Files which are large on disk may now take longer to read, but are more thoroughly tested. Small files will fail faster.
reduceMemory mode now estimates the amount of memory required to read an entire scanline of tiles when using the scanline API for tiled images (tiled images with large tile heights require large memory allocations in the intermediate buffer)
magic numbers used for time/memory limits are now constants

Adresses:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29393
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29682
Signed-off-by: Peter Hillman peterh@wetafx.co.nz

It looks like there are conflicts from the recent enum changes that need to be resolved, the merge isn't trivial.

It looks like there are conflicts from the recent enum changes that need to be resolved, the merge isn't trivial.

authors: cary-ilm peterhillman


text:
Update release-drafter.yml

Fixes #241

Coverage remained the same at 100.0% when pulling 8d527d62ce023d03e59a15b9d610ffae8465fe69 on release_drafer_v5.15.0 into 69012ddaff5803cbf3d054b07dd6b57ed2f7923f on master.

repo: Accruent/robotframework-zoomba


text:
Adjustment added to the css profile screen

I have added some addjustment to the css profile

The branch is showing many conflicts that does not make sense. I have done these changes and many more directly in develop branch. So, no need to merge this. Please discards these changes on your side.

repo: Acmeware-net/app-ointment


text:
Use a NuGet shared source package for ActiveLogin.Authentication.Common

Inspired by Microsoft Open-source library guidance we should probably remove the common NuGet-package as a package and instead use a NuGet shared source packages

CONSIDER referencing shared source packages for small, internal pieces of functionality.

Code fixed in #23.
We should disable the step in Azure DevOps and unlist the package on NuGet.

Turned out it was not solved. Creates a referenced DLL instead. Need to look into again.

I have not yet been able to solve this. I haven't been able to reference a project within the same solution and use that as source. It's probably possible, just haven't found documentation on how to do so.

Because all code is in the same repo, we could simply reference the same file, Will be fixed in PR #48.


text:
fix(versions): update Activiti/activiti-cloud-notifications-service-graphql versions

UpdateBot pushed maven dependency: org.activiti.cloud.query:activiti-cloud-query-dependencies to: 7.1.2

UpdateBot commands:
updatebot push-version --kind maven org.activiti.cloud.query:activiti-cloud-query-dependencies 7.1.2


text:
fix(versions): update Activiti/activiti-cloud-notifications-service-graphql versions

UpdateBot pushed maven dependency: org.activiti.cloud.query:activiti-cloud-query-dependencies to: 7.1.17

UpdateBot commands:
updatebot push-version --kind maven org.activiti.cloud.query:activiti-cloud-query-dependencies 7.1.17


text:
Improve TaskAdminController in runtime-bundle-service #2066

added more methods for TaskAdminController since they are available in activiti-api

refs #2066
requires this PR from common to be merged #83 first

@lucianoprea @salaboy I understand there is more work to do, can you guys review together?

authors: lucianoprea mteodori


text:
update org.activiti.cloud.dependencies:activiti-cloud-dependencies to 7.1.56

UpdateBot pushed maven dependency: org.activiti.cloud.dependencies:activiti-cloud-dependencies to: 7.1.56

UpdateBot commands:
updatebot push-version --kind maven org.activiti.cloud.dependencies:activiti-cloud-dependencies 7.1.56 --merge false

repo: Activiti/ttc-rb-english-campaign


text:
Use chacha instead of salsa

It has a faster implementation, an IETF RFC https://tools.ietf.org/html/rfc7539 , and a security audit.

So we use a fixed nonce and a continuous 8 byte offset that is stored with the data to make the data self-contained.
The initial value of the offset when loading from disk is the offset + size of the root block, which in a content-addressed system is always the last written block.

“fixed nonce” is an oxymoron; I think we shouldn’t invest any more work in crypto before 2.0.0 is released.

Nothing wrong with a fixed nonce, as long as you use one key for one stream only. hypercore does this.

authors: rklaehn rkuhn

repo: Actyx/banyan


text:
Using multiple trees with different egui panels causes id clashes.

Describe the bug
When using egui_dock with multiple egui panels, id clashes can occur, which causes ugly debug text to appear.
To Reproduce
Use egui_dock with a different tree for each panel. A minimal example is provided below in code:
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] // hide console window on Windows in release

use eframe::{egui, NativeOptions};
use egui_dock::{DockArea, Style, Tree};

fn main() {
    let options = NativeOptions::default();
    eframe::run_native(
        "My Multipanel egui App",
        options,
        Box::new(|_cc| Box::new(MyApp::default())),
    );
}

struct TabViewer {}

impl egui_dock::TabViewer for TabViewer {
    type Tab = usize;

    fn ui(&mut self, ui: &mut egui::Ui, tab: &mut Self::Tab) {
        ui.label(format!("Content of {tab}"));
    }

    fn title(&mut self, tab: &mut Self::Tab) -> egui::WidgetText {
        format!("Tab {tab}").into()
    }
}

struct MyApp {
    left_panel_tree: Tree<usize>,
    right_panel_tree: Tree<usize>,
    bottom_panel_tree: Tree<usize>,
}

impl Default for MyApp {
    fn default() -> Self {
        let left_panel_tree = Tree::new(vec![1, 2]);
        let right_panel_tree = Tree::new(vec![3, 4]);
        let bottom_panel_tree = Tree::new(vec![5, 6]);

        Self {
            left_panel_tree,
            right_panel_tree,
            bottom_panel_tree,
        }
    }
}

impl eframe::App for MyApp {
    fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
        egui::SidePanel::left("Left Panel").resizable(true).show(ctx, |ui| {
            DockArea::new(&mut self.left_panel_tree)
                .style(Style::from_egui(ctx.style().as_ref()))
                .show_inside(ui, &mut TabViewer {});
        });

        egui::SidePanel::right("Right Panel").resizable(true).show(ctx, |ui| {
            DockArea::new(&mut self.right_panel_tree)
                .style(Style::from_egui(ctx.style().as_ref()))
                .show_inside(ui, &mut TabViewer {});
        });

        egui::TopBottomPanel::bottom("Bottom Panel").resizable(true).show(ctx, |ui| {
            DockArea::new(&mut self.bottom_panel_tree)
                .style(Style::from_egui(ctx.style().as_ref()))
                .show_inside(ui, &mut TabViewer {});
        });
    }
}

Run the example, and observe that egui reports id conflict errors. The result of running the example produces the screenshot below.
Expected behavior
I should be able to use a different Tree for each panel and only show the tabs which correspond to that Tree in the chosen panel. Alternatively, egui_dock could provide a replacement Panel API to allow drag-drop between different panels.
Screenshots
Screenshot of running the above example code:

Used DockArea::id to solve this issue, closing


text:
public key for recursive source code

Do you need a public key to download the recursive source code?

Here is an image of my bash session:

There must be some issue with your machine. I cloned this repo with http and ssl successfully.

The same issue happens on my machine (Windows 7 x64).
> git clone --recursive git@github.com:AdaptiveCode/AdaptiveCode.git
Cloning into 'AdaptiveCode'...
Permission denied (publickey).
fatal: Could not read from remote repository.

I haven't merged in the 2e branch yet, anyway, so you're probably better off cloning each chapter individually for now.
You probably don't have ssh configured correctly, which is why cloning over https works.
Try this instead:
> git clone --recursive https://github.com/AdaptiveCode/AdaptiveCode.git

Guidelines I have used from this answer helped me to configure ssh correctly, so now I can clone repo with
git clone --recursive git@github.com:AdaptiveCode/AdaptiveCode.git

Yeah, master is empty until I finish porting/writing the code for the 2nd Edition.
Git's clone command accepts a --branch parameter, and the branch with all the 2nd Edition code on is called 2e. So, you could do this:
git clone --branch 2e --recursive git@github.com:AdaptiveCode/AdaptiveCode.git

For a £30/$50 book I find the fact that the code repo is still not ready in later 2017 to be pretty poor. And the fact that the community have had to fill in the blanks with regards to how to clone stuff! Not really good enough, sorry Gary.

To be honest, I think it is not the matter of this book to bear any code repo thus I am not disappointed by the fact that code repo is not ready now, but I agree if something like repo is mentioned in the book it must be ready for use.

@hjr2000 Hi Haden, apologies you are dissatisfied, but there is a lot of code already there from the 1st edition that is still very relevant. The book was not rewritten, nor did it need to be, it was just updated to make corrections and improvements and add depth where necessary. Anyway, hope you got something from the book, or you were successful in getting a refund 👍

Hello, how do I get a refund and from whom? Last time I contacted Microsoft Press about a similar situation (Fritz's book on ASP.NET Core), they did not remedy the situation. I won't have another book which I can't use. I pay money for these, you know, I don't get them off free download sites.

authors: EpsilonSigma garymcleanhall hjr2000 mncourt neman wapxmas

repo: AdaptiveCode/AdaptiveCode


text:
On Arm platform tests for group functions failed when targeting omp.accelerated

Bug summary
Acpp can be built without issue on Oracle A1 VPS (4-core Ampere Altra chip). However, the built-in tests for group functions all failed.
I saw this issue related to Arm: https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1044
It seems acpp has been tested on Arm. I'm wondering if I didn't set up acpp correctly.
To Reproduce
# build acpp and builtin tests
./sycl_tests --run_test=group_functions_tests

Expected behavior
All tests should pass.
Describe your setup
CPU: Ampere Altra (Arm Neoverse-N1, 4 cores)
RAM: 24 GB
OS: Debian 12
Software: Boost 1.74, Python 3.11

how you have installed AdaptiveCpp, and which version/branch/git commit:
Build from source in GitHub repo develop branch
Describe the dependencies that AdaptiveCpp sits on top of in your setup:

clang version and how clang was installed:
Clang/LLVM 17.0.6 from official LLVM apt repo.
host compiler:
GCC 12.2 from official Debian repo
CUDA version (if applicable)
ROCm version and how ROCm was installed (if applicable)

How you have compiled your application and which arguments you have passed to acpp. In particular, which backends and hardware you have compiled for:

cmake -DWITH_SSCP_COMPILER=OFF -DWITH_ACCELERATED_CPU=ON -DWITH_OPENCL_BACKEND=OFF -DCMAKE_INSTALL_PREFIX=$HOME/Projects/AdaptiveCpp/install -DWITH_CUDA_BACKEND=OFF -DWITH_ROCM_BACKEND=OFF -DWITH_LEVEL_ZERO_BACKEND=OFF -DDEFAULT_TARGETS='omp.accelerated' ..

Optional additional diagnostic information
The following information can potentially help us:

For compilation/toolchain or setup-related issues: Setting the environment variable HIPSYCL_DRYRUN=1 during compilation will cause syclcc to print the commands it would execute instead of actually executing. This can help verify the sanity of your setup.
syclcc --hipsycl-version prints information about the AdaptiveCpp configuration that may be interesting for setup-related issues.

acpp warning: syclcc is deprecated; please use acpp instead.
acpp [AdaptiveCpp compilation driver], Copyright (C) 2018-2023 Aksel Alpay and the AdaptiveCpp project
  AdaptiveCpp version: 24.02.0+git.0359cac9.20240401.branch.develop.dirty
  Installation root: /home/ouankou/Projects/AdaptiveCpp/install
  Plugin LLVM version: 17, can accelerate CPU: True
  Available runtime backends:
     librt-backend-omp.so

Full configuration [can be overridden using environment variables or command line arguments]:
    version-major: 24
    version-minor: 02
    version-patch: 0
    version-suffix: +git.0359cac9.20240401.branch.develop.dirty
    plugin-llvm-version-major: 17
    plugin-with-cpu-acceleration: true
    default-clang: /usr/lib/llvm-17/bin/clang++
    default-targets: omp.accelerated
    default-cpu-cxx: /usr/bin/c++
    default-rocm-path: /opt/rocm
    default-use-bootstrap-mode: false
    default-is-dryrun: false
    default-use-accelerated-cpu: true
    default-clang-include-path: /usr/lib/llvm-17/lib/clang/17/include/..
    default-sequential-link-line: -L/usr/lib/aarch64-linux-gnu -lboost_context -lboost_fiber -Wl,-rpath=/usr/lib/aarch64-linux-gnu
    default-sequential-cxx-flags: -I/usr/include -D_ENABLE_EXTENDED_ALIGNED_STORAGE
    default-omp-link-line: -L/usr/lib/aarch64-linux-gnu -lboost_context -lboost_fiber -Wl,-rpath=/usr/lib/aarch64-linux-gnu -fopenmp
    default-omp-cxx-flags: -I/usr/include -fopenmp -D_ENABLE_EXTENDED_ALIGNED_STORAGE
    default-is-explicit-multipass: false
    default-save-temps: false

For issues related to the runtime, setting the environment variable ACPP_DEBUG_LEVEL=3 will cause it to print a lot of diagnostic information that might be helpful. Attach the output of your program with ACPP_DEBUG_LEVEL=3 if you think it might be helpful for your issue.
Execution output (fail.log) and DEBUG output(fail_output.log) are attached.
fail.log
fail_debug.log

Recent AdaptiveCpp versions include a tool called acpp-info, which will print information about available backends and devices. This may be interesting for issues related to e.g. device visibility.

=================Backend information===================
Loaded backend 0: OpenMP
  Found device: hipSYCL OpenMP host device

=================Device information===================
***************** Devices for backend OpenMP *****************
Device 0:
 General device information:
  Name: hipSYCL OpenMP host device
  Backend: OpenMP
  Vendor: the hipSYCL project
  Arch: <native-cpu>
  Driver version: 1.2
  Is CPU: 1
  Is GPU: 0
 Default executor information:
  Is in-order queue: 0
  Is out-of-order queue: 1
  Is task graph: 0
 Device support queries:
  images: 0
  error_correction: 0
  host_unified_memory: 1
  little_endian: 1
  global_mem_cache: 1
  global_mem_cache_read_only: 0
  global_mem_cache_read_write: 1
  emulated_local_memory: 1
  sub_group_independent_forward_progress: 0
  usm_device_allocations: 1
  usm_host_allocations: 1
  usm_atomic_host_allocations: 1
  usm_shared_allocations: 1
  usm_atomic_shared_allocations: 1
  usm_system_allocations: 1
  execution_timestamps: 1
  sscp_kernels: 0
 Device properties:
  max_compute_units: 4
  max_global_size0: 18446744073709551615
  max_global_size1: 18446744073709551615
  max_global_size2: 18446744073709551615
  max_group_size: 1024
  max_num_sub_groups: 18446744073709551615
  preferred_vector_width_char: 4
  preferred_vector_width_double: 1
  preferred_vector_width_float: 1
  preferred_vector_width_half: 2
  preferred_vector_width_int: 1
  preferred_vector_width_long: 1
  preferred_vector_width_short: 2
  native_vector_width_char: 4
  native_vector_width_double: 1
  native_vector_width_float: 1
  native_vector_width_half: 2
  native_vector_width_int: 1
  native_vector_width_long: 1
  native_vector_width_short: 2
  max_clock_speed: 0
  max_malloc_size: 18446744073709551615
  address_bits: 64
  max_read_image_args: 0
  max_write_image_args: 0
  image2d_max_width: 0
  image2d_max_height: 0
  image3d_max_width: 0
  image3d_max_height: 0
  image3d_max_depth: 0
  image_max_buffer_size: 0
  image_max_array_size: 0
  max_samplers: 0
  max_parameter_size: 18446744073709551615
  mem_base_addr_align: 8
  global_mem_cache_line_size: 64
  global_mem_cache_size: 1
  global_mem_size: 18446744073709551615
  max_constant_buffer_size: 18446744073709551615
  max_constant_args: 18446744073709551615
  local_mem_size: 18446744073709551615
  printf_buffer_size: 18446744073709551615
  partition_max_sub_devices: 0
  vendor_id: 18446744073709551615
  sub_group_sizes: 1

Additional context
Add any other context about the problem here.

Yes, it is expected to work on ARM, and was tested on A64fx and ThunderX2, but I don't know if anybody has ever tried it on Altra.
@nilsfriess, I recall you recently reported to have found some bugs in the tests. Were the group tests by chance among the problematic test cases?

Thanks for the info!
I've also tested it on the Apple M1 Arm chip. Except for acpp, all dependencies are installed from official Debian or LLVM repos.
System: Debian 12 in the UTM virtual machine
Software: LLVM 16 and 17, Boost 1.74.
Building config:
cmake -DWITH_SSCP_COMPILER=OFF -DWITH_ACCELERATED_CPU=ON -DWITH_OPENCL_BACKEND=OFF -DCMAKE_INSTALL_PREFIX=$HOME/Projects/AdaptiveCpp/install -DWITH_CUDA_BACKEND=OFF -DWITH_ROCM_BACKEND=OFF -DWITH_LEVEL_ZERO_BACKEND=OFF -DDEFAULT_TARGETS='omp.accelerated' ..

Identical failures to group functions happened.

I only found some UB in the tests, but I don't think the group tests were among the problematic tests. But I'll check again

Checked again, there is actually a problem in the group tests (an integer overflow, to be specific). Not sure if this can explain the error reported above.

@ouankou Can you check whether it works as expected with omp.library-only target?

authors: illuhad nilsfriess ouankou

repo: AdaptiveCpp/AdaptiveCpp


text:
The AdGuard CA certificate from the system store is not recognized on Android

So, we have a lot of errors when the AdGuard app shows a notification "Some app cannot recognize our certificate ..." for applications that don't have SSL-pinning.
This bug can catch on Android 9 and 10, too. Fix it, please.

Sorry, guys, my fault.

repo: AdguardTeam/CoreLibs


text:
Redundant jcr:read permissions on /conf

The repoinit script from https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/all/src/main/content/jcr_root/apps/acs-commons/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-acs-commons-all.config  grants jcr:read in /conf to several system users. That is redundant as AEM 6.5 and AEMaaCS ship with the following default permissions for everyone:
allow jcr:read on /conf with restrictions: [rep:subtrees: '/global/site-templates/,/settings/wcm/,/sling:configs/,/settings/dam/cfm/models/,/settings/graphql/persistentQueries' ]

@YegorKozlov Any idea why we still ran into #3284? Was the aforementioned access control entry not enough (even the service user should inherit from everyone)...

@kwin I assume this is the same for marketo? Can we close this?

@davidjgonzalez Sorry, I am not following. Which marketo path/config are you referring to? Why should this justify closing this ticket?

@kwin Wrt to the redirects (#3284) based on this thread, it sounds like the current ACLs are necessary due to the OOTB with restrictions (ie we cant remove them), or am i missing something?

I am not familiar with the service users, but as long as they only use content below the allowed subtrees there is no need for it. Potential candidates are

https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/70679422ea50ba281a62abccdf77c1b0690f7b5c/all/src/main/content/jcr_root/apps/acs-commons/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-acs-commons-all.config#L34
https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/70679422ea50ba281a62abccdf77c1b0690f7b5c/all/src/main/content/jcr_root/apps/acs-commons/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-acs-commons-all.config#L40

@kwin
the only ACL block need is
# web requests need read access to redirect configurations, e.g. /conf/global/settings/redirects
set ACL for everyone
    allow jcr:read on /conf  restriction(rep:glob,/*/settings/redirects)
    allow jcr:read on /conf  restriction(rep:glob,/*/settings/redirects/*)
end

and it

@kwin  I'm going to remove this one
create service user acs-commons-manage-redirects-service with path system/acs-commons
set ACL for acs-commons-manage-redirects-service
    allow jcr:read on /
    allow jcr:read on /conf
end

and refactor Redirect Manager to not require service users at all. With redirects readable to everyone we can access them using request's resolver. The service user and the reference to @ResourceResolverFactory will go away.

authors: YegorKozlov davidjgonzalez kwin


text:
Marked processInputs transient

as per issue #1260

Coverage remained the same at 35.925% when pulling a315b5b1f0953b3bfc06a438c0dc590a3a69a77d on defect/1260-MCP-Serialization into 9557b37c443e04accd8ad06d3f22b50dc69c3b53 on master.

@badvision can you update the changelog?

authors: badvision coveralls justinedelson


text:
oakpal-testing-1.1.9 broken build on windows. upgrade oakpal to 1.1.11.

see [adamcin/oakpal#1]

@badvision windows build fix is in.

Thanks for that! :)  I'll confirm and let you know how it goes.

Thanks @adamcin !

authors: adamcin badvision


text:
Use hyphens instead of underscore in node names

As a matter of style, node names should use hyphen separators instead of underscore.

Ok, fix it

authors: galapagoss ppiegaze


text:
Update to node 14

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

@duynguyen

repo: AdobeDocs/adobeio-codelabs-alarms


text:
Removing the incorrectly placed + sign

Removing the incorrectly placed + sign from the sample code

@rishimittal2003 - I made this change in the corp repo. Thanks for noticing this!


text:
Fix CHANGELOG version 1.1.0 => 2020 to 2021

Description
Change year of version 1.1.0 in CHANGELOG.MD
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thanks @romainpurchla - this conflicted with the current updates, but I added it in bf5e6c3dca52cc8e4607603c87e08c7a5945db1c and gave you a shout out in the commit comments.

authors: gskinner romainpurchla

repo: AdobeXD/xd-to-flutter-plugin


text:
Create production ready builds which align with Oracle Jan 2018 quarterly update

On 16th Jan 2018 Oracle released the latest quarterly update.  This means the AdoptOpenJDK can create builds at the same code level (jdk8u162-b12) and make them available on the main download page.
openjdk-hotspot builds should be able to be created right away, openjdk8-openj9 cannot be built just yet as we are waiting for an official eclipse/openj9 release level to combine with the openjdk level.
Once created the builds should be tested (including the JCK), and then marked as 'production ready' (see https://github.com/AdoptOpenJDK/openjdk-website/issues/209).

From @gdams Ref: https://adoptopenjdk.slack.com/archives/C09NW3L2J/p1518523866000151 - I've already started working on part 1 of this:

we need to update makejdk.sh to be able to run on a specific tag that we define in a job
we need to update https://github.com/AdoptOpenJDK/openjdk-website-backend/blob/master/sbin/Release.sh#L39 to auto fetch the VERSION var so that we don't have to set it twice (allowing it to fall out of sync)

2 isn't perhaps necessary for an actual release because we are setting the release that we want to build against but it is an issue for nightly builds because it doesn't update automatically as new tags appear (causing the issue Martijn linked to)

openj9 builds have been updated with the the quarterly release at HEAD and have been initiated at https://ci.adoptopenjdk.net/view/Pipelines/job/openjdk8_openj9_nightly_pipeline/ although xlinux is currently failing - see https://github.com/ibmruntimes/openj9-openjdk-jdk8/issues/44.

I'm prototyping a tag option using the jdk10 arm32 builds (since we don't ship these as releases it seemed a safe option!) at https://ci.adoptopenjdk.net/job/openjdk10_build_arm32_linux/
The --tag option to makejdk.sh was added in https://github.com/AdoptOpenJDK/openjdk-build/pull/220

Ref the OpenJ9 build - AIX build machine ran out of space - now fixed https://github.com/AdoptOpenJDK/openjdk-build/issues/222
xLinux build is failing https://github.com/ibmruntimes/openj9-openjdk-jdk8/issues/44
WIndows OpenJ9 has a known issue: http://github.com/eclipse/openj9/issues/845 (Start at http://github.com/eclipse/openj9/issues/845#issuecomment-363406782)

Using the jdk10 arm32 builds wasn't the smart idea I thought it was as they appear to be fundamentally broken even without the tag parameter being specified. Have therefore integrated the option on the xlinux jdk10 build jobs instead ...

sbin/build.sh will also need updated as it has it's own detection of the latest tag that it uses for the top level directory inside the tarball

@sxa555 left some comments  - https://github.com/AdoptOpenJDK/openjdk-build/pull/220

Archiving our conversation for posterity https://github.com/AdoptOpenJDK/openjdk-build/pull/220#discussion_r168516626

openjdk-openj9 "Release Candidate" builds are these ones which I'll tell jenkins to save in the absence of us having an official RC process just now:
https://ci.adoptopenjdk.net/job/openjdk8_openj9_build_ppc64_aix/77/artifact/OpenJDK8_ppc64_AIX_201822020500.tar.gz
https://ci.adoptopenjdk.net/job/openjdk8_openj9_build_ppc64le_linux/74/artifact/OpenJDK8_ppc64le_Linux_201822021300.tar.gz
https://ci.adoptopenjdk.net/job/openjdk8_openj9_build_s390x_linux/73/artifact/OpenJDK8_s390x_Linux_201822020800.tar.gz
xLinux: TBD

OpenJ9 branch updated to openj9-0.8 in https://github.com/AdoptOpenJDK/openjdk-build/commit/d0e331732423bcb8d9086975b7191dd4d04badb6
Builds were initially coming out on the nightly site still labelled on the web site as jdk8u152 but were actually 162 (as you can see inside the tarballs) I'm re-running the nightly pipeline to resolve that with the second build on March 1.
JCK runs are in progress

We now have the builds for the openjdk8-openj9 variant which maps to the Jan 18 oracle update. What is the status for the openjdk8-hotspot builds?

I think I'm reasonably close to having a reasonable mirror in https://github.com/sxa555/openjdk8-temp but need to do some sanity checks first. Also I haven't done anything to mimic the dev branch we build from. I've been test building it from various tags at https://ci.adoptopenjdk.net/view/work in progress/job/sxa_openjdk8_xlinux/.
I've attempted to get mirrors of all tags from 8u144 up to the latest 8u172 - only taking the latest -b revision of each one since those correspond to the GA levels.

Hopefully this update makes sense - I'm in a bit of a daze today ...
So https://github.com/sxa555/openjdk8-temp now finally has (I believe!) the same HEAD as https://github.com/AdoptOpenJDK/openjdk-jdk8u (other than it missing get_source.sh and README but crucially includes the tags for earlier builds.
The questions outstanding now to produce production read HotSpot buids are:

Can someone else give me a sanity check on the codebase to see if it looks sane. That repo was populated using a modified - and still a little "fluid" - version of the script currently sitting on my laptop that is used to populate the OpenJDK+Eclipse OpenJ9 repository under http://github.com/ibmruntimes
We'll need to get this new script in place to populate the repository at adoptopenjdk once we'rte happy it's done the right thing (Obviously, under sxa555 is not the sane place for this) - if we have to remirror this could take a couple of days (machine time)
I have no real idea of what we have in the dev branch (the one we build from) or how to populate it so that will be a prereq to the following steps
Build from the jdk8u162-b12 tag (or will it need an equivalent on the dev branch?)
Run all the tests against it
Ship it! (Subject to the tests not indicating a problem, obvs!)

While I admit the chances of getting all that done before the next quarterly Oracle release comes out is fairly slim, it gives us something to work towards and streamline for next time round ;-)
FYA @neomatrix369 @karianna @lumpfish @gdams @irinarada (feel free to assign yourself to this item along with me if you so wish, but I suspect tagging you is enough to get it on your notifications list now)

Hi @sxa555
1.) It looks sane and you can probably check using a git or local linux diff tool between your repo and openjdk-jdk8u (dev branch)
2.) I'm not sure which new script you are referring to here?
3.) The dev branch is almost identical to master except it contains the 1-2 patches we added for supporting some platforms that OpenJDK upstream refused the patches for.  I'd suggest running a diff between dev and master which should give you what those small patches are...
4.) Yes build from the tag on the dev branch
5.) & 6.) :-)
7.) Profit!  err wait...

Yep it seemed ok to me from diffing the directores other than the couple of other files mentioned
It's one that I got from @yongja79 (I think that's his ID) and I don't think it's on github anywhere, but had support for doing clever stuff with git filter-branch to mirror the tags accurately. It might have been based on the adoptopenjdk one. I've tweaked it a bit to mirror a fixed set of historic tags (The last one for each u level which means it just gets the GA ones. Obviously if we're happy with this I'll chuck it back up into the repo :-)
3+4) My only concern with the patches is how we handle the tags. Should the tags in the master branch or the dev branch have the quarterly level. Possibly master, with a suffix -ao or something for the equivalents in dev. Will need some work to get such tags in the dev branch set up.
5,6,7) Ker-ching! (Hahahaahaaahahahaa)

I thought the hg-git scripts pulled in the tags for both master and dev?  If not that's perhaps where we should fix that.

It put tags in but they weren't correct - didn't seem to be taking in account all the subrepos so they weren't all there when you checked out the tag. I'll look into it again if there's stuff to deal with the dev branch too there already though.

openjdk9-openj9 builds aligning with the Jan18 were created and tested, but the issues around building the correct level of openjdk8-hotspot were still ongoing at the time of the Oracle Apr 2018 quarterly update.
The build issues would now be better continued by building the new update level.
See https://github.com/AdoptOpenJDK/openjdk-build/issues/303 and https://github.com/AdoptOpenJDK/openjdk-build/issues/304.

I'm going to close this as we will not be completing a release of the Jan 18 quarterly update as it has been superceded by the April releases which we have done under https://github.com/AdoptOpenJDK/openjdk-build/issues/303

repo: AdoptOpenJDK/openjdk-build


text:
Microsoft Visual C++ Runtime Assertion Failed

I don't know what's going on, but something should happen! I hope it will be resolved soon
OpenJDK11U-jdk_x64_windows_openj9_jdk-11.0.1_13_openj9-0.11.0_11.0.1_13
Microsoft Visual C++ Runtime Assertion Failed
screenshot is here

Looks like it's somewhere in the OpenJ9 code, therefore have raised an issue against OpenJ9.

Actually I'll close that one as it's a duplicate of an existing OpenJ9 issue: https://github.com/eclipse/openj9/issues/3441

Ok

Thank you (^_^)


text:
build-azure-win2012r2-x64-2 sees StackOverflowError in Task :compileGroovy

Summary
Three builds on this machine failed a compileGroovy task.
Further Details
https://ci.adoptopenjdk.net/view/Failing Builds/job/build-scripts/job/jobs/job/jdk15/job/jdk15-windows-x86-32-hotspot/7/console
https://ci.adoptopenjdk.net/view/Failing Builds/job/build-scripts/job/jobs/job/jdk8u/job/jdk8u-windows-x86-32-hotspot/676/console
https://ci.adoptopenjdk.net/view/Failing Builds/job/build-scripts/job/jobs/job/jdk11u/job/jdk11u-windows-x64-openj9/703/console
In this issue we saw the same symptom, and the issue was resolved by restarting the machine. While not an ideal long-term resolution, it has much to recommend it as a short-term fix.
Error Message
00:32:44  > Task :compileGroovy
00:39:23  > Task :compileGroovy FAILED
00:39:23
00:39:23  FAILURE: Build failed with an exception.
00:39:23
00:39:23  * What went wrong:
00:39:23  Execution failed for task ':compileGroovy'.
00:39:23  > java.lang.StackOverflowError (no error message)

For the sake of trying, I've restarted it - we can see with the nightlies whether this fixes it again

Looking at the failing builds, I don't see any Windows machines that failed at the build stage, and I found a build that worked with build-azure-win2012r2-x64-2 : https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk15/job/jdk15-windows-x64-openj9/60/consoleFull
Closing, but I'll keep an eye on it. I agree that it's not a very good long term fix, I'd rather have something a bit more concrete as a solution.

authors: Willsparker adamfarley

repo: AdoptOpenJDK/openjdk-infrastructure


text:
Delete infrastructure.md

most people should now know the knew location https://github.com/AdoptOpenJDK/openjdk-infrastructure/blob/master/ansible/inventory.yml

@karianna done


text:
Can one determine whether heap is normal or large somehow from installed release [Windows]

I need to determine whether installed release is of normal- or large-heap type.
Is it possible somehow, for instance, from a release file?

@pshipton Do you know of any option? If not, would probably a good idea to the version output.

You can't tell from the release file output. The -version out does indicate "Compressed References" or not. The difference in the build is the directory structure contains either a compressedrefs directory or a default directory (default for 32-bit). Where exactly that is in the structure depends on whether it's Java 8 or Java 11+, and whether it's Windows or some other platform. On Windows the directory is in the jre/bin directory, or in bin if there is no jre directory.
You could open an issue at https://github.com/eclipse/openj9/issues to see about adding something to the release file, but note the OpenJ9 project is actively working on not having a separate large heap build. It's functional but not yet performant.

Thank you very much! This is enough for my task.

@pshipton  Still need one more clarification - does default for 32-bit tells that it's normal heap?
i.e., the algorithm looks like:
if x64 => presence of  compressedrefs = normal heap; default = large heap
if x32 => presence of  default = normal heap

Correct, there is only one type for 32-bit.

@pshipton Thank you!

authors: aahlenst pshipton tushev

repo: AdoptOpenJDK/openjdk-support


text:
JVM option -XX:+UseShenandoahGC is not supported in JDK-15.0.2+7

Linux x64 JVM 15.0.2+7 says "Option -XX:+UseShenandoahGC not supported". Everything was OK with the previous build of JDK15.

Cannot reproduce:
$ java -XX:+UseShenandoahGC -Xlog:gc -version
[0.022s][info][gc] Using Shenandoah
[0.022s][info][gc] Heuristics ergonomically sets -XX:+ExplicitGCInvokesConcurrent
[0.022s][info][gc] Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent
openjdk version "15.0.2" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 15.0.2+7)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 15.0.2+7, mixed mode, sharing)
[0.054s][info][gc] Cancelling GC: Stopping VM

Please provide more details.


text:
Malformed \uxxxx encoding error during make configure

On my laptop, running make configure resulted in the below error.
c:\git\openjdk-systemtest\openjdk.build\include\top.xml:64: The following error occurred while executing this line:
c:\git\openjdk-systemtest\openjdk.build\include\top.xml:447: java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
at java.util.Properties.loadConvert(Properties.java:618)
at java.util.Properties.load0(Properties.java:435)
at java.util.Properties.load(Properties.java:364)
at org.apache.tools.ant.taskdefs.LoadProperties.execute(LoadProperties.java:199)
.
.
In top.xml, in the "set-platform-properties" macrodefinition, output of the command "java -XshowSettings:properties -version" is redirected into a property file. In the next step, using ant's loadproperties, the property file is read.
The issue is because of "\u" character appearing in the PATH. I had an entry in PATH env variable which is like "C:\stf\unzip". Since "\u" is coming up in the path "C:\stf**\u**nzip", ant loadproperties fails with the mentioned error.
Path entries in the generated property file appears with single "" slash. Solution to fix this problem is to change it to "" slash.

test

repo: AdoptOpenJDK/openjdk-systemtest


text:
Remove "Blazor Time Zone Kit"

Due to Blazor WebAssembly v.3.2 Preview 5 has been started support for time zones officially.
"Blazor Time Zone Kit" will no longer be maintained.
(I'm an owner of "Blazor Time Zone Kit".)

Ok I archive it. Thank's a lot.

Thanks!

authors: AdrienTorris jsakamoto

repo: AdrienTorris/awesome-blazor


text:
代码中使用接口的方法调用没有解析到对应的实现类的方法调用

源码如下：
interface User{
    public String getName();
    public void setName(String name);
    public void sayHello();
}

class Student implements User{
    private String name;
    public String getName(){
        return name;
    }

    public void setName(String cname){
        name = cname;
    }
    private void secret(){
        System.out.println("secret");
    }

    public void sayHello(){
        System.out.println("hello, " + name);
        secret();
    }
}
public class UrlArgParser {
    public static void main(String args[]){
        User a = new Student();
        a.setName("great");
        a.sayHello();
    }
}

生成的调用链如下：
C:StudentStudent
C:Student User
C:Student java.io.PrintStream
C:Student java.lang.StringBuilder
C:Student java.lang.System
M:1 Student:<init>() (O)java.lang.Object:<init>() 12 1
M:2 Student:secret() (M)java.io.PrintStream:println(java.lang.String) 22 1
M:3 Student:sayHello() (O)java.lang.StringBuilder:<init>() 26 1
M:4 Student:sayHello() (M)java.lang.StringBuilder:append(java.lang.String) 26 1
M:5 Student:sayHello() (M)java.lang.StringBuilder:append(java.lang.String) 26 1
M:6 Student:sayHello() (M)java.lang.StringBuilder:toString() 26 1
M:7 Student:sayHello() (M)java.io.PrintStream:println(java.lang.String) 26 1
M:8 Student:sayHello() (O)Student:secret() 27 1
C:UrlArgParser Student
C:UrlArgParser UrlArgParser
C:UrlArgParser User
M:9 UrlArgParser:<init>() (O)java.lang.Object:<init>() 30 1
M:10 UrlArgParser:main(java.lang.String[]) (O)Student:<init>() 35 1
M:11 UrlArgParser:main(java.lang.String[]) (I)User:setName(java.lang.String) 36 1
M:12 UrlArgParser:main(java.lang.String[]) (I)User:sayHello() 37 1

main中调用的User接口的sayHello方法未关联到Student实现类的sayHello方法

需要等下一个版本，对于上面的代码可以识别到被调用的类型是Student
现在的版本会识别到被调用类型是User，还会生成一条调用关系是User调用Student，这样会间接地关联起来

authors: Adrninistrator skysider


text:
Live endpoints to 6.0.0 not exists

Describe the bug
https://docs.adyen.com/development-resources/live-endpoints/
https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/6.0.0/adyen.js not exists
only exists test
To Reproduce
https://docs.adyen.com/development-resources/live-endpoints/
https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/6.0.0/adyen.js not exists

Hello @agracia-foticos
There's been a change for V6, that domain is no longer used for loading the SDK. The new one is:
checkoutshopper-test.cdn.adyen.com/checkoutshopper/sdk/6.0.0/adyen.js
checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.0/adyen.js

We are working with the docs team to update this.

repo: Adyen/adyen-web


text:
Added an event for handling captchas

Added an event for handling captchas

Added in a slightly different way. https://github.com/AeonLucid/POGOLib/commit/515c73d0dcd257f01b2663d6174540a52c34f2b2

authors: AeonLucid IAmWaseem

repo: AeonLucid/POGOLib


text:
Add support of the MATERIALIZE PROJECTION|INDEX statement

This PR is the final part of #59, and will close #59 after merging.

Pull Request Test Coverage Report for Build 8534930142
Details

92 of 126 (73.02%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 57.694%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

parser/ast_visitor.go
6
10
60.0%

parser/parser_alter.go
38
48
79.17%

parser/ast.go
48
68
70.59%

Totals

Change from base Build 8534422403:
0.2%

Covered Lines:
5819

Relevant Lines:
10086

💛  - Coveralls

authors: coveralls git-hulk

repo: AfterShip/clickhouse-sql-parser


text:
A vulnerability found in browserify-hmr

Hi, I found a vulnerability in browserify-hmr, how do I report it to you?

Thanks for contacting me about this!Email me at agentme49@gmail.com

repo: AgentME/browserify-hmr


text:
Stopped working as of 5/24/2023

Doesn't hide implings currently, but still changes the option to "use".

This is intended. Maybe in the future I will add the ability to choose whether to hide implings or change the left click to use.

repo: AggieNateHarris/ImplingSaver


text:
Hexagon creation does not score a bonus.

Even though bridge bonus is working, hexagon bonus has not been.  For example, see the snippet from the board that shows a hexagon.  The hexagon created by tiles 51, 54, 55, 21, 18, 49 has both Player 'A and 'B' placing pieces, but the player that closed the hexagon did not get the 50 point bonus.
 Turn 7 by Player B ...
  Top choice: 0-3-5
------------------------------------------
          53   54   55   56
------------------------------------------
|    |+++++^ -- 51-- ^ -- 53--
|    |++++/3\\3 P 4//4\\4 P 4/
| 56 |+++/ A \\ B // A \\ B /
|    |++/3 P 5\\5//5 P 4\\4/
|    |+ -- 49-- v -- 54-- v
|    |= -- 18-- ^ -- 55-- =
|    |==\3 P 5//5\\5 P 4/===
| 57 |===\ B // B \\ A /=====
|    |====\0//0 P 5\\5/=======
|    |=====v -- 21-- v=========
   Played tile '0-3-5' at location (57,53).
  Tile added to empty faces pool: 0-3-5

In the above case, Player 'B' placed tile 18 '0-3-5' and should have been awarded 8 points for the tile, and 50 points for the bonus for completing a hexagon.
Bonuses should probably be tracked in each Player, and it might be a good idea to track which pieces were included in the hexagon.  Optimizations on scoring might be achieved by looking at the set of pieces that create a hexagon and only attempt to determine if a hexagon was created by placing one of those tiles.

Bridge, hexagons, and completions are now scored properly.

repo: AgileBitFlipper/triominos


text:
Angular 14 & Standalone Components

This RFC for standalone components was mentioned by @vitale232 and it would be an interesting thing to support in place of the agnostic-angular/libs/ag/src/lib/ag.module.ts we have today.

It seems closer to other framework ecosystems making it easier on Angular noobs coming from other places
As a newcomer, AgnosticUI Angular (agnostic-angular) might benefit from being an early adopter of this approach

This task is to further investigate the pros and cons and possibly move the implementation in this direction

@vitale232 ☝ -- lmk if you'd like to take this as it was your baby in the first place :) There's no real rush for this so it might also be a good one to sort of chew on and experiment with for a bit.

repo: AgnosticUI/agnosticui


text:
Vue tests & linting

When we ported agnostic-vue to Vue 3 + Vite, we didn't yet address:

Linting issues
Tests

This task is to fix all that.
Also, we'll need to add back yarn test:vue to the top-level monorepo's package.json script:
    "test": "yarn sync:react && yarn test:react && yarn sync:vue && yarn sync:svelte && yarn test:svelte",

See https://github.com/AgnosticUI/agnosticui/blob/master/package.json#L41

I got the Eslint working and cleaned up the files.
For testing, Jest and Vite seems to be a shit show. Will rewvisit specs using idiomatic vite/vue 3 way.
https://github.com/vitejs/vite/issues/1955


text:
Channel Operation flag enableNotificationToChannelMembers is not working correctly on ios

Hi, Agora team,
The current version of agora flutter RTM channel operations on below functions is not working on IOS, but is working on Android.
No matter the value of enableNotificationToChannelMembers is true or false, on IOS, it is always notifying all memebers in the channel.
Future addOrUpdateChannelAttributes(
String channelId,
List attributes,
bool enableNotificationToChannelMembers)
Future deleteChannelAttributesByKeys(String channelId,
List keys, bool enableNotificationToChannelMembers)

michael-mac:$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.22.2, on Mac OS X 10.15.7 19H114, locale en-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 12.4)
[✓] Android Studio (version 4.1)
[✓] IntelliJ IDEA Community Edition (version 2020.1.2)
[✓] VS Code (version 1.54.1)
[✓] Connected device (3 available)
• No issues found!

any team members reply?
Thanks.

sorry for the later reply, could you pls provide the SDK log?

any team members reply?
Thanks.

Hi friends. There is indeed this problem. Please wait for the next release, we will fix this problem.

authors: LichKing-2234 RoJoHub michaelchiowong

repo: AgoraIO/Agora-Flutter-RTM-SDK


text:
android机型，debug调试都正常，debug的打包文件安装也正常，但是release的打包文件就闪退

E/flutter ( 9431): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.NoSuchMethodError: no static or non-static method “Lio/agora/rtc/internal/RtcEngineImpl;.nativeAddVideoCapturer(JLio/agora/rtc/mediaio/IVideoSource;I)I”
E/flutter ( 9431): at java.lang.Runtime.nativeLoad(Native Method)
E/flutter ( 9431): at java.lang.Runtime.loadLibrary0(Runtime.java:1014)
E/flutter ( 9431): at java.lang.System.loadLibrary(System.java:1669)
E/flutter ( 9431): at io.agora.rtc.internal.RtcEngineImpl.W(SourceFile:141)
E/flutter ( 9431): at io.agora.rtc.internal.RtcEngineImpl.X(SourceFile:147)
E/flutter ( 9431): at xb.j.a(SourceFile:59)
E/flutter ( 9431): at ub.h.a(SourceFile:108)
E/flutter ( 9431): at Ub.p$a.a(SourceFile:231)
E/flutter ( 9431): at Kb.c.a(SourceFile:93)
E/flutter ( 9431): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(SourceFile:642)
E/flutter ( 9431): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 9431): at android.os.MessageQueue.next(MessageQueue.java:326)
E/flutter ( 9431): at android.os.Looper.loop(Looper.java:165)
E/flutter ( 9431): at android.app.ActivityThread.main(ActivityThread.java:6806)
E/flutter ( 9431): at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 9431): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
E/flutter ( 9431): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
E/flutter ( 9431):
F/flutter ( 9431): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
agora_rtc_engine: ^1.0.3已经是最新版了
项目用到了androidX
麻烦大神看看，app等着上线，急！

是不是没有添加不混淆配置

E/flutter ( 9431): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.NoSuchMethodError: no static or non-static method “Lio/agora/rtc/internal/RtcEngineImpl;.nativeAddVideoCapturer(JLio/agora/rtc/mediaio/IVideoSource;I)I”
E/flutter ( 9431): at java.lang.Runtime.nativeLoad(Native Method)
E/flutter ( 9431): at java.lang.Runtime.loadLibrary0(Runtime.java:1014)
E/flutter ( 9431): at java.lang.System.loadLibrary(System.java:1669)
E/flutter ( 9431): at io.agora.rtc.internal.RtcEngineImpl.W(SourceFile:141)
E/flutter ( 9431): at io.agora.rtc.internal.RtcEngineImpl.X(SourceFile:147)
E/flutter ( 9431): at xb.j.a(SourceFile:59)
E/flutter ( 9431): at ub.h.a(SourceFile:108)
E/flutter ( 9431): at Ub.p$a.a(SourceFile:231)
E/flutter ( 9431): at Kb.c.a(SourceFile:93)
E/flutter ( 9431): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(SourceFile:642)
E/flutter ( 9431): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 9431): at android.os.MessageQueue.next(MessageQueue.java:326)
E/flutter ( 9431): at android.os.Looper.loop(Looper.java:165)
E/flutter ( 9431): at android.app.ActivityThread.main(ActivityThread.java:6806)
E/flutter ( 9431): at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 9431): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
E/flutter ( 9431): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
E/flutter ( 9431):
F/flutter ( 9431): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
agora_rtc_engine: ^1.0.3已经是最新版了
项目用到了androidX
麻烦大神看看，app等着上线，急！

是不是没有添加不混淆配置

@oliwenfly 是不是没有添加不混淆配置

org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
android.enableR8=true
这是gradle的配置，只开启了代码压缩
没有设置代码混淆
现在最新的flutter项目都是默认androidX的，建议你们能把项目切换到androidX整体测试一下可以吗？
项目急着上线，麻烦给解答一下

@oliwenfly 是不是没有添加不混淆配置

麻烦帮解答一下， 打包运行就闪退

@oliwenfly 是不是没有添加不混淆配置

能加个联系方式吗？这个sdk已经耗费我2周时间了，开始是编译不支持androidX的问题，搞了好久，现在又是打包闪退的问题，语音功能已经开发了2周时间，急着上线，求帮忙解决一下这最后一步的问题

@oliwenfly 是不是没有添加不混淆配置

我遇到和你一模一样的问题 @oliwenfly ，确实是因为其它插件（比如fluwx）开启了混淆导致的，你需要改的不是android/gradle.properties，而是android/app/build.gradle，把整个项目的混淆都关掉，类似这样：
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            shrinkResources false
        }
        debug {
            signingConfig signingConfigs.release
            minifyEnabled false
            shrinkResources false
        }
    }

@oliwenfly android.enableR8=true 这个会启用混淆，解决方案就和楼上所说

@oliwenfly 是不是没有添加不混淆配置

我遇到和你一模一样的问题 @oliwenfly ，确实是因为其它插件（比如fluwx）开启了混淆导致的，你需要改的不是android/gradle.properties，而是android/app/build.gradle，把整个项目的混淆都关掉，类似这样：
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            shrinkResources false
        }
        debug {
            signingConfig signingConfigs.release
            minifyEnabled false
            shrinkResources false
        }
    }

感谢!这样设置后果真搞定了！之前这两项都没配置，还以为整个项目默认会是false

R8是代替以前的Proguard混淆，flutter默认会开启，有兴趣可以了解下

authors: LichKing-2234 oliwenfly unclexiao

repo: AgoraIO/Flutter-SDK


text:
eval files/modules/packages, not just strings

SES.confine takes a string and evaluates it as a program, returning the last expression of the program. This is the primitive we need to build larger environments. This ticket is about what shape those larger environments should take. Programmers don't work with strings containing code (how do you get an editor to syntax-highlight it, for starters): they work with files containing code, or modules, or names that point to modules. Programs import modules, not strings. Users run "apps", not programs or strings. We'll eventually need to define an environment that starts with a programmer and a source tree, goes through some bundling/packaging/deployment phase, and ends with a whole bunch of nested evals (on somebody else's computer) that put the right code in the right places.
I'd like to collect ideas and examples of related systems which we can draw from, and build up a collection of sample apps that we can implement in different schemes to see how they compare.
Two things come to mind from my own background. The first is the Jetpack security model which I developed for Firefox (but which never really got deployed). https://github.com/warner/JetpackComponents/blob/master/components.md has a writeup. This scheme used CommonJS-style require(name) statements to import code from other modules. A magic module name represented full platform power: in Jetpack you would get access to the browser's entire authority by including require("chrome") in your module. A bundling script searched for all require() statements and built a graph of them: most modules were to be found elsewhere in the source tree, but magic names would be mapped to special objects at load time. The graph was written into a manifest, including the hashes of each module, as a table saying "when module X says require(Y), give it Z". This manifest, and all the source files, were bundled into the installable addon archive (a ZIP file), and the runtime loader enforced the manifest restrictions.
The idea was that the loader could also check for signatures from the official addon gallery reviewers, who could examine each module for safety and whether they did their declared job (or could be tricked into doing something else). Using require("chrome") would trigger more careful review. In that system, the top-most node of the module graph was the weakest, and contained the most important application logic, and would be unique to the addon. The bottom-most nodes (many of which would be shipped with the SDK as a stdlib) had the most power, and would be shared between many different addons. The overall goal was to encourage code reuse and limit excess authority.
The other piece is http://www.lothar.com/blog/58-The-Spellserver/ , which investigates a purely-client-defined server model (in which the client is confined by signed prefixes that define the endowments which their new code can access). In that world, the server receives hashes that represent code, and maybe the code itself if it wasn't already cached. It isn't captured by my writeup, but the source form (which authors edit) would have some kind of CommonJS require(PETNAME) syntax, which would be rewritten as require(HASH) before delivery to the servers (so any lookup is nailed down before the application leaves the programmer's environment). The rule would be that any require() statement could be replaced by simple interpolation of the file that hashes to HASH, which means require() does not grant any authority (unlike my Jetpack model). In the Spellserver, all authority is delivered as arguments to the function at runtime, rather than being available as ambient endowments or explicitly requested imports. I have a scheme to do rights-amplification, by allowing two prefixes to both be used by a child program. In this approach, the first program in the chain run gets the most power, but it also defines which keys must sign the next program down (rather than having some central reviewers or bundled manifest to enforce which program gets the authority). So the power graph is somewhat inverted when compared to the Jetpack approach.
I think https://github.com/tc39/tc39-module-keys is going to be relevant too.
@erights and I started to prototype a module loader a few weeks ago, but we got a bit stuck trying to figure out how to represent the loader policy: some datastructure which explains what happens when module X asks to import name Y. The loader itself was a recursively-injected endowment into each evaluation step: when we evaluate X, we inject a require() or import() or something which curries the portion of the policy table that talks about module X. The code was a bit fiddly (as most recursive things are), but we're sure it's possible.
Another thing to keep in mind is debuggability and sourcemaps. At present, each SES.confine() is a barrier beyond which stack traces and line numbers get thrown away. It might be interesting to feed a sourcemap into confine() (or into some wrapper/membrane around it) that knows how to translate exception information into a form usable by the next layer up. Whatever module loader we come up with should integrate into this scheme, so perhaps the when X imports Y it gets Z table should be extended to also include .. and uses sourcemap Q on each row.

Tracking Compartment module system development at https://github.com/Agoric/SES-shim/issues/257. A small part of the puzzle.

Tracking the remaining elements of the puzzle on #336 and archiving this excellent conversation. I’ve added work items to that task description that should answer the requirements described here, and would like to continue this conversation on that draft stack.

authors: kriskowal warner

repo: Agoric/SES-shim


text:
Document how-to-harden console

[edit @kriskowal 2020-08-13]
Somewhere, document that the console object in Node.js can be hardened by:
harden(console.__proto__);
harden(console);

This program:
import { lockdown } from 'ses';
lockdown();
console.log(`about to harden(console)`);
harden(console);
console.log(`successfully did harden(console)`);

when run under SES-0.7.7, fails as it tries to harden the console:
$ node -r esm fail-harden-console.js
about to harden(console)
/home/warner/stuff/agoric/agoric-sdk/packages/SwingSet/node_modules/ses/dist/ses.cjs:1
TypeError: prototype [object Object] of unknown is not already in the fringeSet
    at /home/warner/stuff/agoric/agoric-sdk/packages/SwingSet/node_modules/ses/dist/ses.cjs:171:19
    at Map.forEach (<anonymous>)
    at checkPrototypes (/home/warner/stuff/agoric/agoric-sdk/packages/SwingSet/node_modules/ses/dist/ses.cjs:153:20)
    at harden (/home/warner/stuff/agoric/agoric-sdk/packages/SwingSet/node_modules/ses/dist/ses.cjs:189:7)
    at Object.<anonymous> (/home/warner/stuff/agoric/agoric-sdk/packages/SwingSet/fail-harden-console.js:4:1)
    at Generator.next (<anonymous>)

I'm guessing that console's prototype is still pointing at the original Object, not the tamed one, and we replace Object with a tamed version, and the tamed Object's prototype is in the fringe.
I need this to create new Compartments, give them a console endowment, and then harden their globals:
const c = new Compartment({ console }, {}, {});
harden(c.global);
c.evaluate(confinedCodeThatUsesConsole);

I can work around this by wrapping console in a new object, which I used to do under old-SES to prevent Realm leakage, but it'd be nice if we didn't have to do that now.

Experimenting just now, in Node, Chrome, Firefox, and Safari, I see agreement on a common behavior that I did not expect.
On all, the methods on console are own properties directly on the console object. Doesn't affect this issue, but surprising.
On all, console.__proto__ is an empty object that inherits from Object.prototype. I have no idea why that empty object appears on the prototype chain between console and Object.prototype nor why all browsers would precisely agree on this arrangement.
These symptoms look like they are about that empty object. Before you harden(console) above, first harden(console.__proto__). Does that solve the problem?

Yep, that seems to fix it, at least within Node. Thanks!
Sounds like we don't need any changes in SES to accomodate this, but if we're building up some usage documentation, this would go nicely in a "How Do I Make x.. Work Under SES?" section.

Is there a reason harden doesn’t walk __proto__, at least in this case? My intuition is that this is a harden defect.

Yes. Originally it did but we changed it. Let's talk tomorrow.

Is there a reason harden doesn’t walk __proto__, at least in this case? My intuition is that this is a harden defect.

@erights and @kriskowal, please attend to this, it may have fallen off your task list.
It is breaking SyntaxError error reporting in the REPL.  Here's me typing in a single close-paren:
command[0] )
history[0]
working on eval())

which never produces a result.
The error reported in the agoric start console is:
web: POST inbound error: prototype [object Object] of unknown.args.1.loc is not already in the fringeSet from {
  "type": "doEval",
  "number": 0,
  "body": ")",
  "meta": {
    "origin": "http://127.0.0.1:8000",
    "query": {
      "isQuery": true
    },
    "url": "/private/repl",
    "date": 1611255331772
  }
}

Is there a reason harden doesn’t walk __proto__, at least in this case? My intuition is that this is a harden defect.

@erights and @kriskowal, please attend to this, it may have fallen off your task list.
It is breaking SyntaxError error reporting in the REPL.  Here's me typing in a single close-paren:
command[0] )
history[0]
working on eval())

which never produces a result.
The error reported in the agoric start console is:
web: POST inbound error: prototype [object Object] of unknown.args.1.loc is not already in the fringeSet from {
  "type": "doEval",
  "number": 0,
  "body": ")",
  "meta": {
    "origin": "http://127.0.0.1:8000",
    "query": {
      "isQuery": true
    },
    "url": "/private/repl",
    "date": 1611255331772
  }
}

It looks like the fix is sitting on main/master and ready to release. I’ll float that to the top of my tasks today.

It looks like the fix is sitting on main/master and ready to release. I’ll float that to the top of my tasks today.

authors: erights kriskowal michaelfig warner


text:
Ipfs protocol

Adds IPFS and IPNS protocol handlers to Agregore.

Can't seem to be able to figure out why pages aren't being marked as "secure" still. 🤷 I think this is fine for now and we can figure it out at a later time.

authors: Madrets RangerMauve

repo: AgregoreWeb/agregore-mobile


text:
Team Formation Survey

All,
There are two versions of the team formation survey out there! I used the one linked here on GitHub in the syllabus assignments, but that's not the right one! That one is titled "Team Formation Survey for CEE 4520." The one linked on Carmen is titled "Team Formation Survey for CIVILEN 5610.02." Clare reached out and informed me of my mistake but I might not be the only one to have filled out the wrong survey! For anyone else that sees this, please use the link Clare sent you tonight and don't go back to the GitHub link like I did.
Dan

Good catch. I've updated the link on GitHub.

authors: InordinateDuck monroews

repo: AguaClara/SWOT