Bad example

The example in the How to: Use Finally Blocks isn't really useful.
If I put the line in finally block outside the whole try-catch-finally block and remove the finally part, The control flow would be exactly the same. Currently, I can't get a good example to make a PR, but something that returns a value from a function in the try block seems better to me.
Edit: I think re-throwing the exception is even better than returning from the try to show how finally block can be useful.
I'm going to make a PR now.

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

ID: c1202a39-a94a-c97d-ffb8-2d25a13245f4
Version Independent ID: 4092d5d3-f69a-cf78-3164-0c423947d2eb
Content: How to: Use Finally Blocks
Content Source: docs/standard/exceptions/how-to-use-finally-blocks.md
Product: dotnet
Technology: dotnet-standard
GitHub Login: @mairaw
Microsoft Alias: mairaw

Thank you for opening this issue. Since you've already filed a PR I'll comment over there. Thanks!


Incorrect exception InvalidKeyException thrown in SharedKeyCredentials constructor

Describe the bug
The constructor in SharedKeyCredentials : https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/storage/microsoft-azure-storage-blob/src/main/java/com/microsoft/azure/storage/blob/SharedKeyCredentials.java#L57 never throws the exception *InvalidKeyException *. Instead, it throws IllegalArgumentException when accountKey is ill-formatted. Please update the exception thrown.
Exception or Stack Trace
Add the exception log and stack trace if available
To Reproduce
The java doc of Base64 decode explains that only possible exception here is IllegalArgumentException.
Code Snippet
public SharedKeyCredentials(String accountName, String accountKey) throws InvalidKeyException {
this.accountName = accountName;
this.accountKey = Base64.getDecoder().decode(accountKey);
}
Expected behavior
public SharedKeyCredentials(String accountName, String accountKey) throws IllegalArgumentException {
this.accountName = accountName;
this.accountKey = Base64.getDecoder().decode(accountKey);
}
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: iOS
IDE : eclipse
Version of the Library used - 10.3.0, but the latest master also has the same bug.

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

@bhavanakonchada Thank you for reporting this. I notice that you are referring to the microsoft-azure-storage-blob package instead of just the azure-storage-blob package. The package you are mentioning is an older version, and unfortunately we do not plan to release any updates in that code as of right now. We have recently GAed version 12 from azure-storage-blob, which supersedes v10/11 in microsoft-azure-storage-blob. You'll notice that the constructor for SharedKeyCredential no longer throws an InvalidKeyException. Because IllegalArgumentException is an unchecked exception, it also does not call that out explicitly.
I am going to close this issue as I believe the concern has been addressed, but please feel free to comment/reopen it if you feel further discussion is needed.


Cache functions with JAX export

Adds the ability to save a function on disk with flexible input shapes using JAX export module.
The decorator cacheable_function_with_export  takes a function and it's shape polymorphism information exports it and saves it on disk and returns the exported artefact. This happens if the config option enable_persistent_cache is True. Otherwise, the decorator returns the original function.
Used as:
@cacheable_function_with_export("f", {
      # place here the shape of x in a tuple, with the first item symbolic shape spec and the second as the dtype
      # "a, b" is the symbolic shape information passed to jax export api. Note, a != b
      "x": ("a, b", jnp.float64)
})
def f(x):
      .....

A function can be exported as:

with args only (default)
with kwargs only - option export_with_kwargs should be passed as True

@cacheable_function_with_export("f", shape_struct, export_with_kwargs=True)

with static_argnums and static_argnames from jax.jit

@cacheable_function_with_export("f", shape_struct, skip_jitting=True)
@partial(jax.jit, static_argnums=(1,))

with export vjp_order to support reverse-mode AD

@cacheable_function_with_export("f", shape_struct, vjp_order=1)

with alternative shape structure. This case is when a function is called with different dimension arguments between calls.
For example, call x can be 2D array and 3D array. The function should be exported twice and on subsequent calls, the decorator decides which function to load based on the arguments passed.
Usage:

@cacheable_function_with_export("f", {
      # first export structure
      "x": ("a, b", jnp.float64)
},
{
   # alternative export structure
   "x": ("a, b, c", jnp.float64)
}
)
def f(x):
      .....

Limitations
Currently, there's no support for forward-mode AD offered by JAX export. Attempts to export a function used in jvp results in an error. The vmap transformation is not supported as well, as there is not custom_batching_rule developed for exported artefacts.

Thank you! Could you add a short description?

Thanks again! I'll keep this PR open in the prospect that JAX will implement forward AD for rehydrated functions. Good work!


fix: remove "learn" from title

Checklist:

[X] I have read freeCodeCamp's contribution guidelines.
[X] My pull request has a descriptive title (not a vague title like Update index.md)
[X] My pull request targets the main branch of freeCodeCamp.
[X] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

This removes the learn text from the title of the page when viewing a challenge.
While this made sense for the current naming convention, it breaks with the new Learn X by Building Y convention.

@nhcarrigan do we want to delay this until we launch the practice projects?

IMHO this could already be creating funky sentence structure in i18n versions of the site where "Learn CSS Grid" might take a different order.

Whats up with tests?

Whoops. Got those updated.

(if we remember)

That's my concern.  If we remove them now we don't rely on our future selves and we can remove that key-value pair from the jsons.


[Feature request] Add Date and Time stamp to export file name

Hello.
I would be very useful to have a date and time stamp in filename. :-)
Now "freeotp_backup.txt", but this would be nice "freeotp_backup_20220428_0150.txt"
(Date in reverse Order for sorting in Filesystem)
.
Belonging to my other feature request for exporting only selected token, the amount of exportet token could be part of filename? I am unsure. Maybe some comments. :-)
freeotp_backup_20220428_0150_(22).txt
freeotp_backup_20220428_0150_(07).txt # Export of 7 token at 01:50h at 28.4.2022
freeotp_backup_20220428_0150_(all).txt # All? Or better the Amount? ;-)
Thanks
pm-pm

That's a great idea. I like it.


Separate out the inspec profile from the style guide.

Short Description of the issue
The compliance testing for the style guide is done in an Inspec profile, which is included in this repo. By including it here, we keep the style guide and the testing in the same place (:+1: ), however we can't execute the compliance profile independently of the guide with inspec, and hence keep it in our testing pipeline. It's also difficult to call specific versions of the profile.
Summary of proposed changes

[x] Create a repo for the profile itself.
[ ] Copy the existing profile (ansible-fashion-police) to the repo
[ ] Make the repo pass tests.
[ ] Update this repo's travis to use the new inspec profile location in testing.
[ ] Remove it from this one

Repo created at https://github.com/EGI-Foundation/Ansible-Fashion-Police

Pushed just the profile to the repo.

Build 4 passed


Add a release

I prefer to lock dependencies against version.

Sorry I have added a v1.0.0 now https://github.com/GameAnalytics/defold-openssl/releases


corrected link to toggletip

The link was 404ing since I treated "toggle tip" as two words, and so put a dash in the link
Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

I think it might be better to remove the link all together for now as Im still get a 404 page since as Taylor said. We don’t actually have an accessibility page atm. @mbgower


Make changes to wireframes based on Amos' feedback

Describe the task
After user testing with Amos, we got feedback that we need to implement before testing with users
Acceptance Criteria

[x] Fill 'Events' tables with dates
[x] change dashboard headings
[x] rearrange 'My Operator' module to be last
[x] allow user to confirm where to send the email to
[x] 'Add user by IDIR' screen
[x] Under actions, create 3 dots for approving or rejecting? (Added as action item in Figma)
[x] Remove graphs? (Added comment in Figma tagging Service Designers)

Forms

[x] Add back button
[x] 'Have not received confirmation email?' text can be misleading. Remove
[x] need to push 2 emails. application received + confirmation email
[x] Facilities: Pre-populate this field? (Added to SME OneNote)
[x] 'Proof of authority of designated operator from partner company' doesn't make sense to user (Added to SME OneNote)
[x] Might have multiple process flow diagrams. should we get specific with our wording or allow user to upload multiple ones? (Added to SME OneNote)

Additional context

Add any other context about the task here.
Or here

Looks good, thanks @suhafa.


MSID: 88082 Version: 2 DOI: 2<IP_ADDRESS>6745

[PLACE MANUSCRIPT AND EDITOR DETAILS HERE WHEN AVAILABLE] See step 3
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=88082)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/88082/v2)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>6745)
[ ] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/88082/v2/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/88082)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/88082

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/88082

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/88082/v2/88082-v2.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/88082)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

elocations missing from references


Second run won't start

Hi, I haven't found a solution in your docs nor in previously closed tickets, so will write a new one hoping it's just me.
So I'm trying to use the library in Flutter web, and everything works super great, but only the first time.
What is clear from the logs is that the second time I call the Executor().execute(); for the same thing, never starts working.
Basically what I am trying to achieve is doing an API call with dart:http, and parsing the response from JSON to a List of objects mapped to that JSON.
This would be method that is getting called from the Executor:
  Future<MyObject> mapJsonToEnrolment(String url) async {
    var result = await http.get(Uri.parse(url));
    var response = MyResponse();
    response.statusCode = result.statusCode;
    response.myObject = jsonDecode(result.body)
        .map<MyObject>((json) => MyObject.fromJson(json))
        .toList();
    return response;
  }

And this is how it's getting called:
Future<List<MyObject>> getMyObjectForPage(
    String page, {
  }) async {
    try {
      var url = "https://.......";
      final myResponse = await Executor().execute(arg1: url, fun1: mapJsonToEnrolment);

      if (myResponse.statusCode == 200) {
        return myResponse.myObject;
      } else {
        throw MyException(type: MyExceptionType.UNKNOWN);
      }
    } on Exception catch (_) {
      throw MyException(type: MyExceptionType.UNKNOWN);
    }
  }

The first time I call  getMyObjectForPage() works just fine, but the second time it never starts the Task.
Is it just me doing something wrong or? Thanks for the library btw! :)

Hi, thx for a pointing to a potencial bug. Do you use last stable version of this package from pub.dev? Also, you can try to use this package to make a calls via http protocol . I have to pay attention, worker_manager doesn't support web workers and calls functions it the same thread(event loop). Pls, show me a logs and your pubspec.lock thx!

Hi, thanks for the response.
Since the project went in another direction, I am unable to give you any concrete log data at this moment.
Not sure if I understood you correctly, this library wouldn't work on web as expected, but will instead do the heavy workload on the same main thread ? If that is the case, then the documentation would need an update stating exactly that.

I am also facing the same issue, any fixes for it?

I am also facing the same issue, any fixes for it?

Can you please provide minimal example? Do you have same issue on devices?

Only in web i'm facing this issue
try {
task = Executor().execute(arg1: map, fun1: checkOutBoxAndSendToServer);
} catch (e) {
log("Exception -- ${e.toString()}" );
}
try {
task = Executor().execute(arg1: map, fun1: checkAndDownloadMessages);
} catch (e) {
log("Exception -- ${e.toString()}" );
}
The 1st executor(checkOutBoxAndSendToServer) is called initially which makes a network call and queue's message in the server.
The 2nd executor(checkAndDownloadMessages) is called after the 1st one to download the queued messages.
The problem is that the 2nd executor does not run the method checkAndDownloadMessages at all, also when the 1st executor is called for the second time to queue another message it does not run the method we pass into the fun1 argument neither throws any exception.

I faced the same issue just hours ago. The fix is to call Executor().dispose() after you have got your response. That makes the Executor available for the next run. Remember Executor is a singleton, maybe that's why we need to dispose it first and then run another one.

Guys! 4.2.6 is available in pub.dev now, does it solve the issue?


Local setup without Docker

Some devs have asked if it is possible to develop locally without having to use Docker. While Docker should remain the default (so the app runs on all machines locally), individuals could setup a workaround if they prefer to develop without Docker.

Thanks to @porras for the help!

Thanks to @porras for the help!


Update grpc-netty to 1.50.2

Updates io.grpc:grpc-netty from 1.50.1 to 1.50.2.
GitHub Release Notes - Version Diff
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 me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.grpc", artifactId = "grpc-netty" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.grpc", artifactId = "grpc-netty" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Codecov Report

Merging #2246 (14fa571) into main (0cc55e3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2246   +/-   ##
=======================================
  Coverage   77.73%   77.73%
=======================================
  Files         433      433
  Lines       14636    14636
  Branches     2032     2032
=======================================
  Hits        11378    11378
  Misses       3258     3258

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


docs: fix reddit tutorial code

The final Subreddit.jsx looks like:
const Subreddit = ({ service }) => {
  const [current, send] = useService(service);

  // ... same code as previous Subreddit component
};

However this is slightly misleading as the data-machine attribute on the <section> element also needs to be updated to data-machine={service.machine.id}

Thanks, but the data-machine property is just for displaying the state in the CodeSandbox example, and is not required (or even necessary) for this tutorial.

@davidkpiano Just a comment on this as I just finished that tutorial (thanks again for the help on twitter).
From an outside perspective it is unclear what data-machine or data-state are used for. My first though was that there is a connection between xstate and the DOM. After digging a little in the docs and the source, I realized that is has no connection to xstate and the example and I found this PR.
Maybe it would be helpful to remove both attributes from the example. Or, if you want to keep the source the same as in the sandbox, to add a small note that those are only for the sandbox and can be ignored.


feat(StrongTopology): generalize ContinuousLinearMap.restrictScalarsL

[x] depends on: #15289

@j-loreaux You've marked this PR as awaiting-author but didn't leave any comments.

@j-loreaux I implemented the requested changes.

bors merge


The warning in the requirements.txt file isn't a comment.

This line:

If encounter any error, please see ControlNet and MeshGraphormer for more complete package requirements.

in requirements.txt should be a comment.  Since it's lacking the leading # is causes pip to fail.

fixed.


Add support for read / writers

Help,
Although I'm still getting into the FME SDK API, I think it's right that the .net sdk doesn't support the reader and writer extension functionality yet.
Because I need this for the company I would appreciate if this would be implemented next.

Hello @ahuarte47 :smiley: I need help for writing the C++ Wrapper Code, is there anything you can give me to ease the process?

Hello @realvictorprm, thanks for your idea. We did not need to implement the reader/writer wrappers for our project. Sorry, I know this new feature is very interesting but, unfortunately this project was finished some time ago and We have no founds to add new features like this to this SDK.
Did you have a look at "$(FME_HOME)\pluginbuilder\samples\cpp\code\FMEReaderWriter" folder? It is a good point to start.

Yes I already started looking into it. I'm trying to implement it for the SDK.

ok, what help would you like?

I try to get the general idea of how interop there works.
Is it right that for testing it's not needed to wrap all methods?
Am 16.08.2017 9:18 AM schrieb "Alvaro Huarte"<EMAIL_ADDRESS>
ok, what help would you like?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tracasa/FME-DotNetSDK/issues/7#issuecomment-322687451,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYPM8Na5O9s1kJl5YIlQ0ToxVOsut2fMks5sYpfUgaJpZM4O2PfO
.

You can write a full IFMEReader/IFMEWriter implementation (Empty methods is ok to start) in C++/CLI which call a new interface similar to this. Then, in the .NET client side, you can write your implementation with empty methods too. The key of this is to load the .NET assembly in the C++/CLI (Maybe in the C++ constructor) with something similar to this.
Sorry, I do not know this is useful for you

Fortunately, there are few public methods to define for IFMEReader/IFMEWriter classes.

I need to look into the section with the App Domain. Looks like I need to
refresh my knowledge
Am 16.08.2017 9:42 AM schrieb "Alvaro Huarte"<EMAIL_ADDRESS>
Fortunately, there are few public methods to define for
IFMEReader/IFMEWriter classes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tracasa/FME-DotNetSDK/issues/7#issuecomment-322691967,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYPM8AUI2dC-VT__jHQS_9I7PW75ghb8ks5sYp1agaJpZM4O2PfO
.

My plan would be to define the interfaces in the C++ CLI code and the DotNetWrapper class.
@ahuarte47 So far I understood you there is some kind of assembly loading needed afterwards?

Yes, in a point of the C++/CLI code you have to load the DotNetWrapper class deployed in your specific .DLL file. I would write something similar to this


[Relay] Fix Partial Evaluator, Add stricter checking for CheckWellFormed

Thanks for contributing to TVM!   Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers.

@vinx13 @junrushao1994 @slyubomirsky can you guys help review?
Basically speaking, I add another call to deduplicate so the PE'd code wont have any duplicate binding.


catkin tools support

Hi,
Thanks for this neat extension. Are there any plans to support catkin tools? Or may be you could point me to what changes would be needed and I could try to add support and send a PR?
Cheers,
Raghav

Not at the moment - I haven't really used catkin tools so don't know much about it. What are the main missing features you would want to gain by using catkin tools?
Most of the catkin related code is in catkin.ts and catkin-task-provider.ts.

Thanks, it's just a part of our current build workflow, and afaik one cannot use both of them interchangeably. Here's a nice overview of the comparison with catkin_make
http://catkin-tools.readthedocs.io/en/latest/migration.html

is there any update to this?

This isn't something I'm actively working on - contributions would definitely be welcome though. I envision it would just be a configuration option.


Text.LineEncode token won't necessarily use the client's newline style

The Text.LineEncode token changes newline characters to HTML linebreaks, and replaces Environment.NewLine to do so. However while Environment.NewLine will return \r\n on Windows systems the line break characters actually saved to the DB (or submitted via a form, etc.) aren't necessarily Windows-style, thus line breaks aren't always added. Particularly it seems that a form submitted via Chrome on a Windows machine will use \n line endings.
One option would be to replace \n\r with <br />, then try \n and \r separately too.

Agreed with the suggestion. But not sure about the \r only, even though I usually do it I have never seen it used this way.

\r alone can be used too, so I'd include it though supposedly it should be practically non-existent today on the web: https://en.wikipedia.org/wiki/Newline

Ok


process is not defined after updating package from 1.17 to 1.19

What version of Remix are you using?
1.19.3
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce
€: if I remove LiveReload  component in root then it works but it should not be removed
I have installed my packages remix-run/node remix-run/react remix-run/express from 1.17 to 1.19.3 now I got this error:

ReferenceError: process is not defined
    at LiveReload2 (http://localhost:3002/build/_shared/chunk-DKDPPR2Q.js:5956:59)
    at renderWithHooks (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:12171:26)
    at mountIndeterminateComponent (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:14921:21)
    at beginWork (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:15902:22)
    at beginWork$1 (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:19749:22)
    at performUnitOfWork (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:19197:20)
    at workLoopSync (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:19133:13)
    at renderRootSync (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:19112:15)
    at recoverFromConcurrentError (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:18732:28)
    at performConcurrentWorkOnRoot (http://localhost:3002/build/_shared/chunk-OKBCQ2CQ.js:18680:30)

Expected Behavior
if it was at version 1.17 all works fine
Actual Behavior
package.json
{
  "private": true,
  "sideEffects": false,
  "scripts": {
    "build": "remix build",
    "dev": "npm-run-all build --parallel \"dev:*\"",
    "dev:node": "cross-env NODE_ENV=development nodemon --require dotenv/config ./server.js --watch ./server.js",
    "dev:remix": "remix watch",
    "start": "cross-env NODE_ENV=production node ./server.js",
    "typecheck": "tsc"
  },
  "dependencies": {
    "@clerk/remix": "^2.5.5",
    "@fullcalendar/core": "^6.1.8",
    "@fullcalendar/daygrid": "^6.1.8",
    "@fullcalendar/interaction": "^6.1.8",
    "@fullcalendar/moment": "^6.1.8",
    "@fullcalendar/react": "^6.1.8",
    "@fullcalendar/resource": "^6.1.8",
    "@fullcalendar/resource-timeline": "^6.1.8",
    "@fullcalendar/scrollgrid": "^6.1.8",
    "@fullcalendar/timegrid": "^6.1.8",
    "@react-pdf/renderer": "^3.1.9",
    "@react-spring/web": "^9.7.1",
    "@remix-run/css-bundle": "^1.16.0",
    "@remix-run/express": "^1.19.3",
    "@remix-run/node": "^1.19.3",
    "@remix-run/react": "^1.19.3",
    "@stripe/react-stripe-js": "^2.1.0",
    "@stripe/stripe-js": "^1.52.1",
    "@vercel/remix": "^1.19.2",
    "adm-zip": "^0.5.10",
    "cloudinary": "^1.35.0",
    "compression": "^1.7.4",
    "cross-env": "^7.0.3",
    "dayjs": "^1.11.7",
    "dragscroll": "^0.0.8",
    "express": "^4.18.2",
    "file-saver": "^2.0.5",
    "helmet": "^6.1.5",
    "inngest": "^2.5.1",
    "ioredis": "^5.3.2",
    "isbot": "^3.6.5",
    "jszip": "^3.10.1",
    "jwt-decode": "^3.1.2",
    "microinvoice": "^1.0.6",
    "moment": "^2.29.4",
    "morgan": "^1.10.0",
    "node-downloader-helper": "^2.1.6",
    "nodemailer": "^6.9.1",
    "paypal-rest-sdk": "^1.8.1",
    "pdf-creator-node": "^2.3.5",
    "pg": "^8.10.0",
    "puppeteer": "^19.7.5",
    "react": "^18.2.0",
    "react-confirm-alert": "^3.0.6",
    "react-dom": "^18.2.0",
    "react-icons": "^4.8.0",
    "react-indiana-drag-scroll": "^2.2.0",
    "react-loader-spinner": "^5.3.4",
    "react-select": "^5.7.0",
    "react-table": "^7.8.0",
    "redis": "^4.6.6",
    "remix-auth": "^3.4.0",
    "remix-auth-auth0": "^1.7.0",
    "remix-utils": "^6.1.0",
    "stripe": "^12.1.1",
    "style-it": "^2.1.4",
    "uuid": "^9.0.0",
    "yup": "^1.1.1"
  },
  "devDependencies": {
    "@remix-run/dev": "^1.17.1",
    "@remix-run/eslint-config": "^1.14.2",
    "@types/adm-zip": "^0.5.0",
    "@types/file-saver": "^2.0.5",
    "@types/node": "^20.2.3",
    "@types/react": "^18.0.25",
    "@types/react-dom": "^18.0.8",
    "@types/uuid": "^9.0.1",
    "dotenv": "^16.0.3",
    "eslint": "^8.27.0",
    "nodemon": "^2.0.20",
    "npm-run-all": "^4.1.5",
    "typescript": "^4.8.4"
  },
  "engines": {
    "node": ">=14"
  }
}

@pullmann4rent did you resolve this? I am encountering the same when upgrading to Remix 2.0.1


tests: math: Implementing tests for p_min and p_max

Implemented issue: #209.  Fixed some minor spelling errors that I encountered along the way.

Thank you!


Implement bar install function in engine script

I added reference to installBox function onto personium-dao.js.
Test is placed to ScriptTest#barInstallTest.
The test consist of 4 parts as below.

Place bar file in same box as engine script and set ACL to all:read .
Install bar from stream (with getStream function) and delete installed box.
Install bar from URL(fetching bar file with HTTP) and delete installed box.
Delete bar file and others.

This PR contains some other refinement. Please review it.

All tests are done.
Could you review this again? (See also https://github.com/personium/personium-client-java/pull/62 please)
Because of rebasing, the commit log became large.
I think it shoud be merged with Squash and merge


Rewrite a small comment in GDScript tokenizer code

Just rewrote a little comment in the tokenizer code - it looked a little off when I initially saw it.

@lotuspar Please squash commits into single commit. https://docs.godotengine.org/en/stable/contributing/workflow/pr_workflow.html#doc-pr-workflow might help.

Thanks!


[Bug]: Excessive Memory Usage

zot version
v2.0.0-rc7
Describe the bug
I'm seeing a massive spike in memory usage every day. This may be related to the search or scrub extensions (probably the first), which run every 24 hours.
To reproduce
$ cat /etc/zot/config.json | jq .extensions
{
  "metrics": {
    "enable": true,
    "prometheus": {
      "path": "/metrics"
    }
  },
  "search": {
    "enable": true,
    "cve": {
      "updateInterval": "24h"
    }
  },
  "scrub": {
    "enable": true,
    "interval": "24h"
  },
  "ui": {
    "enable": true
  }
}

Expected behavior
The memory usage does not increase tenfold every day.
Screenshots

Additional context
No response

@jangrewe thanks for doing fairly thorough evaluation of zot.
There are a couple of things to note:

zot is a golang binary which means it has garbage-collected memory model
Some features are memory-hungry (CVE scanning, sync, etc)
The same binary has to work for tiny deployments (embedded devices) to large sizes (enterprise), hence some tuning is needed.

That said, some of our deployments have these environment variables set to tweak golang's GC. Let us know if this works for you.
GOMEMLIMIT=4000MiB
GOGC=50

Hi @rchincha, we're considering replacing the docker registries in our company with Zot, and it looks like it ticks all the boxes without being a massive overkill like Harbor - while still providing awesome configuration flexibility - so i decided to dogfood it "a bit" at home first 😁
I've set the env vars and will keep an eye on the mem usage, thanks for the tips! 😄

Hi @jangrewe, it may be that the CVE scanner is using that memory. We cache the scan results, but we purge the cache after new CVE DB is downloaded every updateInterval (in case there are now CVEs discovered upstream in existing software versions). You may want to tweak updateInterval to a different value if you are not interested in the images being scanned daily.

I may look into that, but what immediately caught my eye after setting those two env vars:

The container starts up with ~15.5 GB mem usage right away, even though it's completely idle.

@jangrewe can you tells us more about your setup?
Traffic patterns, number of images, hardware specs for your machine, etc
I am guessing these are prometheus metrics? There is also a way to track "golang GC" metric just to see if that is kicking in or not.
Furthermore, you can also profile zot itself.
https://github.com/project-zot/project-zot.github.io/blob/main/docs/articles/pprofiling.md

It's a AMD Ryzen Threadripper 2950X with 128 GB RAM, with very little traffic (99.9% idle), images are only pulled when a systemd service restarts - which happens rather weekly than daily, so Zot is really idle 23:59 hours per day. ;-)
The metrics are indeed from Prometheus, but that's of the Zot container, not the process itself... I still need to start scraping those metrics and create a dashboard for them, which is fun, but also not a quick task. Maybe you guys could provide a Grafana dashboard for users to import? 😄
The env vars are set inside the container:
$ docker inspect zot | jq -r .[0].Config.Env
[
  "GOMEMLIMIT=4000MiB",
  "GOGC=50",
  "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
  "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"
]

The scrub extensions seems to be the culprit. Not only causes it 100-200% CPU usage when restarting Zot, after disabling it the mem usage goes down to <70MB ... and the CPU usage is at ~0.05%, if anything.
But as i just learned that Zot doesn't support "normal" Docker images, this unfortunately means i'll have to go back to Docker registry and we won't be able to use this in our company. We can't force hundreds of Devs to rewrite all their CI jobs and learn a completely different way of working with their container images.

@jangrewe docker can produce OCI now. Check if this works for you.
https://docs.docker.com/build/exporters/oci-docker/

That would unfortunately be equivalent as switching to any other tool, as - still - hundreds of Devs would need to rewrite their CI jobs and - still - learn a completely different way of working with their container images.
Sure, they'd still be calling the docker build command, but then they'd end up with a tarball that needs to "somehow" be put into the registry.
Basically anything that doesn't support oldskool docker build/tag/push is not an option.

As a summary, the "excessive" memory usage is due to optional "scrub" extension, which reads and shasums each individual blob periodically. Turning it off brings down memory usage as expected.
However, the real blocker is https://github.com/project-zot/zot/issues/724
@jangrewe closing this issue. Pls do reach out if we can help you with anything more.

I think we can do better wrt to memory usage during scrub.

@peusebiu @Andreea-Lupu
Couple of changes needed here.

We must shasum over fixed buffer sizes and not the entire blob (which can very large)

Generator holds read-lock only to generate blobs to check, after which locks must be released. The blob either exists so we do 1. above or it doesn't (because deleted, so ignore)

@peusebiu @Andreea-Lupu
Couple of changes needed here.

We must shasum over fixed buffer sizes and not the entire blob (which can very large)

This has been fixed in #2164

Generator holds read-lock only to generate blobs to check, after which locks must be released. Blob checks can happen outside locks - the blob either exists so we do 1. above or it doesn't (because deleted, so ignore)

This issue will be worked on in a separate PR. In any case #2164 should have fixed the memory usage itself.

@jangrewe v2.0.1 is now released.
https://zotregistry.dev/v2.0.1/general/whats-new/


Can't open dex/jar in GDA4.0.3

The latest version GDA4.0.3 can't open dex or jar file, although the header of the file  is correct.
When trying to open the jar file, GDA said: dx cannot process current jar, please check it.
But it works well with GDA 4.0.2. So I think it's a bug, please fix it thx. :)

thx, I will check it. can you share your jar and dex files with me for debugging?


k2s status: Remove Addons' Status

Current Behavior
When executing k2s status [-o [wide|json]], the addons list and addon's enabled/disabled is also retrieved and displayed.
Desired Behavior
When executing k2s status [-o [wide|json]], the addons list and addon's enabled/disabled shall neither be retrieved nor displayed.
Reasoning

addons are decoupled from K2s core functionality from a domain point of view
addons should be technically decoupled from K2s core functionality since they can be added and removed independently from K2s releases
with k2s addons ls and k2s addons status <addon>, retrieving and displaying addons and addon's status functionality is already available

k2s test framework has to be modified, reverted changes for now to keep CI green

there is a bug with current implementation because installation directory is not determind properly when k2s executable and ginkgo
panic: VERSION file not found
goroutine 1 [running]:
k2s/utils.determineInstallationDirectory()
D:/a/K2s/K2s/pkg/k2s/utils/utilities.go:78 +0xf6
k2s/utils.init.0()
D:/a/K2s/K2s/pkg/k2s/utils/utilities.go:37 +0xf

there is a bug with current implementation because installation directory is not determind properly when k2s executable and ginkgo
panic: VERSION file not found
goroutine 1 [running]:
k2s/utils.determineInstallationDirectory()
D:/a/K2s/K2s/pkg/k2s/utils/utilities.go:78 +0xf6
k2s/utils.init.0()
D:/a/K2s/K2s/pkg/k2s/utils/utilities.go:37 +0xf


[Inline] Installs quietly from git if necessary when the install option is not set

@homu r+

:pushpin: Commit f5bd5b5 has been approved by segiddins

:zap: Test exempted - status


Reversed ordering of Māori English Translation Equivalents on Gloss l…

…ist page and Gloss detail page.

I'm going to delete this pull request and re-submit it, as I think there is possibly a better approach at the database level.


Add recursion support for restorecon.

This commit allows you to ser a bool and will add the '-R- flag to restorecon. Restorecon will than recurse down the dir to restore the context.
There is also an update that will change the fcontext 'unless' clause. This could match too greedy.

Nice. Thanks for the code!


cypress-mochawesome-reporter v3.0.1 is failing to identify the package using reporter path

Environment
- OS: Windows 10 enterprise
- Node: v14.15.0
- cypress-mochawesome-reporter: 3.0.1
- cypress: 8.7.0

What happened?
The issue is related to the
cypress-mochawesome-reporter: { "version": "3.0.1"}
this version has a strict check for the reporter name in the config.js file, see the code here
if (config.reporter === 'cypress-mochawesome-reporter') {     return opts;   }
It is a failing and logging a message that "cypress-mochawesome-reporter is not an active reporter" since we are providing the path of the package in our node module.
I am only using this reporter.
However, due to our project setup, we need the flexibility to pass the reporter value as a path along with the package name.
such as,
"reporter": "../../node_modules/cypress-mochawesome-reporter",
Config file
see the cypress.json file set up here

{
    "fileServerFolder": ".",
    "fixturesFolder": "./src/fixtures",
    "integrationFolder": "./src/integration",
    "modifyObstructiveCode": false,
    "pluginsFile": "./src/plugins/index",
    "supportFile": "./src/support/index.ts",
    "video": false,
    "videosFolder": "../../cypress-reports/videos",
    "screenshotsFolder": "../../cypress-reports/screenshots",
    "chromeWebSecurity": false,
    "reporter": "../../node_modules/cypress-mochawesome-reporter",
    "reporterOptions": {
        "reportDir": "../../cypress-reports",
        "embeddedScreenshots": true,
        "overwrite": false,
        "charts": true,
        "showSkipped": true,
        "saveJson": true
    }
}

Relevant log output
cypress-mochawesome-reporter is not the active reporter, ignore before run hook.

cypress-mochawesome-reporter is not the active reporter, ignore after run hook.

Anything else?
It should not be failing if we pass the path of the package as reporter.

I am having a similar problem.
Env:-

OS: Windows 10 enterprise
Cypress:        9.5.1
Browser:        Electron 94 (headless)
Node Version:   v16.13.1
cypress-mochawesome-reporter: 3.0.1
cypress: 8.7.0

cypress.json setup
"reporter": "../../../node_modules/cypress-multi-reporters",
"reporterOptions": {
"configFile": "reporter-config.json"
},
reporter-config.json
{
"reporterEnabled": "cypress-mochawesome-reporter",
"cypressMochawesomeReporterReporterOptions": {
"reportDir": "cypress/reports",
"embeddedScreenshots": true,
"charts": true,
"inlineAssets": true
}
}
When I start running the tests, it throws cypress-mochawesome-reporter is not the active reporter, ignore before run hook error

Should be fixed in v3.1.0.


Setting Post title/content in constructor - #156

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
#156

NB: fixes #156 and also resolves another issue where the fixture doesn't create title/content for Posts

Thanks!


debug-all doesn't work, even with _debug partial uncommented

debug-all doesn't seem to work, even with the debug partial uncommented. I noticed that the debug partial file includes a list of elements with various border colors, but that each element doesn't include the .debug-all class selector before each element. Even with the .debug-all class selector prefixed to each element in the debug partial, things don't seem to work.

Did you rebuild the css file after commenting it out?


Add ifupdown as a dependency for Salt on Ubuntu 18.04 and greater

See https://github.com/saltstack/salt/issues/49078
From Ubuntu 18.04.1 LTS Release notes
ifupdown has been deprecated in favor of netplan.io and is no longer present on new installs. The installer will generate a configuration file for netplan.io in the /etc/netplan directory. This netplan.io configuration in turn renders backend-specific configuration via either systemd-networkd or NetworkManager. Desktop users will see their system fully managed via NetworkManager as it has been the case in previous releases. Server users will now see their network devices managed via systemd-networkd. This only applies to new installations.

Was this dependency just added in the salt-common Ubuntu package for 2019.2.1+ds-1? Because when upgrading to the latest Salt version on our minions today, the ifupdown package got pulled into all our 18.04 systems that are happily running netplan and don't really need it otherwise.
Before, without ifupdown dependency:
Package: salt-common
Version: 2019.2.0+ds-1
Priority: extra
Section: admin
Source: salt
Maintainer: Debian Salt Team<EMAIL_ADDRESS>Installed-Size: 28.6 MB
Depends: python-apt, python-dateutil, python-jinja2, python-msgpack (>= 0.4),
    python-pkg-resources, python-requests (>= 1.0.0), python-concurrent.futures,
    python-tornado (>= 4.2.1), python-yaml, python-systemd, python-psutil, python-gnupg,
    python:any (<< 2.8), python:any (>= 2.7.5-5~)

Now, with ifupdown dependency:
Package: salt-common
Version: 2019.2.1+ds-1
Priority: extra
Section: admin
Source: salt
Maintainer: Debian Salt Team<EMAIL_ADDRESS>Installed-Size: 28.8 MB
Depends: python-apt, python-dateutil, python-jinja2, python-msgpack (>= 0.4),
    python-pkg-resources, python-requests (>= 1.0.0), python-concurrent.futures,
    python-tornado (>= 4.2.1), python-yaml, python-systemd, python-psutil, python-gnupg,
    ifupdown, python:any (<< 2.8), python:any (>= 2.7.5-5~)

On some 18.04 minions, where we still had an /etc/network/interfaces file from pre-18.04, the system went back to using ifupdown to configure the network interfaces after salt-common pulled in the previously purged ifupdown package.
What was the motivation for a hard-dependency of the ifupdown package in the salt-common Ubuntu package?

Need to change from Depends to Suggests

https://github.com/saltstack/salt-pack/pull/703

This actually breaks cloud-init when using DHCP.

A workaround while this isn't fixed: remove /etc/network/interfaces (which should only contain comments), and ifupdown will no longer interfere with netplan

@hsmade  Cloud-init check for binaries to select renderer.
This behavior can be changed, but it might be better to drop ifupdown dependencie. For example, Packer Salt-Masterless provisionner will build network broken VM with 2019.2.1+ packages.

Ok, so we're advised to not use this version. However, the previous version has been removed from the repo. So what are we supposed to use now??

@hsmade you will find it in archive repository : https://repo.saltstack.com/apt/ubuntu/18.04/amd64/archive/2019.2.0/, or use bootstrap-salt script with stable 2019.2.0 arguments.

Closing since fixed 2019.2.2.


Update PSR-16 library to use backend batch/clear implementations when available

The PSR-16 implementations of getMultiple, setMultiple, and deleteMultiple are currently client-side and the clear() method is unimplemented. There is a note in the library's README to set expectations about the resulting performance/availability of those methods. When the backend implementations are available, switch the client methods over and update the documentation.

The multiple methods can be more efficiently implemented by using the async client methods from #154.


MovePiece throws exception "System.NullReferenceException   HResult=0x80004003   Message=Object reference not set to an instance of an object."

Are you on the latest version? Otherwise you might have performed an illegal move


Fix response.json().get(data) in edr_handler.

Coverage decreased (-1.5%) to 76.537% when pulling 140037c4def3780875c01d866991ba7678f87944 on tests_corrections into c143dc2e8c827ffe6d2a87bfc53cb3b1cf0f832f on add_bridge.


Build snapshot before creating watch.

When a snapshot is requested:

block writing
list resources.
start the watch.
resume writing.

This will ensure: no events are missed and no duplicate events.

Closing.
This has potential for deadlock when more than 1 writer exists and 2+ Watch() called concurrently.
Caller A: writer-1
Caller B: writer-2
(deadlocked)


High cpu usage of groupPodsByServices

Describe the bug
When a NetworkPolicy egress rule had ports specified and had a large AddressGroup which has a large number of Pods, it took quite a little CPU time to execute groupPodsByServices in antrea-agent. And if the rule applied to Pods across all Nodes, it would lead to CPU usage burst of the cluster, affecting the healthy of the whole cluster.
# ps aux |grep antrea-agent
root      5914 41.6  3.2 1118340 129348 ?      Ssl  13:28   0:50 antrea-agent --config /etc/antrea/antrea-agent.conf --logtostderr=false --log_dir=/var/log/antrea --alsologtostderr --log_file_max_size=100 --log_file_max_num=4

To Reproduce

Create more than thousands of Pods;
Create a number of rules that allow egress access to all Pods, e.g.:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
    name: np-1
spec:
  podSelector: {}
  policyTypes:
  - Egress
  egress:
  - ports:
    - port: 51
      protocol: TCP
    - port: 51
      protocol: UDP

Keep creating/deleting Pods.
On a worker Node, watch the CPU usage of antrea-agent process.

Versions:
Please provide the following information:

Antrea version (Docker image tag). 0.8.2

With #1031, the cpu usage was greatly reduced:


change C-x to something else

Prof. Klaus Sutner mentioned about this in the class. Actually current binding of executing code, C-x, is bad because it should do cut. I'm thinking about shift-enter or something with enter.

I like shift-enter

@leodemoura, thanks for the opinion. I'll change it, test in many browsers, and close this one.

also need to let users know about the shortcuts.

@leodemoura and @avigad, I've changed the keybinding to shift+enter. On my mac, it worked well in Chrome, Firefox, and Safari. But I couldn't tested it on Windows and Linux platforms. Could you try and let me know if you find a problem there? Thank you.

Nothing seems to have changed in the stand-alone version. The tutorial
version seems to work with shift-enter on Firefox. But in Chrome, if I
press "play" or "shift-enter" after Lean has loaded, with either an empty
input or 'print "hello"', the process freezes. The console window says
"Processing...". I can continue to edit the file, but pressing play again
or shift-enter does not produce any results.
On Sun, Jan 25, 2015 at 5:51 AM, Soonho Kong<EMAIL_ADDRESS>wrote:

@leodemoura https://github.com/leodemoura and @avigad
https://github.com/avigad, I've changed the keybinding to shift+enter.
On my mac, it worked well in Chrome, Firefox, and Safari. But I couldn't
tested it on Windows and Linux platforms. Could you try and let me know if
you find a problem there? Thank you.
—
Reply to this email directly or view it on GitHub
https://github.com/leanprover/tutorial/issues/29#issuecomment-71366023.

I just confirmed that this also happens on my office computer (both my
laptop and office computer are running Kubuntu 13.10). Please let me know
if there is something else I can do to test.
On Sun, Jan 25, 2015 at 9:42 AM, Jeremy Avigad<EMAIL_ADDRESS>wrote:

Nothing seems to have changed in the stand-alone version. The tutorial
version seems to work with shift-enter on Firefox. But in Chrome, if I
press "play" or "shift-enter" after Lean has loaded, with either an empty
input or 'print "hello"', the process freezes. The console window says
"Processing...". I can continue to edit the file, but pressing play again
or shift-enter does not produce any results.
On Sun, Jan 25, 2015 at 5:51 AM, Soonho Kong<EMAIL_ADDRESS>wrote:

@leodemoura https://github.com/leodemoura and @avigad
https://github.com/avigad, I've changed the keybinding to shift+enter.
On my mac, it worked well in Chrome, Firefox, and Safari. But I couldn't
tested it on Windows and Linux platforms. Could you try and let me know if
you find a problem there? Thank you.
—
Reply to this email directly or view it on GitHub
https://github.com/leanprover/tutorial/issues/29#issuecomment-71366023.

I guess you're using Ubuntu, right? I will double check it.

Oops, you've mentioned that you're using Kubuntu.

I have the same problem with Ubuntu 14 + Chrome.

Sorry, I am also using 14.10. (The years are just flying by.)
On Sun, Jan 25, 2015 at 2:01 PM, Leonardo de Moura<EMAIL_ADDRESS>
wrote:

I have the same problem with Ubuntu 14 + Chrome.
—
Reply to this email directly or view it on GitHub
https://github.com/leanprover/tutorial/issues/29#issuecomment-71386234.

Thanks for the reports. It's actually a bug coming from another fix. I'm working on it.

@avigad and @leodemoura, I think the problem is fixed. Could you check on your sides?

It works beautifully now. Thanks.
As far as the console window, right now "check", "eval", and "print" do not
show any output there, so there is not much reason for it. But it does
serve to confirm that a file compiled successfully.
@leodemoura, do you think we should show responses in the console window in
addition to the "i" and "x" annotations? Or leave it the way it is? Or get
rid of the console window entirely?
All of these options seem fine to me.
On Sun, Jan 25, 2015 at 8:21 PM, Soonho Kong<EMAIL_ADDRESS>wrote:

@avigad https://github.com/avigad and @leodemoura
https://github.com/leodemoura, I think the problem is fixed. Could you
check on your sides?
—
Reply to this email directly or view it on GitHub
https://github.com/leanprover/tutorial/issues/29#issuecomment-71404297.

Or get rid of the console window entirely?

In a previous email, @leodemoura mentioned about the reason for keeping the console window. For example, lean.js itself could fail and we need a place to display error messages.
I changed the default ratio between main editor and console window from 5 : 5 to 8 : 2. In addition to that, you can click the console icon to toggle it.

Let me close this one once I get a confirmation from @leodemoura.

I noticed the new ratio. With the "i" and "x" annotations, I guess there is
no reason to put responses in the console. So I think the behavior is ideal.
On Sun, Jan 25, 2015 at 8:56 PM, Soonho Kong<EMAIL_ADDRESS>wrote:

Or get rid of the console window entirely?
In a previous email, @leodemoura https://github.com/leodemoura
mentioned about the reason for keeping the console window. For example,
lean.js itself could fail and we need a place to display error messages.
I changed the default ratio between main editor and console window from 5
: 5 to 8 : 2. In addition to that, you can click the console icon to toggle
it.
—
Reply to this email directly or view it on GitHub
https://github.com/leanprover/tutorial/issues/29#issuecomment-71406017.

It looks great, but I notice a new behavior.
Now, some annotations (i or x) disappear if we modify the buffer.
Is this intended?

Yes. The intention is to remove the annotations which possibly are invalidated by changes. Please see it's https://github.com/leanprover/tutorial/issues/31
Q: Do you like it or is it mis-leading?

I think it is o.k. It is easy to press shift-enter to re-check.
On Mon, Jan 26, 2015 at 12:31 PM, Soonho Kong<EMAIL_ADDRESS>wrote:

Yes. The intention is to remove the annotations which possibly are
invalidated by changes. Please see it's #31
https://github.com/leanprover/tutorial/issues/31
Q: Do you like it or is it mis-leading?
—
Reply to this email directly or view it on GitHub
https://github.com/leanprover/tutorial/issues/29#issuecomment-71500556.

@soonhokong It is still "ctrl-x" on the live website:
https://leanprover.github.io/live/

@leodemoura, I'm thinking about merging the live website and the tutorial website:

Add an icon to toggle the tutorial pane
Add an GET option to specify the initial value of it (something like ?tutorial=off)

When it's done, "the live" link should point to https://leanprovier.github.io/tutorial/?tutorial=off (or something like that). Do you think it's a good plan?

I think merging is a good idea.
I'm not sure if we need the icon. I think the GET option is enough.
What about ?tutorial=path? The path indicates which html tutorial should be used with the web interface. If none is provided, then it is the "live" version.
I think this will be useful for the reference manual we will write in the future, and for any other form of documentation we may want to write.

I think merging is a good idea.

Great! For now, the live page is outdated and I really felt bad about it.

I'm not sure if we need the icon.

In the live mode, I think it's better to hide the chapter navigation selector in the menu bar. With the tutorial icon, we can hide/show both of the tutorial pane and the selector. Let me first do it and show it to you, later we can change it.

What about ?tutorial=path? The path indicates which html tutorial should be used with the web interface.

I like it. I'll do this.

If none is provided, then it is the "live" version.

Just to clarify, this is what I have in mind:

https://leanprover.github.io/tutorial : show the first chapter of the tutorial
https://leanprover.github.io/tutorial?tutorial=none : live demo without showing the tutorial

Are we on the same page?

I think this will be useful for the reference manual we will write in the future, and for any other form of documentation we may want to write.

Sure. Speaking of the reference manual, I think we need to figure out how to cite references/papers or other labels in the document in org-mode. There must be a way for this.

Just to clarify, this is what I have in mind:
https://leanprover.github.io/tutorial : show the first chapter of the tutorial
https://leanprover.github.io/tutorial?tutorial=none : live demo without showing the tutorial
Are we on the same page?

I was not clear. Here is the refined version of the suggestion

https://leanprover.github.io/live:   live demo
https://leanprover.github.io/live?doc=tutorial:   show tutorial.html on the left hand side
https://leanprover.github.io/live?doc=refmanual:   show refmanual.html on the left hand side

@leodemoura, thanks for the clarification. I created https://github.com/leanprover/tutorial/issues/35 for this.


Carousel within vaadin-dialog has strange auto-progress behaviour

In our application we are wanting to show a Carousel within a Dialog.
With auto-progress enabled on the Carousel, the example code with 1/2/3/4 slides ping-pongs from 1 -> 3 -> 1 -> 3 etc. Never goes to slides 2 or 4.
Setting startPosition to be the 2nd slide, it instead goes 2 -> 4 -> 2 -> 4 etc.
Example Dialog code to replicate would be... (borrowing s1 to s4 from the existing examples):
add(new Button("Open", (e) -> new Dialog(new Carousel(s1,s2,s3,s4).withAutoProgress()).open()));

Confirmed with Vaadin 14.6.8 / Carousel 2.1.2-SNAPSHOT

I was able to reproduce the issue but still haven't been able to figure out what's causing that behavior.

The problem is that the function attached is being called twice when inside the dialog.
I do not know right now how to avoid that. I'll keep investigating.

Hello,
is there any update to this bug?I am facing the same issue.
Thanks in advance.

I also have the problem described above and hope that an update will come in the next time.

Fix released in Carousel version 2.1.4.


Can't add items to list in Grav admin after updating to Grav v1.6.17, Admin v1.9.11, and Form v4.0.0

After update of grav and plugins I can no longer add to a list in the Administrative backend.
I can manually add directly to the .md file and save it but not through admin interface.
It worked for a brief while after the update until a cache flush - then it stopped.
That was when noticed a change in the associated .md file.
Previously it separated items by a '-', now it is using numbers followed by colons, like this '120:'
This is what the admin side looks like:

This is what the new .md file looks like:

This is what the old .md file looked like:

Any help appreciated.

@glasswork Check the resulting yaml for any missing/out of order keys or keys with strings in it. Have you reordered the entries?

Thanks for looking into this.
The yaml looks clean to me.
The only thing that seemed to change was the .md file.
No, I have not touched the yaml file since I started using it. It is as it was for all the previous 100+ entries.
Here is the yaml
`# Resources
resources_section:
type: section
title: Add a Resource Item
underline: true
header.resource_item:
  type: list
  collapsed: true
  collapsible: true
  fields:
    .name:
      type: text
      label: Item Name
      description: '
Like: 5 Things You Should Know About The Yazzie Ruling.

'
    .format:
      type: select
      label: Item Format
      options:
        pdf: 'PDF'
        video: 'Video'
    .type:
      type: select
      label: Resource Type
      options:
        info: 'Informational Material'
        summary: 'Executive Summary'
        legal: 'Legal Document'
        brochure: 'Brochure'
        report: 'Report'
        video: 'Video'
    .area:
      type: select
      label: 'Resource Area(s)'
      help: 'You may select multiple areas - but try and keep it simple.'
      multiple: true
      validate:
        type: array
      options:
        education: 'Education'
        healthcare: 'Healthcare'
        public-benefits: 'Public Benefits'
        workers-rights: 'Worker''s Rights'
        equity: 'Economic Equity'
        legal-services: 'Civil Legal Services'
        nabapi: 'Native American Budget & Policy Institute'
    .language:
      type: text
      label: Item Language
      description: 'Like: `English`, `Spanish`, `Diné`, `Tewa`, `Vietnamese`.'
      default: 'English'
    .date:
      type: text
      label: Item Publication Date
      description: 'Like: YYYY/MM so 2019/10 for October 2019'
    .file:
      type: file
      label: Upload Item (if file)
      help: 'At the moment this accepts only PDFs.'
      destination: 'user/themes/nmclp/assets/resources'
      multiple: false
      avoid_overwriting: true
      accept:
        - .pdf
    .link:
      type: text
      label: Link to Item (if YouTube Video)
      description: 'Like: https://www.youtube.com/watch?v=V5vi9qWO0Oc'`

Oh ... yes, I had reordered some entries.
I had been doing that for some time though.

Yep, stopped being able to add items through the Admin interface at the same number of items.
The upload for the item worked, but no additional fields came with it, like so:
-
        file:
            user/themes/nmclp/assets/resources/Factsheet-Domestic-Home-Care-Workers-2019-06.pdf:
                name: Factsheet-Domestic-Home-Care-Workers-2019-06.pdf
                type: application/pdf
                size: 181071
                path: user/themes/nmclp/assets/resources/Factsheet-Domestic-Home-Care-Workers-2019-06.pdf

The conclusion would seem to be that there is a limit somehow.
Oh, I varied what I added to bring it back to the limit using very different field values each time to make sure it wasn't one particular field entry that was gumming up the works.

It is a limit in PHP settings:
Edit your php.ini:
max_input_vars = 2000

Seriously??? Sorry I missed that.
I will change it and report back.

Well, if phpinfo is right about the path of the php.ini file being used, that was not it.
I also changed every php.ini file on my system just in case it wasn't accurate.
And I bumped them waaaay up.
I am going to fiddle some more...

Ok - hard restart of system got the new php.ini setting to load ... simply restarting Apache did not do it for some reason.
Closing. Thanks again.


Update languages.json - Addede Danish

I have added the danish languest

Looks like you forgot to include the actual translation.json file.


Add dense TreeView

This would be great to have. I'm looking at adding this to a project I have, and right now, the TreeView is a bit too large for usability purposes. Adding a dense style class to TreeView like ListView would be awesome.
Also, awesome project!

Good idea and it's easy enough to implement. In fact you can already do this by manipulating vertical tree-cell paddings.
normal list cell size = 2.8em / 0.9 em paddings
dense list cell size = 2em / 0.5 em paddings
tree cell size = 2em / 0.5 em paddings
So, tree view is kind of already "dense" comparing to list/table view. But since increasing tree view padding makes it rather ugly, it thinks adding dense style with 0.25 - 0.3 em paddings makes sense.

Fixed with https://github.com/mkpaz/atlantafx/commit/197618ef2ec95c8532b4f0d07e3a5999d71b9d55

Thanks!


你好，容器多了的时候，小菜单显示不出来

容器多的时候这个小菜单会被隐藏，显示不出来

google translates it to something like
"Containers with short names will be hidden, do not show up".
Still not sure if this is just UX bug, as this is only the left part of the screen shot you should still see name before clicking on the tool icon.

@tronicum He said "The menu cannot be displayed if too many containers in the list." I guess he mean "The operation menu is too long to be displayed if container list is too long? truncated by browser's client area"

Oh Thanks. Does that occur with any browser @gg444108853 ?

There's a potential fix for this in #861

@david9991 对的我说的就是这个意思

我在chrome上测试，原谅我 才回复 抱歉


blanks-around-tables (like MD031 and MD032 for fences/lists)

Original issue for context: https://github.com/DavidAnson/vscode-markdownlint/issues/43

An incomplete babelmark2 reproduction of
# 1

- aa
  | key | value
  |-----|-------
  | 1   | xx
  | 2   | yy
- bb

  | key | value
  |-----|-------
  | 1   | xx
  | 2   | yy

- cc
    | key | value
    |-----|-------
    | 1   | xx
    | 2   | yy
- dd

    | key | value
    |-----|-------
    | 1   | xx
    | 2   | yy

- ee

This was after bumping into blackfriday rendering issues which I need to wait for our internal Go lang based git repository has been updated to the most recent blackfriday so I can check how it behaves now.

Example from Microsoft Team Foundation Server, rendering markdown file.
Code:
#### 0x0209 [1] Offset

Request:
| Field    | Type    | Meaning         |
| :------- | :------ | :-------------- |
| address  | uint8_t | Device address. |
| standard | float   | Standard value. |

Answer: empty.

#### 0x020a [1] Scale

Request:

| Field    | Type    | Meaning         |
| :------- | :------ | :-------------- |
| address  | uint8_t | Device address. |
| standard | float   | Standard value. |

Answer: empty.

Screenshot:

0x0209 [1] Offset
Request:

Field
Type
Meaning

address
uint8_t
Device address.

standard
float
Standard value.

Answer: empty.
0x020a [1] Scale
Request:

Field
Type
Meaning

address
uint8_t
Device address.

standard
float
Standard value.

Answer:


Why using uwsm/systemd is better than just launching Hyprland from TTY?

I noticed that when I launch Hyprland with uwsm, it consumes more RAM than if I would launch it directly from TTY. What benefits are there for using Hyprland with uwsm/systemd?

Uwsm acts as an analog of desktop-session from GNOME or KDE desktops, which means - you can use .desktop files to autostart apps, enable systemd services, that depend on a graphical session and cleanly shutdown the system (all apps exit gracefully and no 90sec shutdowns)

I suggest closing this as there are several discussions, related to the topic and the answer was given.


[RELAY][TypeSystem] Add support for populating type args

The RTS system PR #1954 requires that we correctly populate the type arguments field. This PR adds this behavior separately and is a prerequisite for #1954.
I also added support to the text printer which was tripping an assertion otherwise.
I added one test to show this works correctly for primitive operations.

cc @MarisaKirisame @tqchen

please fix the warnings here http://ci.tvm.ai:8080/blue/organizations/jenkins/tvm/detail/PR-1962/2/pipeline

@tqchen Should be good to go modulo CI.


Annotations of resource interfaces not read

Hi,
We have a rest service with this structure:
com.a: ResouruceInterface1, com.b: ResouruceInterface2
I'm using JBOSS.
All the annotations are mentioned in the interface. I read that Swagger doesn't scan these annotations so I tried using ReflectiveJaxrsScanner. But, can you tell me how to use this in web.xml?
https://github.com/wordnik/swagger-core/issues/400#event-92074484

Closing as supported. Please resubmit an bug if still an issue.

The @Inherited annotation only applies to super classes not to Interfaces.

If you feel there's a problem, it's better to open a new issue.


one chunk is not named as it is specified

Bug report
What is the current behavior?
I am getting one chunk that does not follow the name field. Specifically, I have the following code for generating 4 vendor chunks:
const optimization = {
    minimizer: [new CssMinimizerPlugin(), new TerserPlugin()],
    runtimeChunk: 'single',
    splitChunks: {
      chunks: 'all',
      maxAsyncRequests: 20,
      maxInitialRequests: 20,
      minSize: 0,
      cacheGroups: {
        externals: {
          test: /[\\/]node_modules[\\/](?!(react|react-dom|react-markdown|leaflet))[\\/]/,
          name: 'externals',
          priority: 20,
          enforce: true
        },
        react: {
          test: /[\\/]node_modules[\\/](react|react-dom)[\\/]/,
          name: 'react',
          priority: 10,
          enforce: true
        },
        reactmarkdown: {
          test: /[\\/]node_modules[\\/](react-markdown)[\\/]/,
          name: 'reactmarkdown',
          priority: 10,
          enforce: true
        },
        leaftlet: {
          test: /[\\/]node_modules[\\/](leaflet)[\\/]/,
          name: 'leaftlet',
          priority: 10,
          enforce: true
        }
      }
    },
    moduleIds: 'deterministic'
  };

Chunk filename is:
chunkFilename: '[name].chunk.[contenthash:10].bundle.js',

With the above snippet I get 4 chunks but "externals" one does not have that name, it has a number. e.g. 848.e8b0e6a6eb.bundle.js instead of externals.e8b0e6a6eb.bundle.js
I tried using other regular expressions I found on Internet without any success.
If the current behavior is a bug, please provide the steps to reproduce.
Use snippet
What is the expected behavior?
The expected behavior is to get 4 chunks with the names specified.
If I try with only one group it works:
      cacheGroups: {
        externals: {
          test: /[\\/]node_modules[\\/]/,
          name: 'externals',
          priority: 20,
          enforce: true
        }

Other relevant information:
webpack version:  5.53.0
Node.js version:  14
Operating System:  Windows
Additional tools:

I close this, I solved it at the end with priorities, in case in can help someone in future:
const optimization = {
    minimizer: [new CssMinimizerPlugin(), new TerserPlugin()],
    runtimeChunk: 'single',
    splitChunks: {
      chunks: 'all',
      maxAsyncRequests: 20,
      maxInitialRequests: 20,
      minSize: 0,
      cacheGroups: {
        externals: {
          test: /[\\/]node_modules[\\/]/,
          name: 'externals',
          priority: 10,
          enforce: true
        },
        react: {
          test: /[\\/]node_modules[\\/](react|react-dom)[\\/]/,
          name: 'react',
          priority: 20,
          enforce: true
        },
        reactmarkdown: {
          test: /[\\/]node_modules[\\/](react-markdown)[\\/]/,
          name: 'reactmarkdown',
          priority: 20,
          enforce: true
        },
        leaftlet: {
          test: /[\\/]node_modules[\\/](leaflet)[\\/]/,
          name: 'leaftlet',
          priority: 20,
          enforce: true
        }
      }
    },
    moduleIds: 'deterministic'
  };


There is a doubt.

Does it support 18.06 branches?

Sorry for the wrong information in README. Application support only master LuCI branch. Currently 18.06 branch is not supported.


Redis connection pool + reconnection + multiple end points

To improve performance and resilience for redis client I should:

[X] Allow several clients connected
[X] Add multiple end points for failure and throughput
[x] Implement reconnection and retries on failure

Missing commit: https://github.com/soywiz/korio/commit/bf26635c6a1c8b42d0423185dd0f693c3dede1ca

Implementation video: https://www.youtube.com/watch?v=LKywS0RBfKc&feature=youtu.be


TODO: Update check phone number format in test_send_to_provider

User Story - Business Need
The codebase is littered with TODO statements. This TODO asks to update a test in /tests/app/delivery/test_send_to_providers.pysuch that a mock is used.
Don't test the actual return value of notification_utils.recipients.validate_and_format_phone_number instead, mock that dependency and check that it's used properly.
The code itself seems to indicate that this is already mocked, if it is, remove the TODO comment.

[ ] Ticket is understood, and QA has been contacted (if the ticket has a QA label).

User Story(ies)
As a  VANotify
I want  to remove TODO comments
So that  the code is more straightforward for development
Additional Info and Resources

TODO: Don't test the actual return value of notification_utils.recipients.validate_and_format_phone_number instead, mock that dependency and check that it's used properly

def test_send_sms_to_provider_should_format_phone_number(sample_notification, mock_sms_client):
    sample_notification.to = '+1<PHONE_NUMBER>'

    send_to_providers.send_sms_to_provider(sample_notification)

    # TODO: don't test the actual return value of notification_utils.recipients.validate_and_format_phone_number
    # instead, mock that dependency and check that it's used properly
    assert mock_sms_client.send_sms.call_args[1]['to'] == '+16502532222'

Engineering Checklist

[ ] Review the code in question - is this already mocked?
[ ] If so, remove the TODO comment.
[ ] If not, mock it and remove the TODO comment.

Acceptance Criteria

[ ] The code does not test the return value of notification_utils.recipients.validate_and_format_phone_number, but uses a mock
[ ] The unit test works as expected
[ ] The TODO comment is removed

Hey team! Please add your planning poker estimate with Zenhub @EvanParish @k-macmillan @kalbfled @trevor2718 @jakehova @cris-oddball @ianperera

Please add your planning poker estimate with Zenhub @justaskdavidb2

Please add your planning poker estimate with Zenhub @nikolai-efimov

The TODO no longer exists in this file. Closing ticket as unneeded.


Error While Migrating : Foreign Key Reference

error: alter table "table_1" add constraint "table_1_table_7_id_foreign" foreign key ("table_7_id") references "table_7" ("id") - relation "table_7" does not exist
Whenever i try to run the migration it says that the relation does not exist.
After multiple times, I tried completely deleting all the table in the database (including adonis_schema relation too) so to see if that makes any difference but no luck so far. Please check it.

Can u install lucid from github? I have some changes to be published to npm soon. npm i --save https://github.com/adonisjs/adonis-lucid.git#develop

Thanks for responding so soon.
Yes i've did that too. But not able to resolve it.

Can u share your migrations file?

I'm really sorry its confidential files i don't have the permission. But i can tell you the details.
There are 8 migrations files.
The first files is relatively like "Post"
* It has a user_post_id where it is referenced to 6th migration file kind of like "User"
I swapped the content of each files ( 1<=>6 ) and ran reset & run migration command and it worked properly.
Order of the migration file seems to be the problem. Perhaps the ALTER command worked before all the tables are created.

Yup, ALTER command needs to be after the tables creation

So that's the problem i presume

Is the Issue resolved?


Fix client identifier htype

in collaboration with @lynxis, we'll try to deploy this at the retreat soon and see whether he gets a DHCP lease then (also //cc @marmarek)

This looks like a useful fix -- did you confirm it fixed the issue at the retreat?

it fixes the issue at hand, but is the wrong fix. this should not be merged, but instead properly fixed (though all DHCP knowledge escaped my brain)

I read up on RFCs, and this fix is fine to be applied. Also reality shows that it is a desirable fix for our DHCP server.


prep for making RC4 obfuscator the default

This makes the RC4 obfuscator the default. It's mostly a simple bump to our MESSAGE_VERSION mechanism which has helped us roll out new features forever. However, I also had to incorporate this mechanism into cloud servers: I added a new command, version, which returns the server's MESSAGE_VERSION. If it's 6 then the client will offer RC4; otherwise, plain Caesar.
That said, this isn't quite ready yet. I just benchmarked this and am seeing a measurable drop in performance:

obfuscator
Kb/sec

none
1847

caesar
1798

rc4
1482

In the real-world any kind of latency between client and server will make this irrelevant but since it really doesn't tally with what I saw in my previous benchmark which showed near-identical throughput, I want to investigate a bit.

This change is

I dived into the results a bit more. The previous numbers were from Firefox. Here are a bunch of runs from both Chrome and Firefox:
Firefox:
** raw numbers: {'none': 1874, 'caesar': 1854, 'rc4': 1641}
** raw numbers: {'none': 1954, 'caesar': 1855, 'rc4': 1635}
** raw numbers: {'none': 1964, 'caesar': 1834, 'rc4': 1627}

Chrome:
** raw numbers: {'none': 1909, 'caesar': 1805, 'rc4': 1602}
** raw numbers: {'none': 1882, 'caesar': 1822, 'rc4': 1641}
** raw numbers: {'none': 1883, 'caesar': 1807, 'rc4': 1630}

It's basically a 10% drop vs. Caesar - not great but given how much less detectable it is, I'd take it.
That said, I quickly ran the numbers and I'm seeing a large drop in performance in Firefox when I introduce 150ms of latency between the two pairs (much more representative of real-world conditions):
Chrome: ** raw numbers: {'caesar': 524, 'rc4': 521}
Firefox: ** raw numbers: {'caesar': 525, 'rc4': 256}

So, I still need to investigate! My guess is the random number buffering stuff is slower on FF - I will try with newer versions of FF (IIRC, 48 introduces access to random numbers in web workers).

Avg for Firefox: rc4: 1634.3, caesar: 1847.6, rc4 is 88.46% the speed of
caesar.
Avg for Chrome: rc4: 1624.3, caesar: 1811.3, rc4 is 89.68% the speed of
caesar.
That's pretty good!  Considering that you can't just create 255 table
entries to byte-match rc4 the way you can caesar...
Is MESSAGE_VERSION the only way to determine the protocol between two
peers?  What about a list of keywords (in prio order)?
Cheers,
$ ls
Lally Singh |  Jigsaw https://jigsaw.google.com |  Engineering |
<EMAIL_ADDRESS>On Thu, Jun 23, 2016 at 12:44 PM, trevj<EMAIL_ADDRESS>wrote:

This makes the RC4 obfuscator the default. It's mostly a simple bump to
our MESSAGE_VERSION mechanism which has helped us roll out new features
forever. However, I also had to incorporate this mechanism into cloud
servers: I added a new command, version, which returns the server's
MESSAGE_VERSION. If it's 6 then the client will offer RC4; otherwise,
plain Caesar.
That said, this isn't quite ready yet. I just benchmarked this and am
seeing a measurable drop in performance:

obfuscator
Kb/sec

none
1847

caesar
1798

rc4
1482

In the real-world any kind of latency between client and server will make
this irrelevant but since it really doesn't tally with what I saw in my previous
benchmark https://github.com/uProxy/uproxy-lib/pull/397 which showed
near-identical throughput, I want to investigate a bit.
You can view, comment on, or merge this pull request online at:
https://github.com/uProxy/uproxy/pull/2508
Commit Summary

update MESSAGE_VERSION changelog
add a MESSAGE_VERSION for RC4 obfuscation
mention that MESSAGE_VERSION=5 has been obsoleted
move pure constants out of globals.ts so they can be easily included
by other apps, e.g. zork
add a version command to zork so that MESSAGE_VERSION can be
determined
query server MESSAGE_VERSION on login so client can determine which
features the server supports
use a cryptographically-secure random config for RC4 connections

File Changes

A src/generic_core/constants.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-0 (23)
M src/generic_core/globals.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-1 (32)
M src/generic_core/remote-connection.spec.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-2 (20)
M src/generic_core/remote-connection.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-3 (15)
M src/generic_core/remote-instance.spec.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-4 (17)
M src/generic_core/remote-user.spec.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-5 (11)
M src/generic_core/social.spec.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-6 (6)
M src/generic_core/uproxy_core.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-7 (5)
M src/lib/cloud/social/provider.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-8 (64)
M src/lib/transformers/rc4.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-9 (7)
M src/lib/zork/freedom-module.ts
https://github.com/uProxy/uproxy/pull/2508/files#diff-10 (5)

Patch Links:

https://github.com/uProxy/uproxy/pull/2508.patch
https://github.com/uProxy/uproxy/pull/2508.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/uProxy/uproxy/pull/2508, or mute the thread
https://github.com/notifications/unsubscribe/AEuYJtciTVfnUvPudup8ogjlpyic2pJ6ks5qOrf6gaJpZM4I9AoH
.

@mollyling Thanks! Yes I think that's acceptable given how much harder it should be to detect...as for MESSAGE_VERSION we absolutely 100% will have to think about offering multiple obfuscators in one session but for right now MESSAGE_VERSION should work fine.

TL;DR: RC4 obfuscator is slow in Firefox versions <48, which (finally) allows web workers in add-ons access to window.crypto
Quick figures:
firefox stable (47): {'caesar': 526, 'rc4': 344}
firefox beta (48): {'caesar': 529, 'rc4': 523}
firefox canary (49): {'caesar': 523, 'rc4': 520}
Given this, it may be prudent to wait until Firefox 48 becomes stable before deploying - mostly I'm thinking of cloud servers. That's slated for the first week of August:
https://wiki.mozilla.org/RapidRelease/Calendar

@soycode thought you might find this interesting...I've no guesses as to why the random buffering stuff would be so much slower even with high latency between the two peers

Hrm, I'm not sure - the randomness fill buffers in a probably wastefully naive way, so that could be part of it. It's a little tighter in the pgp module since it's easier to know when to refill the buffer.

Yeah...and I don't want to spend much time optimising it now. If it was like one hour of work sure but I don't really have any great ideas on how to improve it.

 Exposing the same simple API lets the client be unchanged, but yeah likely results in this inefficiency.

OK, let's hold off on making RC4 the default for now. I added TODO: to constants.ts. I'd like to get all the plumbing out and under testing.

@jpevarnek any thoughts on the constants.ts/globals.ts change?

Just took a quick look, so sorry again I didn't get to it sooner. 😢
Only familiar enough to give a superficial 👍  (modulo my superficial comments). Probably worth getting @bemasc's 👍  before merging.

:thumbsup: with small questions

Reviewed 5 of 11 files at r1, 1 of 2 files at r2, 5 of 5 files at r3.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

src/generic_core/remote-connection.ts, line 304 [r3] (raw file):

          pc = bridge.basicObfuscation('sockstortc', config, this.portControl_);
          break;
        case 4:

I'm a bit out of the loop on backend changes, what were versions 4 and 5 and what is different with them?

src/lib/cloud/social/provider.ts, line 199 [r3] (raw file):

      from: clientState,
      // INSTANCE
      message: JSON.stringify(makeVersionedPeerMessage(3000, makeInstanceMessage(

Do we have a constant for the 3000?

Comments from Reviewable

Review status: all files reviewed at latest revision, 3 unresolved discussions, all commit checks successful.

src/generic_core/remote-connection.ts, line 303 [r2] (raw file):
Previously, jab wrote…
> Some people advise adding a comment like `// fall through to case BAZ` when falling through is intended just to make it super clear it's not an oversight, but totes up to you. (I'm not one of those zealots who argues that switch/case statements are too error-prone to even ever use, but I can see where they're coming from.)

Excellent idea. I've added a comment.

src/generic_core/remote-connection.ts, line 304 [r3] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> I'm a bit out of the loop on backend changes, what were versions 4 and 5 and what is different with them?

4 and 5 were Holographic ICE with caesar obfuscation; 6 adds RC4 obfuscation. I've added a note to consult `globals.ts` for information on each version.

src/lib/cloud/social/provider.ts, line 199 [r3] (raw file):
Previously, jpevarnek (Jonathan Pevarnek) wrote…
> Do we have a constant for the `3000`?

You know, we do - you've reminded me to use typings (trivial now, since we moved this code to the social provider):
https://github.com/uProxy/uproxy/issues/2600
Thanks!

Comments from Reviewable


Always include alpha in hex output?

I am developing an OctoPrint plugin that controls NeoPixels connected to a Raspberry Pi, and I am using this library as the color picker. Thank you so much for creating it.
The NeoPixels I use have a white channel, which is nearly perfectly controlled with the alpha slider. The exception is that when the slider is at 100% the hex value output is not appended with "ff". This can be seen with the screen shots included. Is there a way to keep the alpha value attached to the hex output?

Thank you for your kind words!
Right now the color picker always strips the alpha value when it's at 100%, but I will look into adding an option to always keep it.

Thank you! The enhancement works perfectly.

I have published all the latest fixes to NPM as well.


Support IP identifiers in TLS-ALPN challenge

Continuing discussion from here.

Quick solution is to add the following at the beginning of the getChallengeInfo function:
if IsReverse(identifier) > 0 {
    identifier = ExtractAddressFromReverse(identifier)
}

Functions as defined here could be copied over or imported.

Thanks! Can you help me understand what would be involved for the not-so-quick fix you suggested?

Using the ARPA domain as the key for the lookup is another solution.

I try to check it out by the end of this week. I think the changes aren't going to be really big, but may need some consideration regarding backward compatibility for an already running instance/cluster. Then again, this is about challenges, which are temporary values, so it may not be that much of a problem.

Awesome, thank you!

but may need some consideration regarding backward compatibility for an already running instance/cluster

Maaaaybe, but these are purely internal changes, I would be surprised if it broke anything even currently running. I'll take a look at the delta and let you know. :+1:

Opened the PR: #139


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixed condition

I'm a member of the Pinguem.ru competition on finding errors in open source projects. A warning, found using PVS-Studio:
parson/parson.c     1721    warn    V560 A part of conditional expression is always false: value == NULL.
parson/parson.c     1721    warn    V560 A part of conditional expression is always false: value == __null.
Static analyser found always false issues only, but in any case the expression value == NULL is duplicated in one condition.

Thanks!


New-HierarchicalTreeNode not recognized in latest modules

New-HierarchicalTreeNode
New-HierarchicalTreeNode : The term 'New-HierarchicalTreeNode' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:1

New-HierarchicalTreeNode

  + CategoryInfo          : ObjectNotFound: (New-HierarchicalTreeNode:String) [], CommandNotFoundException
  + FullyQualifiedErrorId : CommandNotFoundException

Manually adding the function to session works, but looks like the module import fails somewhere.

Fixed. the issue was because function name was New-HierarchicalTreeNode and alias for it was the same. Republished, and updated sources as well. Should work now.
#Import-Module .\PSWriteHTML.psd1 -Force

$ProcessSmaller = Get-Process | Select-Object -First 1

New-HTML -Name 'Test' -FilePath "$PSScriptRoot\Example29-HierarchicalTree01.html" -Show {
    New-HTMLSection {
        New-HTMLSection -HeaderText 'Test 1' {
            New-HTMLTable -DataTable $ProcessSmaller
        }
        New-HTMLSection -HeaderText 'Test 2' {
            New-HTMLHierarchicalTree {
                New-HierarchicalTreeNode -Label 'Test' -Description 'Long test'
                New-HierarchicalTreeNode -Label 'Test 2nd' -To 'Test' -Description 'You need1'
                New-HierarchicalTreeNode -Label 'Test 3rd' -To 'Test' -Description 'You ooo'
                New-HierarchicalTreeNode -Label 'Test 4th' -To 'Test 2nd' -Description 'You ooo'
            }
        }
    }
} -Online


[DOC] Doc site: Add the ability to copy code samples.

What do you want to do?
Add the ability to copy code samples with one click. This includes REST APIs, with the ability to copy or modify curl commands based on user input.

[x ] Request a change to existing documentation
[ ] Add new documentation
[ ] Report a technical problem with the documentation
[ ] Other

Per our meeting with @kolchfa-aws and @nateynateynate, adding a "Add to clipboard" icon should be easy enough to add. However, adding a mechanism to switch between a generic and curl example might be more difficult to achieve. For now, it might be best to keep this low-hanging-fruit and just add an icon for copying code, while keeping to code SDK agnostic.

Closing this issue because it has been implemented in #2043


Add a gitignore file

Having a .gitignore is handy. This one has some extra stuff in it that's probably not strictly necessary in most cases, but it also doesn't seem unreasonable to me.

Thanks for contributing! (Will review the other submission as well).
As a huge fan of minimalism in software development: Which lines do you think would be actually relevant for the project? E.g. what prompted you to add the file.
On the other hand, there are also lines that can be added to account for problems I encountered before, specifically

.DS_Store
A directory for generating samples when testing (to be passed to --output_dir flag). I usually use test but can be also renamed to something else (e.g. testsamples) in case actual test code gets added later.

I removed a few stanzas that seem unlikely to be necessary for Domato use case I could imagine, and I added an entry for .DS_Store.

Cool, thanks!


cast set to list

Sorry Seangchan, I fixed something in #6375 and broke another. cjson cannot encode sets.
I asked Bruno/Diego to hold on the testbed deployment. I'm also making sure it's fixed in my VM this time :(

I talked to offline guys and they are having some problems with Jenkins, though it's expected to get normal very soon. Let's see...

test this please

For the record, I manually ran these 3 tests in my local VM and I get no failures.


[feat] update beacon

Describe the problem
@Zir0h @Surfingthedarkness who should i reach out to on the Teia discord or elsewhere to get devs to update the teia.art apps version of beacon, its on a really old version that we can't test against Kukai iOS. Ideally they update to the latest version 4.2.0 that was released this Monday https://github.com/airgap-it/beacon-sdk/releases/tag/v4.2.0 but even one from a month ago is better than the one that is currently in use.

cousinit on the mooncakes discord

Describe the solution you'd like
update beacon
Alternatives considered
No response
Additional context
No response

I tried a few times, it breaks everything so I gave up each time.
Back when I was really active they weren't packaging it properly (cjs) so we had to do tricksx I think now they do it properly but I couldn't figure out how to make it work with Vite...
That said I have not tried deeply since quite some time!
This week I'm not available at all but I will check it next week if no one did

I think we just have to wait for https://github.com/ecadlabs/taquito/pull/2874 and then update the teia-ui taquito dependecies?

Looks like this got merged, I'll have a look tonight


can't see unused entities

I am currently unable to see the unused entities in the menu even though it isn't hidden

Unused entities doesn't exist in the menu from your screenshot. After you hit "configure ui" it will then show up in that menu.

yes, correct but why isn't it showing in the first menu? (just wondering )

That was a change in Home Assistant at some point, has nothing to do with Custom Header.


Thoughts on using standardized web Request / Response / Headers?

The new era of modern api uses standard web Request / Response using the fetch api.
I was just wondering if you would maybe perhaps thing if such adoption would be acceptable...
there are some new modern backends that embraces the fetch api and turns regular incoming http request from nodejs and turns them into standard Request. Deno, Bun and cloudflare workers also operates on standard web Request & Response.
Maybe starting out fresh and create a new package?

That is exactly where we will be focusing on an plan in 2024 to release a @cacheable/fetch that will enable caching to fetch. Is that what you are thinking?

YES

Wonder if some kind of CacheStorage could be incorporated also.

I havent seen the CacheStorage interface yet but the current plan is to base it off of Keyv (https://github.com/jaredwray/keyv).

How would @cacheable/cachestorage function?

@cacheable/cachestorage would be kind of a polyfill for the missing window.cachestorage that could store Request / Responses á la browser spec'ed way.
you shove in a Request as the "key" and map it to a Response
const request = new Request('https://example.com')

let response;
const cachedResponse = caches
  .match(request)
  .then((r) => (r !== undefined ? r : fetch(request)))
  .then((r) => {
    response = r;
    caches.open("v1").then((cache) => {
      cache.put(request, response);
    });
    return response.clone();
  })
  .catch(() => caches.match("https://example.com"));

code example from: https://developer.mozilla.org/en-US/docs/Web/API/Cache/put

Deno have CacheStorage: https://github.com/denoland/deno/blob/main/ext/cache/01_cache.js
So dose undici: https://github.com/nodejs/undici/blob/main/lib/cache/cachestorage.js

Closing this now as will create a new issue as we migrate cache systems to this.

Kindly post an update here when the new thread is started 🙂


Questions about the network structure

hi, I was carefully reading the code and paper in the past few days, and had to say that it was really amazing!
but when I dug into the details and was confused about the implementation of the Encoder structure.
In the paper, the network has two layers, each of which has 3 operations and comes in the sequence of { skeletonConv, ReLu, and pooling}, but in the code, the order of the skeleton pooling and relu are inverted. Below is the module list I printed out to show the inconsistency, and was wondering which one was correct?
Many thanks!

The module list of encoder I printed:
Encoder:
ModuleList(
(0): Sequential(
(0): SkeletonConv(
(offset_enc): SkeletonLinear()
)
(1): SkeletonPool()
(2): LeakyReLU(negative_slope=0.2)
)
(1): Sequential(
(0): SkeletonConv(
(offset_enc): SkeletonLinear()
)
(1): SkeletonPool()
(2): LeakyReLU(negative_slope=0.2)
)
)

Hi, thanks for your interest in this project.
You are right about the code. We made a mistake in the paper. The correct order is Conv, Pool, LeakyReLU.

Many thanks.
Sent from Yahoo Mail for iPhone
On Tuesday, August 11, 2020, 22:47, Peizhuo<EMAIL_ADDRESS>wrote:
Hi, thanks for your interest in this project.
You are right about the code. We made a mistake in the paper. The correct order is Conv, Pool, LeakyReLU.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


update_automation: allow to override automation repo

For several QA jenkins jobs the feature was used to override
the location of the automation repo. This was used to stage
code changes before they became a pull request.
This feature was accidentally dropped with the latest
refactoring of update_automation.
This commit adds back this feature but with a slightly different
usage.
The definition must follow this pattern:
<domain>/<owner>/<repo>#<branch>
e.g. github.com/SUSE-Cloud/automation#master
The definition of the branch can be omitted (incl. the "#").
Then the branch name will use "master" as default.
@gosipyan @kbaikov You will need to adapt the QA jobs to use the new definition.

@kbaikov @gosipyan @bmwiedemann added testcases so that the feature will not be lost again