feat: enable to put "island" not only in islands directory

Related to #45
With this PR, you can put an island component in a directory under /app/routes, not only the /app/islands directory. You should name it with a _ prefix, like _counter.island.tsx.
app
├── client.ts
├── global.d.ts
├── islands
│   └── counter.tsx
├── routes
│   ├── directory
│   │   ├── _counter.island.tsx // <--- You can put it here
│   │   └── index.tsx
│   ├── index.tsx
└── server.ts

It was inefficient to put Islands in /app/islands, which are used only in a certain directory. However, this PR makes it easier to understand the structure by placing Islands in the same directory as the files that use them.

Hi @usualoma @bruceharrison1984
Could you review this?

LGTM, however why constraint it to islands and routes? Why not just make it src in general? A common pattern i use is to place components into src/components, which wouldn't be possible in this case.
Either way, I think this is a good incremental improvement to the Islands concept.

Thanks @bruceharrison1984 !

however why constraint it to islands and routes?

Good question! This is related to the discussion in #45.
At first, I also thought I could just put the island file in /app/islands. However, for DX improvement, I sometimes wanted to place an island in the same directory for the route files.
This is one example:
.
└── app
    ├── islands
    │   └── online-status.tsx
    └── routes
        ├── chats
        │   ├── [id]
        │   │   ├── _chat.island.tsx
        │   │   └── index.tsx
        │   └── index.tsx
        └── index.tsx

I think it would be better to put common islands in /app/islands and specific ones in /app/routes/sub/_foo.island.tsx.

@usualoma Any thoughts?

@yusukebe Thanks. LGTM!

Thanks! Merge now.

Thanks @bruceharrison1984 !

however why constraint it to islands and routes?

Good question! This is related to the discussion in #45.
At first, I also thought I could just put the island file in /app/islands. However, for DX improvement, I sometimes wanted to place an island in the same directory for the route files.
This is one example:
.
└── app
    ├── islands
    │   └── online-status.tsx
    └── routes
        ├── chats
        │   ├── [id]
        │   │   ├── _chat.island.tsx
        │   │   └── index.tsx
        │   └── index.tsx
        └── index.tsx

I think it would be better to put common islands in /app/islands and specific ones in /app/routes/sub/_foo.island.tsx.

I think @bruceharrison1984 was asking why it needs to be in routes (or islands) and it couldn't just include any file with the _component.island.tsx naming convention in app or src.
For example app/comonents/_component.island.tsx or app/auth/_component.island.tsx
My project is ordered by features so it would be nice to do

.
└── app
    └── auth
        ├── components
        │  ├── _sign-in.island.tsx
        └── index.tsx


Create contribution guidelines

[ ] add a getting started section (with info for membership request)
[ ] and link to a repository (perhaps our own) that describes how to make pull requests and contribute to it

[ ] Add file size guidelines


add_vm_nic_to_dvs

Sample to  add the virtual ethernet card of VM  to  DistributedVirtualSwitch  PortGroup

@Luckylau Thanks for the new sample.
Can you make sure the sample can be executed using both python 2.7 and 3.5?
Can you please also post the output of those test runs?

@tianhao64 Thanks for your review . The script was running well by python2.6.6. I have changed some thing to be run by python2.7 and python3.5.
the output is that the VM will be added a new nic connected to dvs portgroup.


Parallelize test execution

Right now, the tests are executed sequentially. As the number of tests grows, executing the smoke tests sequentially will take longer and longer. Since the tests are self-contained, it is easy to execute them in parallel and avoid this slow increase in execution time.
We can achieve the best performance if we parallelize the execution on the test level. In this scenario, we initialize all tests and collect them into a single vector, which we can then really simply process in parallel. The downside is that we need to reorganize the tests into their test groups and suites after the execution, which will require changes to the data model (so that tests know their groups/suites) and the logic that prints the results.
A simpler implementation might be to parallelize each level of the hierarchy individually and recursively. So we would parallelize the execution of the test suites, and then each test suite would parallelize the execution of its own test groups, and each test group would run its tests in parallel. This makes collecting the results much simpler, since the current implementation does not need to change.
Given that the tests run asynchronously in a multi-threaded tokio runtime, the second option might actually end up achieving a similar level of performance as the first. We will just need to ensure that we don't block on and .await every test, but return futures that we can execute in parallel within each test group/suite.

I can have a look at this. I think I'd favour the second option, as it requires minimal code changes and should indeed still provide a significant enough speedup.


threads: Addresses both out-of-bounds and misaligned can give either trap

With the threads proposal atomic operations can be invalid with their addresses for two reasons: either they're out-of-bounds or they're misaligned. I'm not sure what the intention is in the official spec which of these traps should happen if both are true.
Currently the implementation of threads (after #3143) will sort of "nondeterministically" reveal either trap. The exact trap depends on the configuration of the runtime. The problem is that the heap_addr in cranelift doesn't actually verify the address, it just ensures that if it's accessed it's either guaranteed to segfault or it's guaranteed to be valid. In the "guaranteed to be valid" case we'd give an out-of-bounds trap, whereas in the "guaranteed to segfault" case we'd give a misalignment trap because the alignment check happens before the actual memory access.
We should probably clarify with the upstream specification which trap is intended, and we'll need to modify codegen to match this. My guess is that we'll want to guarantee that the misalignment trap happens first, and only properly aligned addresses are reported as out-of-bounds. That should allow us to have a boolean flag on the heap_addr clif instruction to check for alignment, and it'd add the two operands as the first thing to check the alignment, and then the overflow check afterwards tests whether the addition was correct.

Hm no nevermind I'm just gonna fix this to be alignment is checked first and then out-of-bounds.

:+1: that seems reasonable to me; the alignment check is a specific part of these instructions' semantics, and so it makes sense that we don't try to access the heap at all (from an semantics point of view anyway) if the address is misaligned.


Clarification around contract deletion

Is your feature request related to a problem? Please describe.
Users aren't aware of the contract state size limit for deletion (10KB) and it's confusing them. I spoke to Bowen about this and he mentioned the assumption is that users should implement a method to clean contract storage before deletion.
Describe the solution you'd like
Make it more clear to users that there's a 10KB limit on storage size for contract deletions and our recommendation is to implement a method to clean contract storage before deletion, preferably with an example.
Related: #845 in near/docs

#845


Local stream audio track should not be routed to earpiece

The local stream audio track is routed to earpiece, but when I am speaking to microphone I do want the local stream audio track be muted.
I cannot simply set the track.enabled to false because this will stop sending the audio to remote. So i suggest implement the RTCView muted prop just like Video tag in html.

Patches are welcome.


Role of videos not clear to users

Describe the bug
The structure of the tutorials, including the role of the brief videos, is not clear to users. This structure could be explained on the main GitHub Skills page.
To Reproduce
Steps to reproduce the behavior:

Go to 'GitHub Skills'

Expected behavior
A sentence below Our Courses explains the structure of the courses. A good sentence might be "In these courses you will read about GitHub, watching brief videos, and complete interactive hands-on practice activities."
You might also consider embedding the videos rather than linking to them, to increase their visibility.
Additional context
The structure of these tutorials is what makes them excellent. I have encountered multiple people who don't realize the tutorials include videos. This includes someone who completed the tutorial without noticing the videos, and therefore didn't get the full benefit. It also include people suggesting making an hour-long recording of someone demonstrating the tutorial, which is of course not ideal.  I think these tutorials would be more appealing and useful if the presence of brief, on-point videos was more obvious to new users.

@CodefortheCarolinas Thanks for this great feedback! I'll bring it to the team 💖

Thank you for opening this issue. We're removed the old videos from YouTube and our courses.


onTransitionStart | Which function? | Example

Which function is passed into onTransitionStart? Can you give example?

const SimpleStack = StackNavigator({
  Home: {
    screen: MyHomeScreen,
  },
  Profile: {
    path: 'people/:name',
    screen: MyProfileScreen,
  },
}, {
  onTransitionStart: () => {console.log('ayyyy');}
});


[Event Request] Table 5077  "Segment Line" - OnValidateInteractionTemplateCodeOnAfterCaseTrue

We are migrating our code from NAV 2018 to BC16.4. In the Table 5077 "Segment Line", in the field 7 "Interaction Template Code", in the trigger OnValidate, we need to add our code in the "case true of". To do so, we need a IsHandled flag and an event publisher juste before the "case true of", like this :

With this integration event :

Do you think it could be possible ?
Thank you for your work.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Not able to used Viewpager inside listheadercompoenent flatlist

I used viewpager inside listheadercomponent in flatlist.when i start typing in textinput keyboard closed in 2 to 3 seconds.
React Native version:
System:
OS: Windows 7 6.1.7601
CPU: (4) x64 Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz
Memory: 4.18 GB / 11.92 GB
Binaries:
Node: 12.14.1 - C:\Program Files\nodejs\node.EXE
npm: 6.13.4 - C:\Program Files\nodejs\npm.CMD
SDKs:
Android SDK:
API Levels: 25, 28, 29
Build Tools: 28.0.3, 29.0.2
System Images: android-28 | Google Play Intel x86 Atom
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-191.8<IP_ADDRESS>10548
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.5 => 0.61.5
Expected Results
should able to use viewpager inside headercomponent and also able to type in textinput

issue was in viewpager.After pass keyboardDismissMode='none' issue solved.This issue comes only in Android.


Update virtual-machines-windows-portal-sql-create-failover-cluster-pr…

…emium-file-share.md - Corrected text error
Corrected text from throughout to throughput.

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

Hi @DanielJanik , awesome, thank you so much! #sign-off


Event Request - Table 7021 "Price Line Filters"

Describe the request
Hi,
Is it possible to add event "OnAfterSetFilterPageBuilder" in procedure "EditPriceLineFilter()" in table 7021 "Price Line Filters"?
You can add parameters (TableCaptionValue: Text, PriceListLine: Record "Price List Line", FilterPageBuilder: FilterPageBuilder).
Thank you in advance.

Additional context
We have to add default filters when you open from Price Worksheet Copy Lines.
Internal work item: AB#498456

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 15987.


[Feature]: Chip Spacer

Requirements

[X] I have updated Mushroom to the latest available version
[X] I did a search to see if there is a similar issue or if a pull request is open.

Is your feature request related to a problem?
I'd like to be able to adjust the position of chips beyond the Start, Center, End and Justify options that currently exist

Describe the solution you'd like
I'd like a spacer chip which automatically adjusts to fill any white space and push other chips to the side.
Artists interpretation:

This is a feature I've seen in a handful of applications. The menu in VLC comes to mind.
Describe alternatives you've considered
I've created a blank chip and used null space characters to expand it to the size I want, but it doesn't play well when screen sizes change.
Either it gets too large and pushes chips to the next line, or is too small and doesn't do a good job spacing the chips.
Blank chip example:

Additional context
No response

@bryan-stewart Thank you for adding this. This is working great for horizontal spacing when there is at least one other chip present. Any chance you could make it work as a chip placeholder for a chip card that has no other chips?


authenticatedRoute not working on Ember >= 3.6

On Ember >= 3.6, authenticatedRoute does not hit the accessDenied action. It works in Ember 3.5
I've created a minimal reproduction here: https://github.com/kategengler/torii-test

@kategengler is this still an issue on Ember 3.8?

@veelenga yes, I'm still seeing it.  So @kategengler's fix has been very helpful.


Video on videos.assemblee-nationale.fr cannot be downloaded

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2023.01.06 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
France
Provide a description that is worded well enough to be understood
The video from https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023 cannot be extracted.
Note that other similar pages on the same website do work, such as https://videos.assemblee-nationale.fr/video.12604236_6390b57141112.souverainete-et-independance-energetique-de-la-france--audition-de-representants-du-ministere-de-la-7-decembre-2022
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023']
[debug] User config "/home/antoine/.config/yt-dlp/config": ['--no-playlist', '-S', 'height:1200', '--sub-langs', 'fr,en', '--embed-subs', '--write-subs']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25] (pip)
[debug] Python 3.10.5 (CPython x86_64 64bit) - Linux-5.15.0-58-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.5 5 Jul 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)
[generic] Extracting URL: https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023
[generic] video.12757531_63c949c31e170: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] video.12757531_63c949c31e170: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023
Traceback (most recent call last):
  File "/home/antoine/mambaforge/envs/youtube-dl/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1502, in wrapper
    return func(self, *args, **kwargs)
  File "/home/antoine/mambaforge/envs/youtube-dl/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1578, in __extract_info
    ie_result = ie.extract(url)
  File "/home/antoine/mambaforge/envs/youtube-dl/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 680, in extract
    ie_result = self._real_extract(url)
  File "/home/antoine/mambaforge/envs/youtube-dl/lib/python3.10/site-packages/yt_dlp/extractor/generic.py", line 2523, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023

This doesn't seem to be a supported site.
In the problem page, the video link, together with title, thumbnail, description, are available from <meta property="og:... elements, but the generic extraction doesn't find them.
Perhaps there should be a generic extraction using OpenGraph properties when the og:video has an explicit type (possibly also if og:video:type is a known media MIME type), similar to the ld+json extraction? It shouldn't be done in general since og:video might not specify an actual media link, but just a canonical page containing the same video.

I can't reproduce the issue, the generic extractor works for me:
$ yt-dlp -vF --ignore-config "https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023"
[debug] Command-line config: ['-vF', '--ignore-config', 'https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25]
[debug] Python 3.10.9 (CPython x86_64 64bit) - Linux-6.1.6-arch1-3-x86_64-with-glibc2.36 (OpenSSL 1.1.1q  5 Jul 2022, glibc 2.36)
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2
[debug] Optional libraries: Cryptodome-3.12.0, brotlicffi-<IP_ADDRESS>, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[generic] Extracting URL: https://videos.assemblee-nationale.fr/video.12757531_63c949c31e170.souverainete-et-independance-energetique-de-la-france--m-philippe-de-ladoucette-ancien-pdt-de-la--19-janvier-2023
[generic] video.12757531_63c949c31e170: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] video.12757531_63c949c31e170: Extracting information
[debug] Looking for embeds
[debug] Identified a Open Graph video info
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] Available formats for 7040_20230119144644_1:
ID EXT RESOLUTION │ PROTO │ VCODEC  ACODEC
───────────────────────────────────────────
0  mp4 unknown    │ http  │ unknown unknown

@pukkandan Interesting, I tried again and it works now. Perhaps the Web page was updated for some reason...


chore: Resolve issues downstream at Google

Unfortunately I don't remember what this resolved, I think there was an issue with TypeScript compilation in Google's more strict environment.

Note, this also needs to be done for

[ ] src/internal/util/ArgumentOutOfRangeError.ts
[ ] src/internal/util/ObjectUnsubscribedError.ts
[x] src/internal/util/UnsubscriptionError.ts
[ ] src/internal/util/TimeoutError.ts
[ ] src/internal/util/EmptyError.ts

Closed in favor of #4978


feat(pipeline): align release version

:tada: This PR is included in version 1.1.0-develop.1 :tada:
The release is available on:

npm package (@develop dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Adding a button bottom left of the scan window to close it

Hi I was wondering if their was a way to close the window but have it done on a button or even a piece of text saying the word close we want to allow the scanning function to repeat however with the scan window up the user does not have a way to close it so i need some kind of overlay i am using the        var scanPage = new ZXingScannerPage();
Method to scan the barcode.

You can use a custom overlay.  There are examples of this in the samples.


[Backport] Prefer resolving DNS to ipv4 (#5261)

Btw I think we can remove this note from the upgrade guide: https://6.docs.plone.org/volto/upgrade-guide/index.html#localhost-now-resolves-to-an-ipv6-address

@davisagli https://github.com/plone/volto/pull/5481 done


CREATE TABLE with UNIQUE Column Not Enforced

If I mark a column as UNIQUE when I create a table, the DBMS does not enforce that constraint:
postgres=# CREATE TABLE foo (id INT PRIMARY KEY, val INT UNIQUE);
CREATE TABLE foo (id INT PRIMARY KEY, val INT UNIQUE) 0
postgres=# INSERT INTO foo VALUES (123, 999);
INSERT INTO foo VALUES (123, 999) 1
postgres=# INSERT INTO foo VALUES (456, 999);
INSERT INTO foo VALUES (456, 999) 1
postgres=# SELECT * FROM foo;
 id  | val
-----+-----
 123 | 999
 456 | 999
(2 rows)

Note that if you create the index by hand, it works correctly:
postgres=# CREATE TABLE foo (id INT PRIMARY KEY, val INT);
CREATE TABLE foo (id INT PRIMARY KEY, val INT) 0
postgres=# CREATE UNIQUE INDEX xxx ON foo (val);
CREATE UNIQUE INDEX xxx ON foo (val) 0
postgres=# INSERT INTO foo VALUES (123, 999);
INSERT INTO foo VALUES (123, 999) 1
postgres=# INSERT INTO foo VALUES (456, 999);
INSERT INTO foo VALUES (456, 999) 0
postgres=# SELECT * FROM foo;
 id  | val
-----+-----
 123 | 999
(1 row)

I think that the UNIQUE is not getting propagated to the catalog properly. This may already be fixed in #707 (formerly #660).
@vittvolt I think that your group fixed this already, right?

@apavlo The UNIQUE constraint was working properly at the end of the semester, and the DBMS should be able to enforce the constraint when creating the table.
I don't know why this is not working, perhaps there is something wrong with index creation when creating the table.

This is where the index is created: https://github.com/apavlo/peloton/blob/bf2b86a0160229de3527b1cd128d5129162468d3/src/catalog/catalog.cpp#L261
This should work unless the is_unique_ field is not set.

From what I remember, here
https://github.com/cmu-db/peloton/blob/master/src/parser/postgresparser.cpp#L837
https://github.com/cmu-db/peloton/blob/master/src/parser/postgresparser.cpp#L762
the definition from postgres is transformed to ColumnDefinition (I'm guessing if the parser does not pass the constraints as regular nodes then it would not work anymore), and in
https://github.com/apavlo/peloton/blob/bf2b86a0160229de3527b1cd128d5129162468d3/src/planner/create_plan.cpp#L71
the is_unique_ fileld is set.
_

I might have seen where the bug came from:
https://github.com/cmu-db/peloton/blob/master/src/include/catalog/column.h#L85
I suppose it should be like this:
https://github.com/vittvolt/peloton/blob/master/src/include/catalog/column.h#L85
there should be a better way to do this, but this could be a temporary fix.

I did not find anything useful that may cause the bug, if somebody finds something I would be happy to help.

I think we can fix this quickly once we are back from long weekend.
We should just follow what Postgres does
https://www.postgresql.org/docs/9.4/static/ddl-constraints.html:
To enforce a unique constraint on a column (or group of columns), Postgres
creates a unique B-tree index (named as "__key") on
that column.
On Sun, Jul 2, 2017 at 5:07 PM, TH WU<EMAIL_ADDRESS>wrote:

I did not find anything useful that may cause the bug, if somebody finds
something I would be happy to help.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/cmu-db/peloton/issues/714#issuecomment-312525237, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AF3OcKxUeuNqRQxVnPGx3K5O39w15JFeks5sKDCvgaJpZM4OLpQm
.

--
Yixin Luo, PhD Student of
Computer Science Department
Carnegie Mellon University
Phone:<PHONE_NUMBER>    Email<EMAIL_ADDRESS>

@camellyx I think that the issue is fixed in @vittvolt's PR (#707). I just need to get it working and then merge it.

@apavlo After CREATE TABLE foo (id INT PRIMARY KEY, val INT UNIQUE), maybe you can check whether unique bwtree index is automatically created by typing SELECT * FROM pg_catalog.pg_index; If there is corresponding record within pg_index, I believe the constrain should be working properly.

It is a very simple fix.
The create_plan does not add any constraint for unique, and the create executor does not create the associated index entry. I'll submit a PR.

@PauloAmora Hold up on this. This is already implemented in #707.


overhaul thread stack specification

This PR attempts to centralize stack management to common code, introduce kernel-only stacks which use less memory, and document best practices for new architecture ports.
Major changes in this PR:

arch_new_thread() API has been revised. Some extraneous parameters have been removed, and the kernel now pre-computes an initial stack pointer which uses as much space as possible and takes into account random offsets and thread-local storage. One change related to this credit goes to @ceolin. arch_new_thread() no longer needs to call back into the kernel to set stack boundaries.
The arch interface for thread stacks has changed. The macros for declaring stacks are all centralized. Arches now define the required stack pointer alignment, the alignment of stack objects, and a macro to convert a requested stack buffer size into the actual object size needed by HW. For any given arch the definitions are much simpler.
New macros introduced for declaring kernel-only stacks, all are prefixed with K_KERNEL_STACK. Stacks that are capable of hosting user mode are now placed in a designated section so that they can be recognized at runtime.
Improvements to the test case for thread stacks, now no longer part of the userspace test.
Additional thread stack memory reserved due to rounding up to size/alignment requirements is now fully used.
arches, drivers, subsystems, and library code updated to use kernel-only stacks where appropriate, potentially saving large amounts of memory if user mode is enabled.

Please see individual commit messages for more details.
Fixes: #13651
Fixes: #13637
Fixes: #25635
Note about naming: I chose K_KERNEL_STACK_* for the supervisor-only stack macros and left K_THREAD_STACK_* alone, as to not break existing code (you can use K_THREAD_STACK for everything at the expense of memory)
Other than avoiding breakages, I have no particular attachment to these names though. There is already unfortunately another type of kernel object called k_stack.

This will need some HW testing on frdm_k64f as we don't have an emulator which supports the NXP MPU. Trying to get my board working but having some issues with it.

Note about naming: I chose K_KERNEL_STACK_* for the supervisor-only stack macros and left K_THREAD_STACK_* alone, as to not break existing code (you can use K_THREAD_STACK for everything at the expense of memory)
Other than avoiding breakages, I have no particular attachment to these names though.

@abrodkin @ruuddw @vonhust ARC changes are ready for you guys to take a look at.

@abrodkin @ruuddw @vonhust ARC changes are ready for you guys to take a look at.

Yes, I noticed and started reviewing. Added some quick (minor) comments. Looks like a good refactoring and clean-up.  What (ARC) targets did you already test? We can check on others that you don't have.

What (ARC) targets did you already test? We can check on others that you don't have.

@ruuddw so far just on nsim_em, nsim_sem, nsim_sem_mpu_stack_guard. Will be testing on HSDK this week.
Updated version of this PR coming, thanks for the review. I'm going to make a change where we just pass the computed delta offset instead of specifying a particular stack pointer, as this will be a pain point otherwise for systems that wish to map the stack in virtual memory.

Update:

I dropped the patches which convert subsystems and drivers to use kernel-only stacks. It adds an insane amount of reviewers and makes review very difficult (GH doesn't support huge PRs very well). I can send that out again once this lands.
Rebased on the latest code, there were a lot of conflicts
I added a test scenario to prove that various size-related identities hold
Addressed review comments, please let me know if I missed anything.

I'm going to make a change where we just pass the computed delta offset instead of specifying a particular stack pointer, as this will be a pain point otherwise for systems that wish to map the stack in virtual memory.

On further thought, this is fine how it is -- any policy for mapping a stack in virtual memory will be done in the core kernel, we are not going to leave virtual address space management to the arch code. So if the kernel wants to memory map stacks, the core kernel can do that and send the virtual address to the arch code using the current scheme.
However, one thing I want to do is revise the ARM code to only use separate privilege mode stacks if the MPU is power-of-two, we currently do it for all ARM targets which is not ideal.

@ioannisg @ruuddw pushing to get this in maybe this week if you have some time for review.

However, one thing I want to do is revise the ARM code to only use separate privilege mode stacks if the MPU is power-of-two, we currently do it for all ARM targets which is not ideal.

Touched on this topic during the call; consensus I believe is we can do this as a further enhancement. I left as-is in the current code.

@ioannisg @ruuddw pushing to get this in maybe this week if you have some time for review.

However, one thing I want to do is revise the ARM code to only use separate privilege mode stacks if the MPU is power-of-two, we currently do it for all ARM targets which is not ideal.

Touched on this topic during the call; consensus I believe is we can do this as a further enhancement. I left as-is in the current code.

@andrewboie will do a review  pass as soon as possible.

@andrewboie @ruuddw , I ran some tests and no errors found at emsdp, iotdk, nsim_em, nsim_hs.
However there is one error found with both nsim_sem and nsim_sem_mpu_stack_guard while running tests/lib/mem_alloc/libraries.libc.newlib.
Error message:

zephyr/lib/libc/newlib/libc-hooks.c: In function 'malloc_prepare':
zephyr/lib/libc/newlib/libc-hooks.c:54:19: error: implicit declaration of function 'Z_ARC_MPU_SIZE_ALIGN'; did you mean 'Z_ARC_MPU_ALIGN'? [-Werror=implicit-function-declaration]
54 | #define HEAP_BASE Z_ARC_MPU_SIZE_ALIGN(USED_RAM_END_ADDR)
|                   ^~~~~~~~~~~~~~~~~~~~
zephyr/lib/libc/newlib/libc-hooks.c:79:29: note: in expansion of macro 'HEAP_BASE'
79 |  z_malloc_partition.start = HEAP_BASE;
|                             ^~~~~~~~~

(Z_ZRC_MPU_SIZE_ALIGN was previous defined in include/arch/arc/arch.h and is removed in this PR)

@andrewboie @ruuddw , I ran some tests and no errors found at emsdp, iotdk, nsim_em, nsim_hs.
However there is one error found with both nsim_sem and nsim_sem_mpu_stack_guard while running tests/lib/mem_alloc/libraries.libc.newlib.
Error message:

zephyr/lib/libc/newlib/libc-hooks.c: In function 'malloc_prepare':
zephyr/lib/libc/newlib/libc-hooks.c:54:19: error: implicit declaration of function 'Z_ARC_MPU_SIZE_ALIGN'; did you mean 'Z_ARC_MPU_ALIGN'? [-Werror=implicit-function-declaration]
54 | #define HEAP_BASE Z_ARC_MPU_SIZE_ALIGN(USED_RAM_END_ADDR)
|                   ^~~~~~~~~~~~~~~~~~~~
zephyr/lib/libc/newlib/libc-hooks.c:79:29: note: in expansion of macro 'HEAP_BASE'
79 |  z_malloc_partition.start = HEAP_BASE;
|                             ^~~~~~~~~

(Z_ZRC_MPU_SIZE_ALIGN was previous defined in include/arch/arc/arch.h and is removed in this PR)

Confirmed, a recent change to the newlib code introduced this. I wonder how this got past CI, seems we have a testing gap. I pushed a fix and tested locally on the nsim targets, should be good.

@andrewboie @ruuddw , I ran some tests and no errors found at emsdp, iotdk, nsim_em, nsim_hs.
However there is one error found with both nsim_sem and nsim_sem_mpu_stack_guard while running tests/lib/mem_alloc/libraries.libc.newlib.
Error message:

zephyr/lib/libc/newlib/libc-hooks.c: In function 'malloc_prepare':
zephyr/lib/libc/newlib/libc-hooks.c:54:19: error: implicit declaration of function 'Z_ARC_MPU_SIZE_ALIGN'; did you mean 'Z_ARC_MPU_ALIGN'? [-Werror=implicit-function-declaration]
54 | #define HEAP_BASE Z_ARC_MPU_SIZE_ALIGN(USED_RAM_END_ADDR)
|                   ^~~~~~~~~~~~~~~~~~~~
zephyr/lib/libc/newlib/libc-hooks.c:79:29: note: in expansion of macro 'HEAP_BASE'
79 |  z_malloc_partition.start = HEAP_BASE;
|                             ^~~~~~~~~

(Z_ZRC_MPU_SIZE_ALIGN was previous defined in include/arch/arc/arch.h and is removed in this PR)

Confirmed, a recent change to the newlib code introduced this. I wonder how this got past CI, seems we have a testing gap. I pushed a fix and tested locally on the nsim targets, should be good.

How that could be tested by us? I.e. just this PR as it is or there's a dependency on some other change for newlib?

How that could be tested by us? I.e. just this PR as it is or there's a dependency on some other change for newlib?

sanitycheck  -p nsim_sem -p nsim_em -p nsim_sem_mpu_stack_guard -T tests/lib/mem_alloc should do the trick with this PR applied.

@andrewboie, I ran the test on my frdm-k64f board and I'm getting an assert. Haven't had time to debug it yet but this is the message:
START - test_stack_buffer
Reserved space (thread stacks): 32
Reserved space (kernel stacks): 32
CONFIG_ISR_STACK_SIZE 2048
irq stack 0: 0x20001140 size 2080
Provided stack size: 512

testing user_stack
stack may host user thread, size in metadata is 544
Stack object 0x20001cc0[544]
 - Testing supervisor mode
   - Thread reports buffer 0x20001ce0 size 512
   - check read/write to stack buffer
   - Carved-out space in buffer: 0
   - Unused objects space: 0
self-reported unused stack space: 144
target thread unused stack space: 144
 - Testing user mode (direct launch)
   - Thread reports buffer 0x20001ce0 size 512
   - check read/write to stack buffer

    Assertion failed at ../src/main.c:187: stack_buffer_scenarios: (check_perms(stack_start - 1, 1, 0) is false)
user mode access to memory 0x20001cbf before start of stack object
 FAIL - test_stack_buffer
===================================================================
Test suite userspace failed.

@dleach02 thanks for testing, I think we have found an issue with the NXP MPU Implementation which we unfortuantely don't have emulator coverage. This assertion will fail if thread->stack_info is not set to the true bounds of the user stack region, or we have programmed the MPU not to exactly cover it. Suspecting the latter, digging deeper...

@dleach02 thanks for testing, I think we have found an issue with the NXP MPU Implementation which we unfortuantely don't have emulator coverage. This assertion will fail if thread->stack_info is not set to the true bounds of the user stack region, or we have programmed the MPU not to exactly cover it. Suspecting the latter, digging deeper...

The culprit has been identified, and ARM now properly sets the stack MPU region based exactly on what's in thread->stack_info. Passing for me now on frdm_k64f with updated PR.

Updated based on @ioannisg comments.
Also, based on an offline discussion with @dleach02, I've simplified ARM to always have K_THREAD_STACK_RESERVED be 0. It's simpler this way since ARM is unconditionally generating separate privilege stacks.

@andrewboie, I'm still working through the code on the Arm side but you indicate that the Arm is unconditionally creating separate privilege stacks. Does that mean that the image in the /docs of what the memory looks like for guards/privilege stack/user stack is incorrect? I'm thinking it is based on what I've seen being programmed in the NXP MPU.

@andrewboie, I'm still working through the code on the Arm side but you indicate that the Arm is unconditionally creating separate privilege stacks. Does that mean that the image in the /docs of what the memory looks like for guards/privilege stack/user stack is incorrect? I'm thinking it is based on what I've seen being programmed in the NXP MPU.

The doc is a guide to the best known method for configuring this stuff for the different memory management hardware capabilities. It will not be too bad to convert ARM to the desired scheme, it has been done for ARC already, but @ioannisg and I discussed it and we agreed it could be a future fix after this lands, this PR is already very complex.
I wouldn't want to amend the documentation to the current ARM scheme since those docs are for bringing up new arches.

Updated based on @ioannisg comments.
Also, based on an offline discussion with @dleach02, I've simplified ARM to always have K_THREAD_STACK_RESERVED be 0. It's simpler this way since ARM is unconditionally generating separate privilege stacks.

@andrewboie although, I am not against this simplification, I'd like to point out that now K_THREAD_STACK_RESERVED for ARMv8-M, will be 32 when CONFIG_USERSPACE=n and 0 when CONFIG_USERSPACE=y, while the HW does not impose any relevant constraints that justify this difference. This might be confusing for a developer that builds his code with / without USERSPACE enabled and sees different available stack for their supervisor threads (assuming that they use K_THREAD_STACK_DEFINE).
We had always been treating the (CONFIG_USERSPACE && CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT) as the special case.

Updated based on @ioannisg comments.
Also, based on an offline discussion with @dleach02, I've simplified ARM to always have K_THREAD_STACK_RESERVED be 0. It's simpler this way since ARM is unconditionally generating separate privilege stacks.

@andrewboie although, I am not against this simplification, I'd like to point out that now K_THREAD_STACK_RESERVED for ARMv8-M, will be 32 when CONFIG_USERSPACE=n and 0 when CONFIG_USERSPACE=y, while the HW does not impose any relevant constraints that justify this difference. This might be confusing for a developer that builds his code with / without USERSPACE enabled and sees different available stack for their supervisor threads (assuming that they use K_THREAD_STACK_DEFINE).
We had always been treating the (CONFIG_USERSPACE && CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT) as the special case.
If you do this simplification, it means you favor consistency across the different cortex-m variants.
But maybe it is better to favor consistency across building with/without USERSPACE for each cortex-m variant.
In both cases you need to sacrifice something.

I need direction on what we need to do for this PR to get it merged.
If we reserve data, then there is a guard instantiated in two places, with the one in the stack object wasted when we drop to user mode. If we don't, we have the above situation.
The proper fix in my view is to convert ARM to not generate privilege stacks when it shouldn't, which I believe we agreed to do after this PR. If there's something you would like me to do for this PR to ease your concerns please share it.

@andrewboie Does that fixes #26865 ?

@maksimmasalski no it does not but I'll find some time for it this week, easy fix


Fix documentation links

I noticed that there are some broken links in the documentation, so this PR fixes those.
I assume the typo in the file name code-verus-machine-settings.md is intended for backwards compatibility?

thanks

I assume the typo in the file name code-verus-machine-settings.md is intended for backwards compatibility?

lol. nope. i will fix that

Oh, I’m sorry about those generated files. Guess I was totally blind when I fixed those links and didn’t look at the actually pretty visible “DO NOT EDIT” note… 🙈

no worries. it is easy to miss

btw what r u using diffengine for?

I have made my first attempts at snapshot testing with Verify this week and wanted to make sure that I understand the system and its configuration well enough. That’s why I have been following the various links in the documentation.
As for DiffEngine itself, I was actually hoping that there was a way to configure the diff tool using an environment variable since I have Beyond Compare installed in a non-standard location, so it isn’t being picked up. But judging by the code, I think that this wouldn’t be an easy thing to do, so I have accepted VS as the diff tool for now ^^
That aside, my first experience with Verify was really really good! I had previously seen some of your PRs in other projects where you greatly reduced the test complexity by migrating to Verify and have been waiting for a chance to give it a try myself. I really like it so far, so thanks a lot for what you’ve done! 😊

so I have accepted VS as the diff tool for now

thats not ideal. BC is much better. I could add an environment variable perhaps DiffEngine.Tool with the path. so DiffEngine.BeyondCompare.

.

I could add an environment variable perhaps DiffEngine.Tool with the path. so DiffEngine.BeyondCompare

That could work although I would worry that with 23 currently supported tools, this adds a lot of new environment variables to check. Maybe one environment variable for configuring a custom tool would also be good, or maybe even an environment variable that allows you to specify a path to a configuration file that then configures DiffEngine? – That’s one thing I didn’t like about the custom tool configuration, since the active diff tool is rather a machine-local configuration instead of something that should be committed to the source.

are you also using diffenginetray?

I haven’t given that a try yet but will keep it in mind for later!


How do I customize ILogger logs collection? section is not correct

In section "How do I customize ILogger logs collection?"
It is written "It's important to note that the following example doesn't cause the Application Insights provider to capture Information logs" below a code sample that is correctly making Application insights to log information logs.
And, on the other way,  the code sample to enable information log in insights is not correct.
{   "Logging": {     "LogLevel": {       "Default": "Information"     }   } }
This sample is not changing the behavior of app Insights..

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

ID: 4b88d8c4-0013-70aa-7997-a2203afd9743
Version Independent ID: 0ab99d5e-4ebd-8cb9-3d27-efe58def249f
Content: Application Insights for ASP.NET Core applications - Azure Monitor
Content Source: articles/azure-monitor/app/asp-net-core.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @AaronMaxwell
Microsoft Alias: aaronmax

@loic-git - Thanks for your dedication to our documentation. Although this question is beyond the scope of our feedback channel here on GitHub, which covers specific documentation fixes rather than technical support, we can help redirect you to the right support channel to get an answer to your question:
Microsoft Azure Monitor Q&A question page
https://docs.microsoft.com/answers/topics/24223/azure-monitor.html
Create a support ticket
Get support for your Azure services
https://azure.microsoft.com/support/create-ticket/
Coding questions may be posted to Stack Overflow using an azure-application-insights tag.
https://stackoverflow.com/questions/tagged/azure-application-insights
Because this issue requires scoping and follow-up, we are closing this GitHub issue. #please-close


Add a reference to the French translation of the workshop

The link has been changed with https://github.com/openlayers/ol3/commit/ede6fc6e013a3ebf74ad31034dff9161b945be79 as we assumed most readers are speaking English but it completely hides the French version.
This PR adds a sentence for at least mention the availability of the French version of the workshop.

Should we link to the French version here as well in your sentence @ThomasG77 ?
Alternatively I'm okay with reverting my change that you reference.

This PR is about making both translations visible to end users IMO.
Speaking about French users to English speaking people is not the best solution IMO.
It was just a way to adapt to your change.
Reverting would be better if OK for the others contributors.

This pull request does not make much sense the way things are structured now. Reverting is probably the better option for now.

Waiting for  the revert to close the PR.
Thanks @bartvde & @ahocevar for your feedback

Thanks


OSFREGISTRIES, OSFPREPRINTS Error [Cross Domain Environment]

I installed OSF in a server as a cross environment using a reverse proxy.
.docker-compose.env

#WEB_REMOTE_DEBUG=<IP_ADDRESS>:11000
#API_REMOTE_DEBUG=<IP_ADDRESS>:12000
#WORKER_REMOTE_DEBUG=<IP_ADDRESS>:13000

DOMAIN=https://osf.xxxx.jp/
INTERNAL_DOMAIN=https://osf.xxxx.jp/
API_DOMAIN=https://api.osf.xxxx.jp/
ELASTIC_URI=<IP_ADDRESS>:9200
OSF_DB_HOST=<IP_ADDRESS>
DB_HOST=<IP_ADDRESS>
WATERBUTLER_URL=https://files.osf.xxxx.jp/
WATERBUTLER_INTERNAL_URL=https://<IP_ADDRESS>:7777
CAS_SERVER_URL=https://accounts.osf.xxxx.jp
MFR_SERVER_URL=https://mfr.xxxx.jp/
#SHARE_URL=http://<IP_ADDRESS>:8000/
BROKER_URL=amqp://guest:guest@<IP_ADDRESS>:5672/
REDIS_URL=redis://<IP_ADDRESS>:6379/1
EMBER_DOMAIN=ember.osf.xxxx.jp

#PYTHONUNBUFFERED=0 # This when set to 0 will allow print statements to be visible in the Docker logs

So now, almost all environment works good.
However, regarding Emberjs functions still do not work.
My quick files function

Same as the below issue
https://github.com/CenterForOpenScience/osf.io/issues/8460

OSF PREPRINTS

Page is white out with nothing displayed.
Browser outputs some error messages.

Search button don't function

Improper Link
Search button -> http://localhost:5000/registries/discover/  (It should be osf.xxxx.jp/registries/discover)
Sign Up button -> http://localhost:5000/registries/discover/ (it should be http://osf.xxxx.jp/registries/discover/)
etc..

Javascript access to localhost:5000

It should be https://api.osf.xxxx.jp
Above all, I presume the causes are  some container of emberjs environment don't apply several environmental valuables.
Would it be possible to handle these problems?

Did you fix it ? I have same problem.

No, I didn't. I am still surveying the cause.

I haven't tried this myself, but it looks pretty straightforward:

You should be able to set up a custom backend by modifying the ember-osf backends file.

This will likely require pinning preprints, registries, and reviews to a commit of ember-osf  (e.g., changing this line here in preprints) that has your custom backends (it could also be run locally and linked like we do in development, but that doesn't sound like a good idea).

Then, modify the docker-compose file to use your new custom backend for preprints, registries, and reviews.

Let me know if you have any questions, happy to help if I can.

I'm sorry for the late reply.
Thank you very much!
I'll do it!

Did you solve this issue? I am running in similar problem I think, where the api and waterbutler services give a 401, not authorized on localhost. If I create a local domain in '/etc/hoststhe response is ok, but setting this domain inwebsite/settings/local.pyor.docker-compose.env` it does not have any effect.


Optional/feature: add all templates from demo admin-lte

Idea: class exercici with pull request (one template by alumni and merge all with push requests).
TODO: Ho to do it optional?

Related: https://github.com/acacha/adminlte-laravel/issues/30

Idea? git branch?
Ummm all demo is not installed only Login/Register/Remember password page and basic home page.
Maybe in future I will add this but my idea is like something optional, maybe a branch in git:
$ git checkout demo
See what you need in the demo then come back to your app with
$ git checkout master
Because normally you are not interested in mixing your app and demo.


Dr.Elephant logs purge

Hi Team,
I have a few issues with Dr.Elephant.

Daily we are executing many jobs, because of that so much of data is inserting into the MySQL, because of memory issue we need to delete the data from the MySQL. We are doing this process in a manual way, is there any way to delete the data automatically through the Dr.Elephant configurations to avoid the manual process.

If the code got updated, apart from github where it is updated, and does it have any versions.

The application suspended suddenly, again we have restarted. Help me on this, awaiting for your response.

08-01-2016 17:17:31 INFO  com.linkedin.drelephant.analysis.AnalyticJobGeneratorHadoop2 : Fetching recent finished application runs between last time:<PHONE_NUMBER>660, and current time:<PHONE_NUMBER>679
08-01-2016 17:17:31 INFO  com.linkedin.drelephant.analysis.AnalyticJobGeneratorHadoop2 : The succeeded apps URL is http://blpd586.bhdc.att.com:8088/ws/v1/cluster/apps?finalStatus=SUCCEEDED&finishedTimeBegin=1470088831660&finishedTimeEnd=1470089791679
08-01-2016 17:17:31 ERROR com.linkedin.drelephant.ElephantRunner : Error fetching job list. Try again later...
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:850)
at org.apache.hadoop.security.authentication.client.KerberosAuthenticator.authenticate(KerberosAuthenticator.java:190)
at org.apache.hadoop.security.authentication.client.AuthenticatedURL.openConnection(AuthenticatedURL.java:215)
at com.linkedin.drelephant.analysis.AnalyticJobGeneratorHadoop2.readJsonNode(AnalyticJobGeneratorHadoop2.java:189)
at com.linkedin.drelephant.analysis.AnalyticJobGeneratorHadoop2.readApps(AnalyticJobGeneratorHadoop2.java:204)
at com.linkedin.drelephant.analysis.AnalyticJobGeneratorHadoop2.fetchAnalyticJobs(AnalyticJobGeneratorHadoop2.java:142)
at com.linkedin.drelephant.ElephantRunner$1.run(ElephantRunner.java:109)
at com.linkedin.drelephant.ElephantRunner$1.run(ElephantRunner.java:79)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1637)
at com.linkedin.drelephant.security.HadoopSecurity.doAs(HadoopSecurity.java:99)
at com.linkedin.drelephant.ElephantRunner.run(ElephantRunner.java:79)
at com.linkedin.drelephant.DrElephant.run(DrElephant.java:34)
Regards
Shyam

Discussed in the Mailing list.


Dev corner: toolshed slides

Hi Björn,
We have re-built the entire Tool Shed course for the french version of the G4B (currently ongoing).
We've made the course so that it fits the new training repository you're managing.
Hope this will be of any help!

@slegras I didn't know that anyone has such material. This is awesome! Thanks. Can you please rebase, I can not merge it yet.

@slegras I have added general questions, objectives and key points. And added you and me as contributors.

The new link that I have added in the Dev-Corner/readme.md file pointing to the new Tool Shed slides  fails, but will fail until the branch has been merged to master : http://bgruening.github.io/training-material/Dev-Corner/slides/toolshed.html
Do I remove this link or not ?

@loraine-gueguen sorry for missing this. Do you need any help here?

Not your fault, this branch is old: it was created before the change of path for reveal.js, and I missed it when I merged it with master 10 days ago.

@bgruening It should be fine now for the paths (reveal.js, css...). What should I do for the link in  Dev-Corner/readme.md ? See comment above.

Great work! Thanks.


Add "blog-template" (can be other name) to our /examples folder

Acceptance

[ ] new example project in /examples folder, named e.g. blog-template

[ ] has /content/blog folder with a few example blog posts
[ ] has a getter in /content/getters (for now let's put it here as for all the other projects, but see my comment here https://github.com/flowershow/flowershow/issues/325#issuecomment-1427934734)
[ ] has basic config in content/config.js
[ ] has /content/blog/index.md page with a list of all blog posts (using our BlogsList component)
[ ] has comments enabled for blog pages (with info in README about required env variables)
[ ] has README file with some info about what this template includes
...

[ ] update our tutorial (#396) accordingly
...

@rufuspollock what do you think?


Fixed issue where it appeared that goblin would not attack

This was caused by the defender not receiving notifications on any misses, blocks or parries when attacked.

That makes sense, nice one thanks. 😃


Document the difference between index.js and ember-cli-build.js in an Addon

I recently got a question in the Ember Community Discord:

can someone explain to me what the difference between index.js and ember-cli-build.js in an addon is?

And here was my answer:

the index.js is the "entry point" for your addon and is where you add hooks if you're doing something intermediate or advanced with your addon. the ember-cli-build.js inside your addon is only used to build the dummy app when developing it locally and has no influence on what happens to the consuming app

It seems to me that as we have been training people that the ember-cli-build.js is the "entry point" to an Ember App it is likely that we will confuse people when they look at an addon. I assume we might be able to add a note to https://cli.emberjs.com/release/writing-addons/#addonfilestructure or somewhere that is explicit about the difference?

@mansona I can do this; but beforehand, the ember-cli-build.js file for an addon contains the comment:
/*
   This build file specifies the options for the dummy test app of this
   addon, located in `/tests/dummy`
   This build file does *not* influence how the addon or the app using it
   behave. You most likely want to be modifying `./index.js` or app's build file
 */

Can you clarify the meaning of app's build file?  Is this the ember-cli-build.js  file for the consuming application of the addon?


Expand micrometer test coverage

The following scenarios from the documentation are not covered in Camel Quarkus:

message headers (just increment/decrement for counter and start/stop for timer)
event notification - cover dump to json
if possible cover instrumenting thread pool
exposing to JMX (JVM only)

Because micrometer extension leverages quarkus extension (see the documentaion) it would be nice to cover major features - it is optional.

try MeterFilter
annotations
customized meterRegistry
microprofile metrics API
review gauge metrics coverage

Thanks @llowinge for the information. I reported those problems in its own ticket https://github.com/apache/camel-quarkus/issues/4598 and will look at it.

@llowinge I found a reason of different behavior in Quarkus and reported a ticket there - https://github.com/quarkusio/quarkus/issues/31433

Test coverage revealed missing feature instrumenting core thread pool. Reported as https://github.com/apache/camel-quarkus/issues/4934.

Is there anyhing more to do here @JiriOndrusek. Can't we perhaps close this issue?

There will be another PR covering the missing parts. Here is my WIP https://github.com/apache/camel-quarkus/compare/main...JiriOndrusek:CQ4582-expand-micrometer-coverage?expand=1
I hope to finish it this week or the next one.


SVG attribute directive with replace:false does not include template in Internet Explorer

I am writing some SVG directives that should insert svg templates. Since replace is marked as deprecated I try to use an attribute directive on a g element like here: http://stackoverflow.com/a/28281587/498298
angular.module('app', []).directive('myRect', function() {
  return {
    restrict: 'A',
    templateNamespace: 'svg',
    template: '<rect x="20" y="20" width="100" height="50" fill="blue" />'
  };
})

It works in Chrome, but in IE11 the <g my-rect></g> is empty.
I'm not sure if I'm right, but I think the problem is in  $compileNode.html(directiveValue); which sets innerHTML even for SVG templates. While supported in Chrome, IE seems not to support innerHTML for SVGElements.
I can fix the problem by using the same code as for replace:true case:
https://github.com/hansmaad/angular.js/commit/2488eed8d9c1324148d271b841af96074e161bfe

For performance reasons, you should probably add a conditional to check whether the browser is IE or not - the current change would penalize the other browsers' performance, so it would be important to have it execute only for IE.
I would say it is worth opening a pull request.

Unfortunately, the grunt tasks don't run well on my Win7 machine in the office, so I can't add and run tests for this. Even npm install fails with cb() never called!. I dunno if I manage to get time to work on this at home.

Unfortunately, the grunt tasks don't run well on my Win7 machine in the office, so I can't add and run test for this. Even npm install fails with cb() never called!. I dunno if I manage to get time to work on this at home...

This is actually broken in IE9 through IE11, but might work if an innerHTML polyfill is used (such as https://github.com/dnozay/innersvg-polyfill)

I'm having the same problem with <g ng-view=""/> not working at all in Internet Explorer, but in all other browsers. An <g ng-include="'…'"/> does work, though.
Using the mentioned polyfill fixes this.


Error in installation of vision

hello dear,
Is it possible to install STONNE on ubuntu18.04? which OS is recommended?
when I wanted to install vision this error was occured( i have attached it).
How I can solve this problem,please help
[](url
error.docx
)

Hi,
I had a same issue, a simple workaround I used was to install vision using below command:
pip install vision --no-deps
This won't cause any problems to installed stonne torch


Update a trained auto-encoder model with new data

Hello Jonathan
I am Ali a PhD student in University of Tokyo.
Thank you so much for your gear code in Cortexsys project. I want to use your code in my research. And I have a question:
I want to update the trained auto-encoder model with new data. How I can do that in your code?
Can I do that with set the initial weights and biases as the weights and biases that I got from my trained model?
I really appreciate your help.
Regards,
Ali

To do this, simply save nn.W and nn.b. Then, you can load these into some new nnLayers object either when you create it, or afterward.


customisable computeTimeout

Hi guys; love the library, however, I was wondering if you would be open to a PR that enables us to roll our own computeTimeout Logic, I know I can override the function, but its marked as private so I would prefer a sanctioned path.

So far I have been getting around it by defining a transition on some bogus property at the parent element level. It would be cool to be able to write your own logic that computes timeout based on child elements etc.

Idea: use timeout properties to instead of computeTimeout if they're available.
The transition function should accept a timeout value. If it is undefined, we fallback to compute timeout.
Timeouts:

enterTimeout would be used for animating the component insertion
leaveTimeout  would be used for animating the component destroy
for animating class add/removal, we could extend the scheme we're using, e.g transitionClassNameBindings: ['isOpen::300', 'pinned:is-pinned:450']

We would essentially do this to extract the timeout in the _setupTriggerObservers function:
let [propName, className, timeout] = classExp.split(':');

This approach is basically how react does.
Would this solve your problem and would you be willing to PR such a functionality?

Nice ideas! Looks pretty similar to react, I like the transitionClassNameBindings syntax also.
I would be willing to PR a proposal, possibly in the coming week(s), getting close to launching the product I'm working on at the moment so all effort is focused on that. Doesn't seem like it would be too difficult to implement.

One last detail, enterTimeout and leaveTimeout could default to the same value as a third property, since they have very frequently the same value:
enterTimeout: computed.reads('transitionTimeout'),
leaveTimeout: computed.reads('transitionTimeout'),

This way the user could override them or use the general property. The rest of the Mixin code would be agnostic of this defaulting behaviour and would just use the properties directly.

still alive, but still swamped with work 😔

i have this is issue
in Tailwind 2.0
{{#if this.account.openMobileMenu}}

..................
animation work only enter, but leave dont work . Parent div deleted toggle by this.account.openMobileMenu

`{{#if this.account.openMobileMenu}}

`

Hey @eduscrakozabrus
If you are able to provide more complete code example (full templates of child and parent). I can try provide a better answer than the following.
Perhaps this might be of use to you.
https://github.com/peec/ember-css-transitions/issues/48
Or perhaps, do you need the transition-opacity class on the leaveActiveClass arg?

This is work solution!
`{{#if this.account.openMobileMenu}}
{{did-insert this.showChild this.account.openMobileMenu}}
{{did-update this.showChild this.account.openMobileMenu}}
class='lg:hidden'>

{{#if this.isShowChild}}

  {{/if}}

  {{#if this.isShowChild}}

      <button
        onclick={{action 'hideChild'}}
        class='flex items-center justify-center h-12 w-12 rounded-full focus:outline-none focus:bg-gray-600'
        aria-label='Close sidebar'
      >
        <svg
          class='h-6 w-6 text-white'
          stroke='currentColor'
          fill='none'
          viewBox='0 0 24 24'
        >
          <path
            stroke-linecap='round'
            stroke-linejoin='round'
            stroke-width='2'
            d='M6 18L18 6M6 6l12 12'
          ></path>
        </svg>
      </button>

          {{#each (sort-by 'order' this.menuItems) as |menu|}}
            <LinkTo
              @route={{menu.route}}
              class={{
                if
                (is-equal
                  this.router.currentRouteName (concat menu.route '.index')
                )
                'group flex items-center px-2 py-2 text-sm leading-5 font-medium rounded-md text-gray-900 bg-gray-200 focus:outline-none focus:bg-gray-50 transition ease-in-out duration-150 dark:text-gray-300 dark:bg-gray-700  dark:focus:bg-gray-600 '
                'group flex items-center px-2 py-2 text-sm leading-5 font-medium rounded-md text-gray-800 hover:text-gray-600 hover:bg-gray-50 focus:outline-none focus:bg-gray-50 transition ease-in-out duration-150 dark:text-gray-300 dark:bg-gray-700  dark:focus:bg-gray-600 dark:hover:text-gray-300'
              }}
              role='menuitem'
            >
              {{html-safe menu.iconHtml}}
              {{t menu.translate}}
            </LinkTo>

            {{#if
              (or
                (eq
                  this.router.currentRoute.name (concat menu.route '.index')
                )
                (eq this.router.currentRoute.parent.name menu.route)
                (eq this.router.currentRoute.parent.parent.name menu.route)
              )
            }}
              <Menu::SubMenu::Desktop @parent={{menu.id}} />
            {{/if}}
          {{/each}}

        <Menu::Teams::Desktop />

  {{/if}}

{{/if}}`
`import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { computed, observer, action } from "@ember/object";
import { tracked } from '@glimmer/tracking';
export default class MenuMainMobileComponent extends Component {
@service store;
@service  router
@service  account;
@tracked  isShowChild = false
@action
showChild() {
    this.isShowChild = true
}

@action
hideChild() {
    this.isShowChild = false
    setTimeout(()=> this.account.openMobileMenu = false,500)

}

@computed("menu.length")
get menuItems() {
    return this.menu.filter(action => true)
}

get menu() {
    return this.store.peekAll('menu')
}

}
`


Performance regression in jit compilation time from (jax=0.2.21, jaxlib=0.1.71+cuda102) to (jax=0.3.0, jaxlib=0.3.0)

Thanks for the excellent library!
On upgrading from jax=0.2.21, jaxlib=0.1.71+cuda102 to jax=0.3.0, jaxlib=0.3.0, I am experiencing extreme performance regression with jit compilation times for my typical workload.  Here is an as-minimal-as-I-can-make-it code that illustrates the problem:
import jax
import jaxlib
from jax import jit, vmap, grad
from functools import partial
import jax.numpy as jnp
import numpy as onp
from time import time

jax.config.update('jax_enable_x64', True)  # allows use of float64

@jit
def fft_correlation(s, t):
    return jnp.fft.irfft2(jnp.fft.rfft2(s) * jnp.conj(jnp.fft.rfft2(t)))

@jit
def cosine_correlation(s, t):
    eps = 1e-6
    os = jnp.where(s == 0, 0.0, 1.0)
    ot = jnp.where(t == 0, 0.0, 1.0)

    overlap = fft_correlation(os, ot)

    num = fft_correlation(s, t)

    d1 = fft_correlation(s * s, ot)
    d2 = fft_correlation(os, t * t)

    coscor = num / (jnp.sqrt(d1 * d2) + eps)
    return coscor, overlap

@partial(jit, static_argnums=(2, 3))
def normalized_cross_correlation(im1, im2, min_overlap_frac=0.1, border_discard=10):

    tot_size = (onp.array(im1.shape)[-2:] + im2.shape[-2:]) - (
        border_discard,
        border_discard,
    )

    (p1r, p1c), (p2r, p2c) = tot_size - im1.shape[-2:], tot_size - im2.shape[-2:]

    mask1 = im1 != 0
    mask2 = im2 != 0

    im1 = jnp.pad(
        im1 - mask1.astype(im1.dtype) * (im1.sum() / mask1.sum()),
        ([p1r // 2, (p1r + 1) // 2], [p1c // 2, (p1c + 1) // 2]),
    )
    im2 = jnp.pad(
        im2 - mask2.astype(im2.dtype) * (im2.sum() / mask2.sum()),
        ([p2r // 2, (p2r + 1) // 2], [p2c // 2, (p2c + 1) // 2]),
    )

    num_nz_1 = mask1.sum()
    num_nz_2 = mask2.sum()

    min_pixels_overlap = jnp.where(
        num_nz_1 < num_nz_2, min_overlap_frac * num_nz_1, min_overlap_frac * num_nz_2
    )

    cc, overlap = cosine_correlation(im1, im2)

    cc = jnp.fft.fftshift(cc * (overlap > min_pixels_overlap))[
        border_discard + 1 : cc.shape[-2] - border_discard,
        border_discard + 1 : cc.shape[-1] - border_discard,
    ]

    return cc

ncc = jax.jit(
    jax.vmap(lambda s, t: normalized_cross_correlation(s, t, 0.1, 10), in_axes=(0, 0))
)

print(f'{jax.devices()[0].device_kind=}')

print(f'{jax.__version__, jaxlib.__version__=}')

s = jnp.ones((256, 512, 512))
t = jnp.ones((256, 512, 512))

start = time()
warmup = ncc(s, t).block_until_ready()
print(f'cold start duration = {time()-start:.2f} s')

start = time()
for i in range(10):
    results = ncc(s, t).block_until_ready()
print(f'mean jitted duration (10 runs)= {(time()-start)/10:.2f} s')

The outputs with the previous and new versions of jax and jaxlib are as follows:
#  OLD
jax.devices()[0].device_kind='Tesla V100-DGXS-32GB'
jax.__version__, jaxlib.__version__=('0.2.21', '0.1.71')
cold start duration = 1.61 s
mean jitted duration (10 runs)= 0.56 s

#  NEW
jax.devices()[0].device_kind='Tesla V100-DGXS-32GB'
jax.__version__, jaxlib.__version__=('0.3.0', '0.3.0')
cold start duration = 36.45 s
mean jitted duration (10 runs)= 0.50 s

Note that the time for the jit compilation is about 20x slower now.
Also, while this particular example has about 10% faster jitted speed in the latest jax+jaxlib, my experience since upgrading is that for most of my daily workflow (image processing on massive multimodal images in the Rijksmuseum),  the post-compilation execution time of similar jitted functions is about twice as long as it was with the older version too (I'll file another bug if appropriate).  I'm using image tiles that have (literal) edge cases for their sizes, so the change from a couple seconds to 36 seconds for jit compilation time has a huge overall impact.
If this new behavior is not considered a bug, are there configuration settings that I can use to get back the old behavior?
Many thanks in advance!

Additional info, in case it's relevant:
$ uname -a
Linux DGXSTATION 5.4.0-99-generic #112-Ubuntu SMP Thu Feb 3 13:50:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Oct_11_21:27:02_PDT_2021
Cuda compilation tools, release 11.4, V11.4.152
Build cuda_11.4.r11.4/compiler.30521435_0

$ egrep 'MAJOR|MINOR|PATCHLEVEL' /usr/include/cudnn_version.h
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 2
#define CUDNN_PATCHLEVEL 4
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

The compilation overhead is due to an inefficiency in a new lowering path. Try setting JAX_ENABLE_MLIR=0 as a workaround until we can release a new jaxlib with a fix.

Thanks for the very fast reply.  Your workaround did the trick:
jax.devices()[0].device_kind='Tesla V100-DGXS-32GB'
jax.__version__, jaxlib.__version__=('0.3.0', '0.3.0')
cold start duration = 1.47 s
mean jitted duration (10 runs)= 0.50 s

Shall I leave this open until the aforementioned fix?

Yes, let's leave this open until the fix is ready to go.

https://github.com/tensorflow/tensorflow/commit/ffb2efdbea1cf401aac0d58a9dc764cd0cb0b072 fixes this, and it will be incorporated into JAX whenever we next make a jaxlib release.


I created a repo based on your project and their 'clean' template.

I was able to glean a bunch of info from your project, and was able to actually end up making a markdown version of phpDocumentor's  Clean template which seems to work pretty well.
fr3nch13/phpdoc-markdown

@devcorrelator Looks nice (the code I mean). Do you have an example of the result anywhere public?
Btw, you don't have to add those a-tags for anchor links (at least for GitHub, don't know about other markdown html parsers, but at least in GH they add anchor links automatically to all headings).

@cvuorinen Thanks! I don't anywhere in the public space, but I'm using it for a massive project I'm working on internally.
I wasn't sure about the anchor tags, so I kept them in there. I use gitlab-ce internally, and wanted to make sure it worked correctly with it.


Feature Request: Pre-route hook

Unless I've missed the ability, it would be convenient to have a pre-route hook for individual routes and for all routes.
If possible.

This is coming in 2.0!

Kinda off-topic but can Filter be used for route guarding?

Yep! That's the intention. A Filter can either proceed, stop or error. So, if you wanted to do an auth guard you can "stop" and return the widget asking you to log in.

Is there a time line for this?

When will fluro 2.0 come? we also need the feather, thx bro~

Duplicate of https://github.com/lukepighetti/fluro/issues/112


Kibana Simple Guide

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

Expected Behaviour

Display how much time users wasted labeling segmentation masks.
Current Behaviour

Nothing :(
Context

I followed the steps on analytics inclusion with CVAT through Kibana and I would visualize how much time spent users labeling, how much per image and so on but I don't know how to do it. As you included this tool maybe could share more info about his simple usage like these queries. I found past issues but without responses, could you help me, please?

Operating System and version (e.g. Linux, Windows, MacOS):
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Logs from `cvat` container

Next steps
You may join our Gitter channel for community support.

Hi, thanks for the question, in general Kibana is very limited for such calculations (https://github.com/elastic/kibana/issues/4707), I think we will improve the analytics component in the future.

Hi, thanks for the question, in general Kibana is very limited for such calculations (https://github.com/elastic/kibana/issues/4707), I think we will improve the analytics component in the future.


Please correct the name of the DMV

In the Tip for "Prerequisites and restrictions", the text refers to the DMV "sys.dm_hadr_database_cluster_states" when in fact the correct DMV name is "sys.dm_hadr_database_replica_cluster_states".

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

ID: e33fa363-855a-a15d-f692-1b841363cc9f
Version Independent ID: 9827e246-51df-6b3d-f21d-69c36b349860
Content: Perform a planned manual failover of an availability group - SQL Server Always On
Content Source: docs/database-engine/availability-groups/windows/perform-a-planned-manual-failover-of-an-availability-group-sql-server.md
Product: sql
Technology: high-availability
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@gmafodda Thank you for the feedback.
The documentation has been updated and is pending review.


How can i train my dataset

There are multiple feature inputs ，and i want to  get a single forecast output. How should I modify the code to set the train_y?

Firstly, ensure that you are using the PyTorch code. The TensorFlow code does not support multiple input features; it only supports univariate input sequences.
When initialising the model, input_dim is the number of features in the input, output_dim is the number of features in the output, in_seq_length is the length of the input sequence, and out_seq_length is the length of the output sequence (number of forecast steps).
Format your data into the shape:
train_x: [in_seq_length, n_batches, input_dim]
train_y: [out_seq_length, n_batches, output_dim]
Train your model using the train function in train.py. Please refer to the documentation provided with each class and method for further details.

Thank you very much.I will try it!

Firstly, ensure that you are using the PyTorch code. The TensorFlow code does not support multiple input features; it only supports univariate input sequences.
When initialising the model, input_dim is the number of features in the input, output_dim is the number of features in the output, in_seq_length is the length of the input sequence, and out_seq_length is the length of the output sequence (number of forecast steps).
Format your data into the shape:
train_x: [in_seq_length, n_batches, input_dim]
train_y: [out_seq_length, n_batches, output_dim]
Train your model using the train function in train.py. Please refer to the documentation provided with each class and method for further details.

Thanks for your reply.I have formated my data and trained it succesfully.However,it do not perform well .May the form of  inputing data is wrong.
trainx:[in_seq_length, n_batches, input_dim]
Suppose I have 2000 data.Each time I input 100 to forecast 100 data .the number of features in the input is 8.
So, in_seq_length=100
n_batches=2000
input_dim=8
Is it right?
Thanks very much.


Farenheit?

What is the process for converting the temperatures to Farenheit? It looks like the python scripts and a php script have to be edited?

Hi @druw900,
I added the possibility to use Fahrenheit instead of Celsius unit.
Only change the units value to F in settings.ini conf file to apply the change.
Thanks,
Guillaume


Vite support

Is this supported in vite? Getting undefined Temporal and ect. Importing global.

@JonathonRP, do you have a "main" file that initializes the root component? The 'temporal-polyfill/global' import should go at the top of that file. I bet your error is occurring because the temporal import is occurring after some top-level code that uses it.

I'm using vite and sveltekit. My main top level is vite.config.ts and I tried importing from there global but that did not work and have been trying various other methods to populate vites define/vite.esbuild define also

also noticed it uses globalThis which does that work in node?
@arshaw

globalThis works since Node 12.
vite.config.ts is the wrong place to import the polyfill as its a config file and does not run within the browser.


server: Avoid warning, when running bluebird.

Bluebird currently complains since version 2.0.3 with the following warning:

Warning: a promise was created in a handler at [...]/node_modules/karma/lib/server.js:123:24 but was not returned from it, see http://goo.gl/rRqMUw

Returning the passed in promise result resolves the issue.

I don't see a good way to add a test, that will fail if bluebird prints out a warning. If I'm not mistaken, Bluebird will only print this message, if warnings is set to true (it's false by default) or if it somehow detects a development environment (see http://bluebirdjs.com/docs/api/promise.config.html).
You can see the warning for yourself, if you execute all tests like this:
NODE_ENV=development yarn test

The page you link shows how to configure bluebird to print warnings.  So a test could:

Added a simple plugin that configured bluebird,
ran a simple karma test, and
exits with code 1 if warnings or errors resulted.

This way we not only solve the warning you have but prevent them in future.
In any case, the commit description fails in travis see
http://karma-runner.github.io/2.0/dev/git-commit-msg.html

Seems to be obsolete with version 4.0.0.


Send Proxy-Connection: close on unauthorized response

Hi!
Currently goproxy doesn't send any Proxy-Connection header in a HTTP 407 response, and the default HTTP/1.1 behaviour is to keep the connection alive in that case.
However goproxy closes the connection, which breaks clients that expect to see a 407 response in order to negotiate the kind of HTTP authorization to send (Basic, NTLM, Digest), and then send a second request with proper Proxy-Authorization, because they expect the socket to be kept alive (as no Proxy-Connection: close is set, it's the default) and end up trying to write on a closed socket.
This fix adds the Proxy-Connection: close to 407 responses, however I'm not sure if it's the right place to put it.
Also I'm thinking ideally we would actually keep the socket alive but I'm not sure how hard that would be to implement.
Any thoughts?
Thanks!

Many thanks, and apologies for not having enough time to look at it.
About the sockets, they're implementation detail of the HTTP transport, so I'm not sure much can be done here.


Add Support for Auto Updates

Tailscale now supports auto updates.
This feature was made GA on Feb 14 (https://tailscale.com/changelog#2024-02-14). It was first introduced, in beta, on Oct 30, 2023 in v1.52.0 (https://tailscale.com/changelog#2023-10-30)
To enable auto updates, run tailscale set --auto-update=true. Here's an example in ansible
- name: Enable auto updates.
  command: tailscale set --auto-update=true
  changed_when: false

To disable auto updates, run tailscale set --auto-update=false. Here's an example in ansible
- name: Disable auto updates.
  command: tailscale set --auto-update=false
  changed_when: false

You can also run a one-off command like so
ansible cluster --module-name ansible.builtin.command --args='tailscale set --auto-update=false' --one-line

Perhaps tailscale status --json will show the current value?
See https://tailscale.com/kb/1067/update?tab=linux for more info.
What would be nice is if there was a way to configure this in a native ansible manner. So maybe,
tailscale_auto_update_enabled: false

Which means, by default leave it as disabled. To enable, set the variable to true.

I've been thinking about this more and this might not be a good feature to implement.
tailscale set has a lot things you can set (https://tailscale.com/kb/1080/cli#set). So I'm not sure if the best approach is to have a variable per thing I want to set, so for auto updates, it's
tailscale_auto_update_enabled: false


Open grammar files

After the "Export textX files  #14" feature is done, create a comboBox element on the GUI window that will contain exported textX files and on selecting one of them it will open it.

This function is unnecessary and does not bring any value, therefore it won't be implemented.


stack 2.1 support

I'm aware this project is not maintained anymore nor is my branch in a merge-worthy state I feel but opening a PR in case anyone else finds this work useful.
I never really worked with stack beyond simple CLI usage so that's probably very much reflected in the code. And the approach taken here is very much brute-force rather than principled and that shows too :-).
This is not tested very extensively at all.

https://github.com/nh2/stack2nix/pull/1


Curly apostrophes not consistent

It appears that source like this:
   a <a>Document<a>'s title

will have its apostrophe curlified, like this:

a Document’s title

while this source:
   a [=Document=]'s title

will retain its sad, uncurlified single-quote:

a Document's title

Is this intentional, or a bug in the parser?

Bug in the parser, but it's fixed in the upcoming parser rewrite I'll be merging into main after I get back from vacation. 😃


Charts[Network Node]: Update the Open Collector config map and configuration file to support Helm template substitutions

User Story
As a FullStack developer,
I must

be able to inject template variables into the Open Telemetry configuration file.

So that

Metrics, logs, traces, and other forms of telemetry may be augmented with additional label/value pairs sourced from the values supplied to the Helm chart during installation.

Requested Changes

Update the Open Telemetry config map object to execute the Helm built-in tpl method against the sourced configuration file content.

:tada: This issue has been resolved in version 0.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


torchdata not compatible with torch 2.3.0

🐛 Describe the bug
Describe the bug
torchdata does not work with torch 2.3.0 because DILL_AVAILABLE is not available where expected:
Python 3.12.2 (main, Feb  6 2024, 20:19:44) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import torchdata
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/private/tmp/test/lib/python3.12/site-packages/torchdata/__init__.py", line 9, in <module>
    from . import datapipes
  File "/private/tmp/test/lib/python3.12/site-packages/torchdata/datapipes/__init__.py", line 9, in <module>
    from . import iter, map, utils
  File "/private/tmp/test/lib/python3.12/site-packages/torchdata/datapipes/iter/__init__.py", line 79, in <module>
    from torchdata.datapipes.iter.util.cacheholder import (
  File "/private/tmp/test/lib/python3.12/site-packages/torchdata/datapipes/iter/util/cacheholder.py", line 24, in <module>
    from torch.utils.data.datapipes.utils.common import _check_unpickable_fn, DILL_AVAILABLE
ImportError: cannot import name 'DILL_AVAILABLE' from 'torch.utils.data.datapipes.utils.common' (/private/tmp/test/lib/python3.12/site-packages/torch/utils/data/datapipes/utils/common.py)
>>>

This was fixed in https://github.com/pytorch/pytorch/pull/122616 but the fix did not make it into the torch 2.3.0 release
https://github.com/pytorch/pytorch/blob/v2.3.0/torch/utils/data/datapipes/utils/common.py
I would assume 2.3.1 will be ok because the fix is in main. For now though, a clean install of torchdata is broken.
I would recommend adding a torch>=2,!=2.3.0 to setup.py
To Reproduce
pip install torchdata
import torchdata
Expected behavior
successful import
Environment
fresh install
Versions
Collecting environment information...
PyTorch version: 2.3.0
Is debug build: False
CUDA used to build PyTorch: None
ROCM used to build PyTorch: N/A
OS: macOS 14.4.1 (arm64)
GCC version: Could not collect
Clang version: 15.0.0 (clang-15<IP_ADDRESS>)
CMake version: version 3.27.1
Libc version: N/A
Python version: 3.12.2 (main, Feb  6 2024, 20:19:44) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)] (64-bit runtime)
Python platform: macOS-14.4.1-arm64-arm-64bit
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Apple M1 Max
Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] torch==2.3.0
[pip3] torchdata==0.7.1
[conda] Could not collect

I encountered the same issue. Is there any ETA to merge the fix into torch 2.3?

We'd also need this as soon as feasible for rolling out pytorch 2.3 support in conda-forge.

This is duplicate of https://github.com/pytorch/pytorch/issues/124907


Poison Message detection for the async projections

Breaking out of #1708. Go beyond simple error detection. If we can detect that a certain event is failing repeatedly, skip that event in the async daemon.

@oskardudycz @babuannamalai I did some preliminary work on this today while not paying attention in hours upon hours of Zoom meetings. I've got it to the point where we can detect that a specific event could not be applied, but not because of any kind of postgresql/marten error that could be considered to be ephemeral. Fine, that's easy enough.
Next is what do we do about it? I want to say that we log everything regardless, so true production monitoring could be done w/ tools like Splunk w/o doing anything from the Marten side. Then we allow users to say either:

Stop the line, don't do anything else with this particular projection until the app is explicitly re-started.
Skip this event. In this case we'd effectively restart the projection at its last known "good" point, but this time we'd have it ignore the bad event and continue processing.

My question to y'all is do we do anything more or better than 1. or 2.? It's easy to make that user configurable, but it's pretty heavyweight. The performance would go all to hell if the poison event failures were common, but maybe that's just a matter of making the projections more testable?

@jeremydmiller I think that we should include some retry policy (e.g. how many time an event will be retried before dropping it - e.g. Kafka has such a setting). It would be good to have a "Dead/Poison Letter Queue" - so store such event in some separate table or keep the reference to the poison messages (e.g. sequence ids). It'd be good also to give users an option if projection should be stopped or continued for such a case.
From my experience, people usually are dropping such events to DLQ and define notifications around that. Then they typically ignore those notifications... ;)
I'm okay with both 1 or 2 in the first version. We can take what's more straightforward, gather the feedback and, based on that, extend it in the next version (if needed).

@oskardudycz I'm pretty close on this one, but it's taken a lot of refactoring and reconsidering the async daemon internals to get here first. I think everything you suggested is pretty easy to do. Look for this maybe by Monday.

I like the idea of a poison queue that users can optionally configure.  Previously I've seen a custom ES system round robin between processing queued messages, a poison queue and out-boxing.  The poison queue also contained a flag to notify to the process if the queue needed to be processed or ignored.  This solution was obvious tailored to the needs of the devs at the time, but hopefully gives some ideas.


Force invoice relations

I found a potential issue happening if you have trouble enhancing the Invoice entity, the billingData and shopBillingData could become null because doctrine could lost the cascade all in some particular entity override cases.
This PR add nullable false to those relations to avoid getting null value in the database.
I also remove the tests/Application/src/Migrations/Version*.php because they are no longer required thanks to doctrine migration update.

I had the same issue. After overriding the invoice entity, my billing data and shop billing data were null.
ow did you deal with that ?
Only solution i found was to create setters in my custom entity than set them in a listener (that i use to set the new field i created on my custom invoice entity)

Hey @Prometee, can you give some more hints when this error occurs? All three relations are set through constructor, so I would expect them to not be nullable

Hi @lchrusciel, this was post a while ago, maybe it has been fixed now.
I'll refresh my memory about it and get back to you with the exact issue I had.

I'm closing the PR as there has been no answer with the exact issue for about a year. However, feel free to reopen it if it is still valid, probably with the newly created migration 🖖🏻


Interactives UX: Finalize draggable ordering

Finalize UX of draggable ordering

@AndrewJakubowicz another good catch, fixed

Reviewed with Andrew IRL


Update config.yml for correct image srcset

Description
Update config.yml for the correct image srcset. @Sakshamgupta90 added direct ref to the images without uploading them to the repo. This PR corrects that thing.
This PR fixes #109
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Excellent


Improve word wrapping for comments.

This has already been mentioned by e-mail, but I figured I will post it here too so that its easier to track.
The comments in MO observations have poor wrapping for any "words" that are longer than the width of the page. This occurs often when phylogenetic sequences are posted in the comments section causing them to be much longer than the width of the observation page and rather annoying to highlight for copying.
Here are some observations with examples.
http://mushroomobserver.org/209052
http://mushroomobserver.org/203511

Also when including large images in the comments such as phylogenetic trees, they obscure parts of the page including the images.    Maybe set a max number of pixels for off-site images?

@orbea:  @pellaea just merged a commit which fixes word-wrapping.  You should see this next time an update is deployed.
We aren't using GitHub Issues as an issue tracker, so it can be easy to lose sight of things which are posted there.  Best to post to the Google MO-Developers list, https://groups.google.com/forum/#!forum/mo-developers
Send a join request if you're interested.

And it's now pushed out to the production server.
See, e.g., your example http://mushroomobserver.org/209052

@AlanRockefeller: I just added your issue to Pivotal.  Sorry not to have picked up on it earlier.

Please close this issue when you find it solved, I won't be able to test it.


currentBytes is twice the totalBytes

onProgressListener i'm logging the totalBytes and currentBytes
setOnProgressListener {
      percentage = (it.currentBytes * 100 / it.totalBytes).toInt()
      Log.d("##totalBytes", "total bytes ${it.totalBytes}")
      Log.d("##currentBytes", "current bytes ${it.currentBytes}")
      Log.d("##percentage", "percentage is $percentage")
}

percentage always gets to 200%
and i get Error toast at the end with some corrupted pdf pages

I had the same issue.
Progress{currentBytes=24007178, totalBytes=12012305} / 199%


*: Bump prometheus client libs

Bumps client_golang, client_model and common to latest

/retest-required

/retest

/test test-e2e

/retest

I think I keep hitting https://issues.redhat.com/browse/ACM-7864 with the CI i.e, csv_abnormal isn't present as a metric. I think this is a race condition in the test, where if cluster service version quickly succeeds, then we don't get the metric and a ginkgo test fails. I think we can ignore this abnormal state metric @subbarao-meduri?
This is a simple version client_golang bump PR, so it doesn't really change anything functionally, aside from how the MCO itself exposes metrics.

/retest

/retest

I think I keep hitting https://issues.redhat.com/browse/ACM-7864 with the CI i.e, csv_abnormal isn't present as a metric. I think this is a race condition in the test, where if cluster service version quickly succeeds, then we don't get the metric and a ginkgo test fails. I think we can ignore this abnormal state metric @subbarao-meduri? This is a simple version client_golang bump PR, so it doesn't really change anything functionally, aside from how the MCO itself exposes metrics.
I've removed it in 0fca5fb to test

This makes sense, @saswatamcode - There have been intermittent timing related e2e failures in tests, and this is likely one of them.


Movement speed client hacking

Due to how movement implemented on client and server, there is possibility to hack movement speed by sending additional messages to the server. You can change client code adding loop to increase movement speed 20x times:
        // Send the action to the server
        for (let i = 0; i < 20; i++) {
          this.onActionSend(action);

          // Save the action for reconciliation
          this.moveActions.push(action);
        }

Code can be simply moddified in chrome browser during runtime in devtools.

Hi @gnibeda, thanks for pointing this out!
This is indeed a problem with the current architecture. A way to solve it would be to force a maximum number of movement actions per second or a minimum delay between actions and drop out the others. Since we are doing client-side prediction, we would also need to make sure they are dropped/ignored on the client as well.
I'll keep this issue open as a next to do.


BUG: Two identical objects gets recognized as different objects

Hi, guys. I'm trying to write a set of tests that will compare existing security group with a predefined ones. For that I'm using this library to compare two groups - the one that is received via AWS DescribeSecurityGroups request and the one I define.
The predefined struct is:
var rules = []ec2.IpPermission {
                ec2.IpPermission {
                  FromPort: &fromPorts[0],
                  IpProtocol: &ipProtocols[0],
                  IpRanges: []*ec2.IpRange {
                    &ec2.IpRange {
                      CidrIp: &cidrIPs[0],
                    },
                  },
                  ToPort: &toPorts[0],
                },
}

When I compared it for the first time I got "false" result and decided to add some logging to figure out the root of the issue.  The cmp.Diff gave me the following output:
    TestBundle/Security_groups_tests: bundle_test.go:338: DEBUG. That is no match. The difference is:
    TestBundle/Security_groups_tests: bundle_test.go:339:   interface{}(
        -       s"{\n  FromPort: 30333,\n  IpProtocol: \"tcp\",\n  IpRanges: [{\n      CidrIp: \"<IP_ADDRESS>/0\"\n    }],\n  ToPort: 30333
\n}",
        +       s"{\n  FromPort: 30333,\n  IpProtocol: \"tcp\",\n  IpRanges: [{\n      CidrIp: \"<IP_ADDRESS>/0\"\n    }],\n  ToPort: 30333
\n}",
          )

As you can see there is a perfect match of two objects, however they are not equal according to cmp.Equal method.

Without runnable code, there isn't much we can do to debug this. Typically when something like this happens, it's because cmp is comparing upon some value that is incomparable (e.g., a cache, a mutex, a floating-point NaN, etc).

Hi, @dsnet! Thank you for such a quick answer. Our project is going to be published under Apache 2.0 license, so I think there's no problem for me to share this project with you now. I've added you to our private repo as an outside collaborator. Please, check your email for details.
Our Golang scripts reside in tests/aws folder. The function I have issue with is called SGCheck. Thanks!

Following up here: I don't think I ever got any such link in my email.

@dsnet
Please, use this link => https://github.com/Altoros/polkadot-validator-failover/invitations
It should point you directly to our repo. Thank you!

Oops. Accidentally closed 🥇

@dsnet Any progress on this issue? We could probably schedule a call to work on this issue?

Okay, I was finally able to identify the issue. I was comparing the array of object with array of pointers to objects. The problems is that cmp.Diff does not show this difference, which complicated the identification of problems. I would recommend to add more verbose info to Diff function.