Not possible to listen to click events inside a Draggable on Mobile

Hi,
we are using react-draggable and have a link inside a draggable which should be clickable.
 <Draggable
        axis="x"
        >
        <Link>I should be clickable</Link>
  </Draggable>

On a non-touch device this works fine as the click event fires normally. However, on touch devices the click event is not fired at all, which is unfortunate.
The line of code responsible for this, seems to be this one:
https://github.com/react-grid-layout/react-draggable/blob/44a8c6ed103ec6c0a4dda5faf7f8ebca16f9b325/lib/DraggableCore.js#L295
touchstart event are cancelled there, resulting in the click never firing.
Since this line seems to be in place to prevent scrolling on touch devices, would a possible solution be to cancel touchmove instead?
Another solution may be to cancel the touchstart event higher up

I have the same problem.

I have the same problem too.

@quolpr Hi, can you help us?

This solution might help with this problem JeanNicolasdeLamballerie I tried it and I got the links to work on mobile

I have the same problem too.
But now it working for me

add cancel props in the Draggable component like cancel={'.need-interaction'}
Nav Component

add that className to each Link component

@NadirBakhsh oh that seems like a nice solution. Will need to try.

The .cancel property works for me. Thanks.

@STRML could we at the very least get a way to disable the line that is causing this issue:
    // Prevent scrolling on mobile devices, like ipad/iphone.
    // Important that this is after handle/cancel.
    if (e.type === 'touchstart') e.preventDefault();

for my use case I don't need to prevent scrolling on a mobile device but DO need clicks to work inside the draggable component!
Thanks!

@STRML PR here - https://github.com/react-grid-layout/react-draggable/pull/760
Thanks!


[My profile] Very pale color of user avatar icon in 'My profile' and 'Ride' menu

Environment: Android Samsung Galaxy A 10s
Reproducible: always
Build found: v.1.0.395
Preconditions
1.'Car' app is open
2. User is logged
Steps to reproduce

Go to 'My profile'
At the left top corner of this page check the user avatar icon
Go to 'Ride' menu scroll to the 'Manage rides'
Check user avatar in all user rides: ' Regular', 'Upcoming', 'Past', and 'All'.

Actual result:

In all menu user avatar is a very pale color.

Expected result:

In all menu user avatar the color should be more saturated.

Labels to be added
"Bug" ("bug"), Priority ("pri: ")

Verified


TestContainer_ProfilesMulti fails with "Failed to create profile: NOT NULL constraint failed: profiles.project_id"

Required information

Distribution: Fedora / CentOS
Distribution version: 28 / 7.6
Go Version: golang-1.10.5-1.fc28.x86_64 / golang-1.11.2-3.el7.x86_64

Issue description
Since the original release of lxc/lxd-3.0 im providing RPM packages in my COPR repository. However, since lxd-3.6 I can't manage to run the test suite for github.com/lxc/lxd/lxd successfully anymore:
=== RUN   TestContainerTestSuite
=== RUN   TestContainerTestSuite/TestContainer_IsPrivileged_Privileged
=== RUN   TestContainerTestSuite/TestContainer_IsPrivileged_Unprivileged
=== RUN   TestContainerTestSuite/TestContainer_LoadFromDB
=== RUN   TestContainerTestSuite/TestContainer_LogPath
=== RUN   TestContainerTestSuite/TestContainer_Path_Regular
=== RUN   TestContainerTestSuite/TestContainer_Path_Snapshot
=== RUN   TestContainerTestSuite/TestContainer_ProfilesDefault
=== RUN   TestContainerTestSuite/TestContainer_ProfilesMulti
=== RUN   TestContainerTestSuite/TestContainer_ProfilesOverwriteDefaultNic
=== RUN   TestContainerTestSuite/TestContainer_Rename
=== RUN   TestContainerTestSuite/TestContainer_findIdmap_isolated
=== RUN   TestContainerTestSuite/TestContainer_findIdmap_maxed
=== RUN   TestContainerTestSuite/TestContainer_findIdmap_mixed
=== RUN   TestContainerTestSuite/TestContainer_findIdmap_raw
--- FAIL: TestContainerTestSuite (441.70s)
    --- PASS: TestContainerTestSuite/TestContainer_IsPrivileged_Privileged (21.35s)
    --- PASS: TestContainerTestSuite/TestContainer_IsPrivileged_Unprivileged (21.32s)
    --- PASS: TestContainerTestSuite/TestContainer_LoadFromDB (21.33s)
    --- PASS: TestContainerTestSuite/TestContainer_LogPath (21.35s)
    --- PASS: TestContainerTestSuite/TestContainer_Path_Regular (21.36s)
    --- PASS: TestContainerTestSuite/TestContainer_Path_Snapshot (1.08s)
    --- PASS: TestContainerTestSuite/TestContainer_ProfilesDefault (21.33s)
    --- FAIL: TestContainerTestSuite/TestContainer_ProfilesMulti (0.89s)
        require.go:765:
                Error Trace:    container_test.go:55
                Error:          Expected nil, but got: Failed to create profile: NOT NULL constraint failed: profiles.project_id
                Test:           TestContainerTestSuite/TestContainer_ProfilesMulti
                Messages:       Failed to create the unprivileged profile.
    --- PASS: TestContainerTestSuite/TestContainer_ProfilesOverwriteDefaultNic (21.37s)
    --- PASS: TestContainerTestSuite/TestContainer_Rename (41.59s)
    --- PASS: TestContainerTestSuite/TestContainer_findIdmap_isolated (41.77s)
    --- PASS: TestContainerTestSuite/TestContainer_findIdmap_maxed (143.82s)
    --- PASS: TestContainerTestSuite/TestContainer_findIdmap_mixed (41.77s)
    --- PASS: TestContainerTestSuite/TestContainer_findIdmap_raw (21.36s)

I can reproduce the issue when building the LXD package via mock on Fedora 28 and CentOS 7. I tried to test lxd-3.8 manually on CentOS 7 and could also find the issue there, so it doesn't seem to be packaging related.
I don't understand what's going wrong here and I don't feel comfortable offering packages where the test suite doesn't pass without a good reason. I appreciate any hint that would help me to nail down the problem.
Steps to reproduce

Install all build dependencies (on Fedora or CentOS 7):

dnf install autoconf golang libacl-devel libcap-devel libuv-devel libtool lxc-devel

Download and unpack the release:

wget https://linuxcontainers.org/downloads/lxd/lxd-3.8.tar.gz && \
    tar -xzf lxd-3.8.tar.gz

Set GOPATH to vendored directory:

export GOPATH=/home/vagrant/lxd-3.8/dist

Build the bundled libraries:

cd "$GOPATH/sqlite" && \
    ./configure --enable-replication --disable-amalgamation --disable-tcl && \
    make
cd "$GOPATH/dqlite" && \
    autoreconf -i && \
    PKG_CONFIG_PATH="$GOPATH/sqlite/" ./configure && \
    make CFLAGS="-I$GOPATH/sqlite/" LDFLAGS="-L$GOPATH/sqlite/.libs/"

Export the library paths:

export CGO_CFLAGS="-I/home/vagrant/lxd-3.8/dist/sqlite/ -I/home/vagrant/lxd-3.8/dist/dqlite/include/"
export CGO_LDFLAGS="-L/home/vagrant/lxd-3.8/dist/sqlite/.libs/ -L/home/vagrant/lxd-3.8/dist/dqlite/.libs/"
export LD_LIBRARY_PATH="/home/vagrant/lxd-3.8/dist/sqlite/.libs/:/home/vagrant/lxd-3.8/dist/dqlite/.libs/"

Run test suite:

go test -v -tags libsqlite3 github.com/lxc/lxd/lxd

Fixed this already in master.


rlqs: Fix matcher-tree creation happening per filter instance

Commit Message: Move matcher-tree creation to config.cc so that it isn't recreated with every instance of the rate_limit_quota filter
Additional Description:
Risk Level:
Testing: Manual testing in-progress
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
Fixes #37534

@bsurber  I will merg this PR first, could you please address the those nit comments in a follow-up PR?


[easy][ts] 2/n Set run output type to be Output[] instead of Union

[easy][ts] 2/n Set run output type to be Output[] instead of Union
What
Updating the types in the ts sdk to return Output[] instead of Output | Output[]
Why
Run method should always return a array of outputs, even if its just one output.
The Prompt schema already refers to outputs as outputs?: Output[]; anyways
Testplan
Ran tests without errors. No type errors on compilation either

Stack created with Sapling. Best reviewed with ReviewStack.

-> #618
#617

rebase
runwithdependencies output type defined as : Output[] | undefined
runWithDependencies  output type defined as :  Output[] | undefined

One thing I'd suggest as followup

created #645


Add Laracasts search as extension

Description
Add Laracasts search as extension to raycast.
Screencast

Checklist

[X] I read the extension guidelines
[X] I read the documentation about publishing
[X] I ran npm run build and tested this distribution build in Raycast

Thanks @pernielsentikaer 👍🏻 , Just applied the fixes and ready for your review.


Add hist_sequence

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (e08b197) 100.00% compared to head (331e7e9) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #84   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           56        56
  Lines         2027      2035    +8
  Branches       137       138    +1
=========================================
+ Hits          2027      2035    +8

Files Changed
Coverage Δ

src/startorch/utils/plot.py
100.00% <100.00%> (ø)

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


Search in all fields with type

The Full Text Search feature is great! Perhaps the next step could be to search in all fields of a specific type.
Use Case (I think pretty common): UUID fields all over the DB - I want to search with e.g. '0089b141-52cd-4816-a2e2-ee8ea84e8c66' and field tpye 'UUID' (Postgres) to find the specific object with it...

I think I can add search in UUID columns easily. UUIDs are pretty standard nowadays.
Using any custom types is much more complicated. All databases have different rules for type<->string conversion.


Production build fail with async components

Version
3.0.5
Node and OS info
Node 10.7.0, yarn 1.7, mac OS Mojave 10.14.1 Beta 1
Steps to reproduce
Here is the error I get when doing `yarn build``
In development mode I get no errors and I don't know where to search
Here is the error I get
Module build failed (from ./node_modules/thread-loader/dist/cjs.js):
Thread Loader (Worker 2)
Cannot read property 'stat' of undefined

    at toDepDetails (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/cache-loader/dist/index.js:65:14)
    at arrayIterator (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/neo-async/async.js:3780:9)
    at timesSync (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/neo-async/async.js:2292:7)
    at Object.mapLimit (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/neo-async/async.js:3775:5)
    at Array.<anonymous> (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/cache-loader/dist/index.js:88:18)
    at arrayEachFunc (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/neo-async/async.js:2512:19)
    at Object.parallel (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/neo-async/async.js:6867:9)
    at Object.loader (/Users/victorgarcia/Desktop/Work/Totem/peppy-pro-web/node_modules/cache-loader/dist/index.js:87:9)

 @ ./src/views/Home.vue?vue&type=script&lang=ts& 1:0-367 1:383-386 1:388-752 1:388-752
 @ ./src/views/Home.vue
 @ ./src/views lazy ^\.\/.*\.vue$ namespace object
 @ ./src/router/routes.ts
 @ ./src/router/index.ts
 @ ./src/main.ts
 @ multi ./src/main.ts

My route config
# My route config

function loadView(view) {
  return () => import(/* webpackChunkName: "view-[request]" */ `@views/${view}.vue`);
}

// Liste des routes
export const routesList: MyRouteConfig[] = [
  {
    path: '/',
    name: routesNames.HOME,
    meta: {
      requiresAuth: true,
      title: 'Accueil',
    },
    component: loadView('Home'),
  },
  {
    path: '/connexion',
    name: routesNames.CONNEXION,
    meta: {
      noAuth: true,
      title: 'Connexion',
    },
    component: loadView('Connexion'),
  },
  {
    path: '/*',
    meta: {
      title: 'Page non trouvée',
    },
    component: loadView('error404'),
  },
];

### What is expected?
The production build is expected to success

### What is actually happening?
The production build fails when building async components

<!-- generated by vue-issues. DO NOT REMOVE -->

Duplicate of https://github.com/vuejs/vue-cli/issues/2847
Please delete your lock files and update the dependencies.


🐛 BUG:

Which Cloudflare product(s) does this pertain to?
Pages, Wrangler
What version of Wrangler are you using?
3.1.0
What operating system are you using?
MacOs
Describe the Bug
Summary: wrangler pages  subcommands fail to authenticate.

Start with a clean authn for the cli wrangler logout && wrangler login (accepting web prompt)
Verify that the CLI is authenticated

> wrangler whoami
 ⛅ wrangler 3.1.0
------------------
Getting User settings...
👋 You are logged in with an API Token. Unable to retrieve email for this user. Are you missing the `User->User Details->Read` permission?
┌──────────────┬──────────────────────────────────┐
 │ Account Name │ Account ID                       │
├──────────────┼──────────────────────────────────┤
 │ zuppoz       │ f400b52805a043aacfcbec78e56846cd │
└──────────────┴──────────────────────────────────┘
🔓 To see token permissions visit https://dash.cloudflare.com/profile/api-tokens

But noticing that it says it's using an API token. My API tokens page only shows one token, a limited one I made for use with Terraform.
Up until Friday, wrangler pages deploy worked fine, which makes me wonder:

Did it switch to using my limited token or one that doesn't appear in the UI?
2 If so, I can make another token, but how do I tell wrangler to use it (and why didn't I have to do this before)?

To test out the first question, I added Cloudflare pages edit perms to the limited token (which had been scoped to anly manage DNS). After that, wrangler pages project list worked fine.
So, it looks to me like somehow wrangler switched which token it was using, leaving me wondering

When I run wrangler login on a mac, where does wrangler store the authentication it receives?
Are there recent changes that cause wrangler to use random existing API tokens if they exist?

Okay, I see what was happening. I had that limited key set in my local environment variable CLOUDFLARE_API_TOKEN, and it overrode the wrangler login.

see above


CBC SDK to use futures to make Live Response Async better

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[x] Tests have been added that prove the fix is effective or that the feature works.
[x] New and existing tests pass locally with the changes.
[x] Code follows the style guidelines of this project (PEP8, clean code, linter).
[x] A self-review of the code has been done.

What is the ticket or issue number?

Pull Request Description

Does this introduce a breaking change?

[ ] Yes
[ ] No

How Has This Been Tested?

Wondering whether we should move live_response_api.py under platform?

Wondering whether we should move live_response_api.py under platform?

Seems like a good suggestion. I am not sure about the initial reasoning for including it outside of platform. If there are no objection I am going to move it under platforms.

Wondering whether we should move live_response_api.py under platform?

Seems like a good suggestion. I am not sure about the initial reasoning for including it outside of platform. If there are no objection I am going to move it under platform.

This is a breaking change, do not make this change

Wondering whether we should move live_response_api.py under platform?

Seems like a good suggestion. I am not sure about the initial reasoning for including it outside of platform. If there are no objection I am going to move it under platform.

This is a breaking change, do not make this change

OK.

Wondering whether we should move live_response_api.py under platform?

Seems like a good suggestion. I am not sure about the initial reasoning for including it outside of platform. If there are no objection I am going to move it under platform.

This is a breaking change, do not make this change

OK.

If this is something we want to consider then we need to ensure the imports are not broken by making the live_response_api python file/package available in original location so we don't break this import statement from cbc_sdk.live_response_api


Added most styles

Adding some quality of life content in JavaScript (now you can press enter to focus next element in addition).

The page now looks better thanks to CSS!

-Improved font-family for titles and subtitles.

Hey @Ghiftee! 👋
Thank you for the review you left me! Although, I'd love you to clarify the required changes a little more. 🔍
The API I'm using only needs an input value for name and score in case of adding an item, otherwise it should display the contents without any further requirements.
As for the dependencies, the README file stated that you only need to run a few commands (listed there) to install them, and then you should be able to run it normally afterwards.
I'd love to hear back from you soon to continue the review process. ✨  Thank you!

Thanks a lot to all code reviewers in this project, I'll be merging the changes right now!


Better get_meta_lang

Added one more case in the language detection.
To solve a problem with the following page: http://quebec.huffingtonpost.ca/2017/09/04/trump-evoque-la-vente-a-seoul-de-milliards-de-dollars-de-materiel-militaire_a_23196569/

Thanks for putting in the effort on this @Cabu, looking


ui: fix effective low frame rate

This also has the added benefit of continuing to display new camera frames when we request a duplicate modeld frame, whereas before we would hang on the current frame for two frames and then skip forward.
No stuttering when using qlogs, and rlogs with skipping around. Adds a tiny bit of complexity, but I think it's better to maintain an index that automatically moves us forward in time for the camera frames and maintains our frame offset when we don't update the model frame, instead of holding on the frame and then jumping to the latest one.

The old method would try to draw the exact frame given to it via the model's frame id, however under certain circumstances when UI gets out of sync with the model (or in this case, repeatedly tapping the screen) it can lead to effectively what looks like 10 fps. This is how this PR would handle these cases:

Will poll on the model to fix


Update directions for using AddReg to add MSISupported value

Confirmed with Plug and Play team that the intermediate AddReg steps are not necessary.

Thanks Minsang, this should be live in 10 min or so


reCAPTCHA branch

Hey mate, thanks a million for building this. I was nearly finished building one when I decided to look on Github and see if anyone had already completed a project lol - I'll just need to modify your .js files to look scroll over and scan November instead (to suit my situation).
When building mine, my only hurdle was automating the reCAPTCHA part, but I have some ideas and are keen for some input: there's a Chrome Extension called Buster which essentially switches to an audio capture and downloads the audio file then transcribes it through Google's own voice recognition software.
My only problem was automating the actual HTMLElement.click() function and ticking the sodding captcha box. It's due to being contained within an iframe in the actual HTML code.
So how familiar are you with HTML and working with iframes? If we can identify and work with the element there and successfully click the reCAPTCHA box, or send a TAB + ENTER key to it from the previous element, we could then activate the Buster chrome extension and essentially automate that too.
What are your thoughts?

Hi Shawry292 - can you let me know how you edited the script to scroll to November... Am trying to get my wife and our 2 kids back to NZ to see their grandparents. I've managed to get to the stage where I have the node / refresh set up...

ignore - i think i've sorted it by editing the index.js code re. the month line! Seems to refresh, starts in July and goes automatically to November

ignore - i think i've sorted it by editing the index.js code re. the month line! Seems to refresh, starts in July and goes automatically to November

Hi Sandeep, I am an absolute beginner, can you let me know how did you edited the code please? Like below if I change to 8 it would look in August or is it not quite that simple?
        //choose month
        const month = 8; // april = 4, may = 5, june = 6, july = 7, etc.

Great to see people asking questions and helping each other out. I would like to ask everyone to please open separate issues for their questions. This issue/thread has a specific topic already, and it would be nice to keep it focused.
Thanks.

@shawry292 I did some work using the exact approach (Buster) you described soon after they added the recaptcha earlier this year. Unfortunately I also hit the problem you have with the iframe, then other priorities took over and I never completed it. With a bit of persistence it should be achievable to create a fully automated bot.
What I also found was that if I logged into Chrome then 9/10 times it would only require a box tick and there wouldn't be a recaptcha challenge... still requires clicking the iframed checkbox though.

I've implemented a python script for audio recaptcha and run into Google flagging my IP because of automation

So how familiar are you with HTML and working with iframes? If we can identify and work with the element there and successfully click the reCAPTCHA box, or send a TAB + ENTER key to it from the previous element, we could then activate the Buster chrome extension and essentially automate that too.

You can find and click the checkbox element via xpath //span[@id='recaptcha-anchor']


[BUG] Structure for validators doesn't make sense

Describe the bug & expected behaviour
Currently there when I click "Become a validator" I expect to have a full materials from how to start node locally, on Google or whatever cloud, how to create account and how to stake.
Instead there are few links to other docs which doesn't seem like people see and follow.
Finding "Running a node" under "Local Setup" is unexpected.
"Running a node on Windows" goes before "Running a node" in the list is also strange.
In "Running a node" the section for Google cloud is at the end. May be worth separating it into separate section which then links to the running node https://docs.nearprotocol.com/docs/local-setup/running-testnet#running-official-testnet-node-with-docker section for actually how to start.

The reason why it leads you to the other sections is that the steps are exactly the same. Otherwise, we would have to copy-paste the same information in different sections, making each section longer.
I will change the side-bar to display a different order + change the names of the sidebar so that each section is easier to find.

Drop off rate from the first page is 16%. I don't think that putting it all in one page makes sense, but I do think we can fix the flow.

As far as we can solve it in the current docs, the explanation is a lot clearer now. This will have to be addressed in a complete docs makeover.

this is being addressed this week and next

will close this for now and we can re-open if needed


Small Refactor

Refactor method
Add proxy setting

Hiya @iCreateJB - thanks for the refactor, I think I've since merged a PR that added a few of these in - would you mind updating with the latest master if you'd still like the proxy setting>

@nikz Extremely sorry for the delay on this. It's been updated with the latest master.
I believe the build error blocked by another PR waiting to be merged, can you confirm.


8.2.1 - File Manager: Problem when compensating missing option "Copy to Folder" by duplicating and moving a file to another folder

There is an option for moving a file to another folder in the context menu of the file manager, but there is currently no option to copy a file to another folder.
In order to achieve that, i can duplicate a file inside a folder and then move it to another folder. Unfortunately, the duplicated file inside the folder has exactly the same name, date modified and size as the original one and there is no visible indication which one is the copied file and the original file. Of course, both files have different URLs, but  in order to distinguish between copy and original, i would have to remind the URL of the original before copying it.
Now, if i accidentally move the original file to another folder - assuming that i'm moving the duplicate -, and this file will be deleted later on for some reason, which is not unlikely because one doesn't know that it's a file that actually should reside in another folder, all existing links to that original file will be broken.
The problem in short:
When a file is duplicated inside a folder, the duplicate cannot be distinguishing from the original file (unless one compares the properties of both files and knows the ID of the original file).
Suggestion to solve the problem:

Add the option "Copy to Folder" to the context menu of the file manager.
Automatically append a string like "_copy" to the end of the name of each copy of a file.

Hello, out of curiosity, what would be the purpose of having the same file twice in the file manager? Why not simply keep using the same file?

@mnakalay Hi, it's because i'm using folders for download files in order to sort it for specific subjects. In some cases i find it much easier to maintain pages and related files as when working with file sets. So i want to duplicate a file to make it available in another folder. (Actually i wonder what other reason one would have for duplicating a file?)
Since we now do have folders, which is great, and since there is also an option to duplicate files, the created duplicates shouldn't have the same name as the original.
One should be able to distinguish between the original file and the duplicate, because the original file will likely be referenced and should not accidentally  get moved to another folder.

I See.
Frankly I am not sure why duplicates are not renamed. I suppose it's to avoid ending with super long file names or something like that, I'm not sure.
But if it can help, here's code you can use to do just that.
Put it inside application/bootstrap/app.php and you will probably need to empty the cache for it to start working.
Make sure to read all the comments so it makes sense. You can use the 3 variables at the top to customize how the files are renamed.
Hope this helps.
Events::addListener('on_file_duplicate', function($event) {
    // Values for you to set to customize the final result
    // String to add at the beginning of the new file's name
    $copyFileNamePrefix = '';
    // String to add at the end of the new file's name
    $copyFileNameSuffix = '_copy';
    // In the file manager, the file name listed is actually the Title property of the file.
    // Most of the time, the Title is filled with the file name value.
    // In that case, the Title will be given the new file name as value.
    // But in the situation where the Title was already customized (e.g. Sunset on the beach),
    // use the folowing variable to add a string at the end of the Title
    $copyTitleSuffix = " Copy";

    // Don't touch anything below this unless you know what you're doing
    $fi = Core::make('helper/file');
    $newFileObject = $event->getNewFileObject();
    $version = $newFileObject->getApprovedVersion();
    $fileName = $version->getFilename();
    $path = $version->getFileResource()->getPath();
    $extension = $fi->getExtension($fileName);

    // Building the new file name using the prefix and suffix set above
    $newFileName = $copyFileNamePrefix . str_ireplace('.' . $extension, $copyFileNameSuffix . '.' . $extension, $fileName);
    // Using the new file name to get the new path
    $newPath = str_ireplace($fileName, $newFileName, $path);
    $filesystem = $newFileObject->getFileStorageLocationObject()->getFileSystemObject();
    // Renaming the physical file with the new file name using the new path
    $filesystem->rename($path, $newPath);
    // Updating the file's information in the database with the new file name
    $version->updateFile($newFileName, $version->getPrefix());
    $title = $version->getTitle();

    if ($title === $fileName) {
        // if the Title attribute of the file is the same as the file name, set it to the new file name
        $version->updateTitle($newFileName);
    } else {
        // Otherwise, keep the existing title and add our title suffix to it
        $version->updateTitle($title . $copyTitleSuffix);
    }

});

One last thing: you probably notice that the code goes all out and actually renames the physical file and all.
You could also totally simplify all that and only modify the Title of the file which is the last piece of code.
The title is what the user sees in the file manager so maybe that would be enough to know which file is which.

Nour, that's awesome, thank you so much for that magic! This is even more than i was thinking of, in my case it actually would be enough to have just the file title changed by appending the predefined file title suffix.
Unfortunately i'm not sure what's exactly that last piece of code, that should be kept in order to have only the title changed. Can you please tell me which lines should be commented out?

No problem, here's a simpler version that will only modify the file's title so it appears like that in the file manager.
Events::addListener('on_file_duplicate', function($event) {
    // Values for you to set to customize the final result
    // String to add at the beginning of the new file's name
    $copyFileNamePrefix = '';
    // String to add at the end of the new file's name
    $copyFileNameSuffix = '_copy';
    // In the file manager, the file name listed is actually the Title property of the file.
    // Most of the time, the Title is filled with the file name value.
    // In that case, the Title will be given the new file name as value.
    // But in the situation where the Title was already customized (e.g. Sunset on the beach),
    // use the folowing variable to add a string at the end of the Title
    $copyTitleSuffix = " Copy";

    // Don't touch anything below this unless you know what you're doing
    $fi = Core::make('helper/file');
    $newFileObject = $event->getNewFileObject();
    $version = $newFileObject->getApprovedVersion();
    $fileName = $version->getFilename();
    $extension = $fi->getExtension($fileName);

    // Building the new file name using the prefix and suffix set above
    $newFileName = $copyFileNamePrefix . str_ireplace('.' . $extension, $copyFileNameSuffix . '.' . $extension, $fileName);
    $title = $version->getTitle();

    if ($title === $fileName) {
        // if the Title attribute of the file is the same as the file name, set it to the new file name
        $version->updateTitle($newFileName);
    } else {
        // Otherwise, keep the existing title and add our title suffix to it
        $version->updateTitle($title . $copyTitleSuffix);
    }

});

What it will do is it will compare the file name to the title and if they are the same as it often happens, it will add the suffix and prefix you define to the filename e.g. "prefix_filename_suffix.ext"
If it appears the title is a custom string and not the same as the filename, it will add the other suffix you can define e.g "This is the file's title - suffix"

While this code basically works, the duplicate is not created inside the folder of the original file (as the previous script did), but, as far as i can see, in no folder at all. The duplicate can only be found by the search function of the file manager.

the script doesn't deal at all with duplicating or putting files in folders. This is how it works when you duplicate a file:
1- C5 duplicate the files in the database
2- C5 makes sure it is in the same folder as the original
3- It makes sure all attributes are the same as well
4- It then copy the physical file to its new location on the server
5- C5 then dispatches an event saying the file has been duplicated
6- My code listens to those events, and reacts by changing the title of the newly created file.
So you see, everything concerning duplication happens before my code does anything and all it does is modify the title.
What's more, I tried it on my side and it works pretty well, the file is in the proper folder after duplicating, with the proper title. The only thing that seems to not be working properly (but that's a core bug) is thumbnails are not created properly.
Could you try it again?

You're right, it works nicely with original files, thank you! Thanks for the information too.
But strangely, when a duplicate is duplicated, the resulting duplicate is not saved to the original folder, nor to any folder, and can only be found by the search function of the file manager.
This is happening regardless of whether your code is applied or not. This seems to be a bug in the core.
That's why at first i thought, your script wouldn't work.

@okapi - that is not something i'm experiencing. When I duplicate a file
within a folder the file appears immediately within that folder.
And BTW – we'd be happy to accept a pull request that updated the name of a
duplicated file.
On Mon, Aug 28, 2017 at 12:45 PM, okapi<EMAIL_ADDRESS>wrote:

You're right, it works nicely with original files, thank you! Thanks for
the information too.
But strangely, when a duplicate is duplicated, the resulting duplicate is
not saved to the original folder, nor to any folder, and can only be found
by the search function of the file manager.
This is happening regardless of whether your code is applied or not. This
seems to be a bug in the core.
That's why at first i thought, your script wouldn't work.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/concrete5/concrete5/issues/5875#issuecomment-325458681,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgNwWkT_P5Jz9U6GUiPMVM-BagYIFfoks5scxjcgaJpZM4O7TGP
.

@aembler - To be more clear & how to reproduce (assumed the mnakalay's last code version is copied to application/bootstrap/app.php):

Create a folder named "test".
Upload a file named "test.jpg" to that folder. The title of the uploaded file will also be "test.jpg".
Duplicate "test.jpg".
Result: a new file with a new title "test_copy.jpg" is created inside folder "test".
Now duplicate "test_copy.jpg".
Expected result: A new file with a new title "test_copy.jpg Copy" should be created inside folder "test".

Actual result: In fact the file "test_copy.jpg Copy" is created, but not inside folder "test", nor inside any other existing folder. The strange thing is, it cannot be found neither inside of any folder, nor outside of folders, at "file root" so to say. Related to the folder system of the file manager, it seems to have disappeared.
It can only be retrieved by the search function of the file manager.

@ambler, there's a tiny typo in the core responsible for this problem.
in concrete\src\Entity\File\File.php, line 522, you have
$nf->folderTreeNodeID = $folderNode->getTreeNodeID();
while it should be
$nf->folderTreeNodeID = $folder->getTreeNodeID();
So instead of adding it to the proper folder, the code is grabbing the newly created's file ID and trying to add it to a folder with that ID, which doesn't exist. that's why it doesn't show up in the file manager.
Concerning a pull request to modify the title of duplicated files, what stopped me was how to modify it? Should it just add "copy" after the title or something more complex like a date?
Or should it do the whole thing where it renames the physical file as well? although I don't see that being necessary.

There may be cases where it's desired to have also the physical duplicated file renamed, but then, it should also be possible to change file names in the file manager, which currently unfortunately is still not (another feature that would nice to have, by the way. A file manager should actually be able to change a file's name.). For instance, if file names of downloadable files are important, it may not be wanted to let visitors download a file named "information_copy.pdf" or even "information_copy-copy.pdf".
Also, i think, it's enough to just append " copy" as title suffix to each duplicated file, no matter if it's attached to the original or a modified title.
title_of_file copy
title_of_file copy copy
title_of_file copy copy copy


Upptime Setup Failing

Describe the bug
It's not setting up config.
To Reproduce

Clone repo
Setup Upptime
Setup for a custom domain.

Expected behavior
It should setup but no it's showing example.
Screenshots

Desktop (please complete the following information):

OS: MacOS Sequoia
Browser: ARC
Version 1.55.0 (52417)

Additional context
REPO: https://github.com/TeaClientMC/status
URL: https://status.teaclient.net
Actions log from https://github.com/TeaClientMC/status/actions/runs/10698082421/job/29656669480:
Removed template files
[Error: ENOENT: no such file or directory, scandir 'api'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: 'api'
}
[Error: ENOENT: no such file or directory, scandir 'graphs'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: 'graphs'
}
Removed old data from history

Do you know how to fix this issue @AnandChowdhary?

Well it's moved on from the template but it's saying my website is down but it's up.
https://status.teaclient.net

I think something strange is happening indeed, because in the https://github.com/TeaClientMC/status/tree/master/api folder, the slugs are different from "main" and "docs". 😕

I think something strange is happening indeed, because in the https://github.com/TeaClientMC/status/tree/master/api folder, the slugs are different from "main" and "docs". 😕

Hmm

I think something strange is happening indeed, because in the https://github.com/TeaClientMC/status/tree/master/api folder, the slugs are different from "main" and "docs". 😕

It seems like the slugs are going based on names not slug.

I think something strange is happening indeed, because in the https://github.com/TeaClientMC/status/tree/master/api folder, the slugs are different from "main" and "docs". 😕

Any updates @AnandChowdhary?


include license in package.json files

warning package.json: No license field

we work on the issue and we don't find any fault in the system


merge mutates nested Configs

Easy fix.  I'll get to it today.
Ref: https://github.com/JuliaComputing/PlotlyLight.jl/issues/39

Fixed on master.  Release coming in a sec.


Future work

See: https://github.com/STAT547-UBC-2019-20/team11_akhan/issues/22

[ ] Try to not display your chunks of code in your final report (use echo=FALSE when you define your chunks of code)
[ ]     Put the plot of your linear model 'Grade vs workday_alc' (and maybe the one of Grade vs weekend_alc too) in your Methods section.
[ ]     Your finalReport.Rmd file should be in the docs folder
[ ]     Try to delete the lm(...) lines that are under your plots in the Residual plots part
[ ]     Try to say explicitly what your p-values are in the text that you write when you analyse your model, but don't write those values by hand, try to extract them from your code
[ ]     Give an interpretation of the coefficients of your model that you judge meaningful : say what those coefficients are, and what they mean (for example the -1.16 estimate that corresponds to workday_alc .


The requested module '/node_modules/lucide-react/dist/esm/lucide-react.js?v=5ab1706d' does not provide an export named 'Run'

Describe the bug
Seems like
SyntaxError: The requested module '/node_modules/lucide-react/dist/esm/lucide-react.js?v=5ab1706d' does not provide an export named 'Run'
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-6hskcv
Steps to reproduce
Prompt > I want you to create a workout tracking responsive mobile web app in react that looks like this with an image
Expected behavior
no problems with import/export
Screen Recording / Screenshot

Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 83492345,
  "usedJSHeapSize": 79135557,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = russkiimike
Chat ID = 7565ae82759f

Additional context
No response

So lucide react 'Run' doesnt exist as an icon hence the error :)


Reset invalid state to validate properly

Fixes #490

This change is

Failing test in IE is unrelated to this PR, seems that setTimeout workaround no longer works for some reason.

Review status: 0 of 3 files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Comments from Reviewable


Added local IOStore to unit test

Doesn't this test local jobstore as opposed to local iostore?

On further thought, the best way to do this might be to have make test take in parameters to the stores.  The tester can then choose AWS or amazon.   I'm thinking of this now because I'm just realizing that whenever I run the tests on my local machine, I'm writing to the exact same place as Jenkins, which is surely causing random errors on both ends.


How to get memory consumption

I want to get the concrete memory consumption and I see some data in infer-out/log. But the log is too long, I don't know which one of these records is the information I want.

Hi @Y-chav, sorry for the delay. What information are you looking for more precisely? The information you screenshotted are stats about the OCaml garbage collector during the analysis phase of infer. For things like resident memory, etc., you should be able to use usual unix tools, eg valgrind. Hope that helps, please re-open with more details if not.


Turn .ipynb modeling code into .py format

[x] Convert modeling code from ipynb format to a runnable script

fishmod.py


Improve primary TranslateStore configuration

Description
We need to support at least one of two things:

clients can send keyed writes to any node in the cluster
clients can determine from the server which node should be sent keyed writes
There is a description of the issue that highlights this in #1577.
There is a bit of discussion around this in #1557.

Some suggestions that are related to a potential solution, but not necessarily related to or dependent upon each other are:

automatically make the cluster.Coordinator the primary TranslateStore. Note that in this case it's not adequate to have all other nodes automatically point to the primary for replication; instead, additional node replication should be daisy-chained: node0 (primary) > node1 > node2, etc.
if a keyed write is received by a non-primary node, it can forward the request to the primary
keyed writes must always be sent to the primary node, but clients have a way to ask the server which node that is (if it's the case that the primary is the cluster.Coordinator, then that information is currently available in the /status endpoint)

The second option seems the be the most performant. The clients can ask one of the nodes in the cluster which node is the translator for an index, and they can cache the response. Of course that would require the same node is always the translator for an index.
What happens if a translator node goes down? Do we assign a new one or just reject keyed queries/imports ?


feat: add share button. Use the navigation API

Hello @18reg, I would like to help with this one

Hello @groberth18, I would like to help with this one

Hi @ThPadelis. Perfect, all yours!

Perfect!
I suppose you want to share the current gradient color. Where do you want it to be shared? Twitter?

Perfect!
I suppose you want to share the current gradient color. Where do you want it to be shared? Twitter?

That's right!


Should be dist commited?

Hi, thanks for great kick in! but..
I think that dist should be ignored from version control, like build is excluded in many others projects.
I expected that there will be more opinions, but I did't found it there, no much opened issues, no debates.. so I'm trying kick up this with this one :slightly_smiling_face:

I agree. I’d merge a PR to add it to .gitignore.

What about distribution through bower or CDN?

I would have thought bowed effectively dead, since it’s been deprecated for around 7 months. And you can use unpkg for CDN functionality.

I disagree with this. I think a lot of users still uses libraries by simply downloading the zip file from Github. If you gitignore the dist folder, they won't be able to do this anymore.
Also ignoring the dist file doesn't really add any value here (it's not like you want to save space in Github's HD or anything).

@Grsmto I cannot agree. Readable diffs are more important for code review workflow

I think a lot of users still uses libraries by simply downloading the zip file from Github.

For users who want to provide that, they can by all means do so. However, for the vast majority of users simply creating versions appropriate to the target and putting them in dist and publishing that to npm will enable downloading files for use in a project as you say or referencing them directly by using unpkg. For example<EMAIL_ADDRESS>
Also ignoring the dist file doesn't really add any value here.

@langpavel is correct: readable diffs are more important than the marginal utility of having dist checked into git. On top of that, you now have to make sure that the dist build properly matches the source files. This is a tedious and error-prone process, which would be best automated away if it weren't better to simply omit dist from git.
My own projects used to have the built version checked into dist for exactly the reasons you gave, but years of experience of the pain it causes plus the fall of bower and the rise of tools like unpkg have made it clear that checking build files into git is not currently the best approach for npm packages, or likely any software system with build artifacts.

How i can create demo page for unpublished to NPM version of my lib?
CDN work only with published versions.

Lots of ways:

commit a built version to the gh-pages branch as part of a demo website
publish pre-release versions that can be accessed through unpkg by e.g. a beta tag
build and push to a static site host like now.sh or surge.sh
use a separate repository whose sole purpose is to contain built versions of your package (i.e. the whole of https://github.com/components)

There’s no shortage of good options.

Nice, thanks!


--hostname isn't fully deprecated

restic 0.9.1 (v0.9.1-45-g4503c896) compiled with go1.10.3 on windows/amd64
restic backup uses the --hostname parameter, but all of the other verbs use --host and prune suggests it's deprecated. backup doesn't seem to support --host at all. The short parameter -H doesn't seem to be specified for all of the verbs, either.

Good point, that's something we need to clean up. thanks!


Send the scope class as part of the token

As it is right now, it is not possible to authenticate plugin requests using docker-auth. The docker distribution registry expects[0] a scope with Type repository and docker-auth is sending repository(plugin) as that's what it receives in the request.
Instead of sending repository(plugin) we should be sending repository and setting the scope class to plugin. The default class is image, which is why this works fine right now.
I had trouble finding a detailed documentation about how the docker registry uses class but here's a test:
curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository(plugin):rchicoli/docker-log-elasticsearch:pull,push"
The above command produces a token that contains the following access request (you can decode the token using https://jwt.io/ [thanks for the hint @fxdgear) ]:
...
"access": [
    {
      "type": "repository",
      "class": "plugin",
      "name": "rchicoli/docker-log-elasticsearch",
      "actions": [
        "pull"
      ]
    }
  ],
...

Fixes #269

your contributions are welcome! if you want stuff to do - check out issues.
one big area that needs improvement is testing, unit and integration.


Modulo operation breaks on 32 bit php

PHPunit fails as the array subscripts are negative numbers when using 32 bit integers and modulo

NamespaceTest::testVanillaNamespace
Undefined offset: -742

/home/jwilliams/ABLincoln/src/Vimeo/ABLincoln/Operators/Random/Sample.php:50
/home/jwilliams/ABLincoln/src/Vimeo/ABLincoln/Operators/AbstractSimpleOperator.php:44
/home/jwilliams/ABLincoln/src/Vimeo/ABLincoln/Assignment.php:122
/home/jwilliams/ABLincoln/src/Vimeo/ABLincoln/Namespaces/SimpleNamespace.php:125
/home/jwilliams/ABLincoln/tests/NamespaceTest.php:45
/home/jwilliams/ABLincoln/src/Vimeo/ABLincoln/Namespaces/SimpleNamespace.php:54
/home/jwilliams/ABLincoln/tests/NamespaceTest.php:22

I did a quick test replacing % with bcmod() – the negative array indexes no longer occur, however the tests still fail.

PHP 5.6.14-1+deb.sury.org~precise+1 (cli)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

Thanks for the heads up - it looks like we should require 64 bit for now until we find a way to make this 32 bit compatible.


Maestro dumps its state files into $HOME

Some users don't like when programs write tmp/state/config files to their $HOME (me included).
Current behavior
Upon installation, Maestro creates the ~/.maestro directory and stores some data there.
Expected behavior
There exist a spec called XDG Base Directory Specification. Maestro should follow it.
Implementation idea
$ ls -1F ~/.maestro
bin/
deps/
lib/
sessions
tests/
tmp/
uuid

I suggest the following:

bin/ should be in the path made for that, e.g. /usr/local/bin (or wherever your OS package manager installs programs)
deps/ contains only the applesimutil binary, which we may not need soon, see #1797
lib/ contains JARs. Not sure where they exactly they should go (let's look at how other JVM apps do this)
sessions -> XDG_STATE_HOME
tests/ -> XDG_STATE_HOME
tmp/ -> XDG_CACHE_HOME (not sure what goes in there, it's always empty on my machine)
uuid -> XDG_STATE_HOME

To support existing CLI installs, we should first look for ~/.maestro, and then fallback to XDG base dir spec.
Additional context

Some logs are also saved in ~/Library/Logs/maestro (at least on macOS) (code link)
Dotfile madness, very good read
XDG_STATE_HOME in XDG Base Directory Spec
Community contributions are welcome!

can't swipe the screen also.


[Bug/Glitch] World Host integration issues

Legacy4J Version
1.21-1.7.2
Mod Loader Version
Fabric Loader 0.16.0
Bug/Glitch Occurrence Context
I've done a bit of testing and I've found a couple issues with the current implementation of World Host's features in Legacy4J:

"Critical error in WH recv thread" error on host every time player tries to join through the "[Player] went online" toast notification. The joining player will time out each time.
Log (Player joins at 02:20)

Game invites appearing as "[Player] added you back as a friend" toast notification.

https://github.com/user-attachments/assets/17c36da0-1e0b-4448-a803-4c838c038761

No access to an equivalent UI for the Friends tab in the vanilla Multiplayer menu. This tab is the only way to join friends with the standard Java Edition UI.
Friends can only be added when in a world if Mod Menu isn't installed.

These issues were present in an instance of Legacy4J with Fabric API, Mod Menu + Placeholder API, and World Host. Testing on a 1.21 instance with Fabric Loader 0.16.0 and World Host only, none of the connection issues are present and all connections appear to be successful.
I'll open an issue on the World Host repo as well
Crash Report
No response
What happened wrong?
In it's current state, using World Host doesn't seem to work with Legacy4J, but does in a standard 1.21 Fabric instance

I've seen many people being able to play normally with World Host installed (disregarding connection problems, of course), online friends' worlds appearing in the Join tab (which is equivalent to online friends in the "vanilla" Multiplayer interface) and everything, saying that not working in its current state is a bit of an exaggeration.
Invitations made by Legacy4J are not actually invitations as there is no such function in World Host.
And thanks for suggesting being able to access the friends menu (denoting it as a problem), but I've seen a lot of talk about this, I thought it would be almost useless to add a friend without having an open world. Honestly, I don't want to improve this too much, I would like to make my own implementation of a friend system and world hosting system

Honestly, I don't want to improve this too much, I would like to make my own implementation of a friend system and world hosting system

I've also been hearing a lot of people complain about their difficulties trying to use World Host with L4J, so I think it's exciting to know that an in-house solution is a possibility


Verify resource borrow drop behaviours

Currently resource borrows should be strictly dropped before call completion.
ComponentizeJS may not yet currently be implementing this correctly as discussed in https://github.com/bytecodealliance/componentize-js/pull/69#discussion_r1380599210.
Creating a dedicated issue to track this further.

Resolved in https://github.com/bytecodealliance/jco/pull/262.


LiteLLM example

This PR addresses two problems:

Add support for 100+ LLMs
Use a budget manager for limiting $ spend per session or per user

Add support for 100+ LLMs
using LiteLLM https://github.com/BerriAI/litellm/
LiteLLM is a lightweight package to simplify LLM API calls - use any llm as a drop in replacement for gpt-3.5-turbo.
Example
from litellm import completion
## set ENV variables
os.environ["OPENAI_API_KEY"] = "openai key"
os.environ["COHERE_API_KEY"] = "cohere key"
messages = [{ "content": "Hello, how are you?","role": "user"}]
# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)

# cohere call
response = completion(model="command-nightly", messages)

Use a budget manager for limiting $ spend per session or per user
LiteLLM exposes a budget manager for each session/user

We init a budget manager
Check the budget manager before making completion calls
Update with costs after making completion calls

@operand can i get a review on this PR ?
if this initial commit looks good happy to add docs/testing on this too

@ishaan-jaff I'm closing this for now. Feel free to reopen when you have updates. Thanks.


Node.js Foundation Community Committee Meeting 2019-02-07

Time
UTC Thu 07-Feb-2019 17:00 (05:00 PM):

Timezone
Date/Time

US / Pacific
Thu 07-Feb-2019 09:00 (09:00 AM)

US / Mountain
Thu 07-Feb-2019 10:00 (10:00 AM)

US / Central
Thu 07-Feb-2019 11:00 (11:00 AM)

US / Eastern
Thu 07-Feb-2019 12:00 (12:00 PM)

London
Thu 07-Feb-2019 17:00 (05:00 PM)

Amsterdam
Thu 07-Feb-2019 18:00 (06:00 PM)

Moscow
Thu 07-Feb-2019 20:00 (08:00 PM)

Chennai
Thu 07-Feb-2019 22:30 (10:30 PM)

Hangzhou
Fri 08-Feb-2019 01:00 (01:00 AM)

Tokyo
Fri 08-Feb-2019 02:00 (02:00 AM)

Sydney
Fri 08-Feb-2019 04:00 (04:00 AM)

Or in your local time:

http://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Community Committee+Meeting+2019-02-07&iso=20190207T17
or http://www.wolframalpha.com/input/?i=05PM+UTC%2C+Feb+07%2C+2019+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1zRPxBGV3n9-C0EiWU_lT08RBhAsVXMNjLExcgxDqONM/edit

Agenda
Extracted from cc-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/community-committee

Kicking Off “Working Group Update” Blog Series #435
Individual Membership Subgroup – Next Steps #423
Individual Membership: Current and Past Members Survey #375

nodejs/website-redesign

Discuss Foundation's and CommComm's potential roles in the redesigned website #128

Invited

CommComm Members: @nodejs/community-committee

Observers/Guests
Feel free to follow along on the YouTube live stream, or attend meeting as a guest
by calling in to Zoom, using the links below. If you will be attending as a guest,
please comment on this issue to let us know you'll be joining.
Notes
The agenda comes from issues labelled with cc-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

Link for participants: https://zoom.us/j/527273462
For those who just want to watch: https://www.youtube.com/channel/UCQPYJluYC_sn_Qz_XE-YbTQ

I will unfortunately (fortunately?) be on a flight to Colorado for a long weekend ski trip and unable to lead this meeting – @bnb will be hosting his week in my stead 👍

Hey there! Long time no see. Got some pretty intense last few months but now everything's settled.
Sooooo I should be there this time, back up and working! (And trying to see for Collab Summit)

Hi All! The Foundation folks have an internal marketing department call that conflicts with this week's commcomm meeting and won't be able to join. Wanted to flag in case you were wondering where we were! Tracy Lee and maybe Brian Warner will be on the call!

Good morning! I'm sorry to let you down last minute like this, but I don't think i can make this morning again. These meetings are right at the start of my work day so sometimes conflict.
I've been a little bit more absent again lately but I'm definitely not gone. I'll see you folks at the next one.

Join link: https://zoom.us/j/527273462


feat: delete Helm PR releases older than a week

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Backend

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are promoted to:

Merge Workflow

https://kubernetes.io/docs/reference/kubectl/jsonpath/
https://stackoverflow.com/questions/63249772/how-to-delete-helm-release-older-than-1-month

Helm has a TTL (time to live)!  Investigate.  Closing this PR.
https://github.com/JovianX/helm-release-plugin

@DerekRoberts are we on HELM 2(https://v2.helm.sh/docs/helm/#helm-delete), since delete is now uninstall in HELM3 https://helm.sh/docs/helm/helm_delete/

Thanks! Fixing. :)


[FR] Adding Queue Index as an optional parameter for the .skip() method

Adding an index parameter to the <Song>.skip() method would be ideal  as it would be a convenient and neat way to skip to and from a song anywhere in the queue. Making it an optional parameter would mean that if no parameters are provided, the player would skip to the next song, otherwise to the queue index provided.
In Essence:

// skipping to the next song (already a feature)
queue.skip();

// skipping to a song somewhere in the queue while shifting other songs accordingly (FR)
queue.skip(4)  // skipping to the 5th song in the queue

Alternatively a <Song>.jump(queueIndex) could also be used to replicate this feature.

Good FR, will be adding!

Added in https://www.npmjs.com/package/discord-music-player/v/8.3.0.
<Queue>.skip(1);


proposal: improve Go diagnostics / tracing

Overview
Go offers extensive diagnostic capabilities out of the box, but they are of limited usefulness in a larger, highly concurrent, real-world application utilizing 100+ Go routines.
For the purposes of this proposal, I am using a real-world application. This application uses gRPC and has a single RPC stream active. It also supports 'fix financial protocol' via standard TCP sockets (no active connections). It emits multicast packets as well. It has a web interface, and also web socket interface (both with no active connections). So there is a lot of network end-points in-use. Although it is a real-world application, it is very small compared to most enterprise applications.
The following screen shot shows a profile, and the OS cpu utilization - notice the very heavy system cpu usage:

A tree sample provides a bit more context:

      10ms   runtime.libcCall
             runtime.pthread_mutex_lock
             runtime.semawakeup
             runtime.notewakeup
             runtime.startm
             runtime.wakep
             runtime.ready
             runtime.goready.func1
             runtime.systemstack
             runtime.goready
             runtime.send
             runtime.chansend
             runtime.selectnbsend
             google.golang.org/grpc/internal/transport.(*controlBuffer).executeAndPut
             google.golang.org/grpc/internal/transport.(*controlBuffer).put
             google.golang.org/grpc/internal/transport.(*http2Server).handleData
             google.golang.org/grpc/internal/transport.(*http2Server).HandleStreams
             google.golang.org/grpc.(*Server).serveStreams
             google.golang.org/grpc.(*Server).handleRawConn.func1

Here is the OS total CPU % breakdown:

Here is the 'web' view for the profile:

Here is a GODEBUG sampling with scheddetail=1 for the same process.

  G28: status=4(GC worker (idle)) m=-1 lockedm=-1
  G71: status=4(IO wait) m=-1 lockedm=-1
  G72: status=4(IO wait) m=-1 lockedm=-1
  G73: status=4(sleep) m=-1 lockedm=-1
  G74: status=4(timer goroutine (idle)) m=-1 lockedm=-1
  G41: status=4(select) m=-1 lockedm=-1
  G42: status=4(IO wait) m=-1 lockedm=-1
  G75: status=4(GC worker (idle)) m=-1 lockedm=-1
  G29: status=4(GC worker (idle)) m=-1 lockedm=-1
  G44: status=4(GC worker (idle)) m=-1 lockedm=-1

When using the 'trace' the flow it a bit easier to spot, as 'goroutine analysis' shows:

And going into the detail for startMarketData (exhibit A) function, we see:

and examining the sync block time, we see:

but examining the scheduler wait time, we see:

Dilema
Although the profile clearly shows lots of OS activity, and the OS monitor shows heavy CPU utilization, there is no easy way to analyze what is causing the heavy system cpu%.  The biggest problem is that the profile is NOT partitioned by 'go routine'.  Using the trace tool, things are better but there is no aggregate view. Ideally the detail view (exhibit A above), would be shown on the 'analysis page' for all go routines - the only way to get this information is to inspect each routine individually. Something like this (filed as issue #29103)

But more importantly, there needs to be a summary analysis as to the "why" - not reviewing a graph, for example, if I open the detail for the start market data routine above, it should show (sample only):

startmarketdata.func1
   network wait time 102 ms:
      5% send on socket
      70% poll
      25% read on socket
   scheduler wait 1 us
      57% wait for GC cycle
      43% wait for CPU
   sync time 50 ms
      67% wait on channel
               100% sent by go routine xxxx
      23% wait on mutex filename:line#
   etc...

The user can also use the 'trace viewer' which is 100% manual - it is very powerful, but difficult to see the forest through the trees.

Working with the current naming is more difficult than need be - you need to be an expert in all of the codebases of all of the libraries to even have an basic understanding of what is going on. The name would allows the library creator to provide significant information as to it purpose. This need should be appended to the existing "name" in the diagnostic tools.

In lieu of 1, at a minimum, the go routine name as provided now should be changed to include the source file and line number. Often a single function spawns multiple go routines, and the idiomatic way is anonymous functions, so you end up with func1, func2, etc. The source/line would make tracking these down much easier. This would also be the case, if the program did not provide a name in 1.

The trace output should have an option for per go routine stack sampling, which would place a 'stack trace event' in the trace file on the sampling interval. It may be possible to sync a profile capture with a sync capture based on timestamps, but it simplifies a lot to have everything in a single capture file.

There should be trace reporting by Go routine instance. Currently with the trace, all of the routines of a single type are lumped together. This does not allow easy detection of processing bottlenecks. For example, if there are 4 routines consuming 15%, is it 1 routine consuming 15%, or 3 consuming 1% and 1 consuming 14% ?

Most importantly, there is no public API to read the trace file to produce custom analysis reports, especially when there exists an API to add 'user events' to the trace. The internal/trace package should be made public. Currently, the information might be obtained in json from the 'tool trace webserver', but this is undocumented, and probably too inefficient for certain analysis needs. The current solution involves copy and pasting the package.

This may need to be separated into multiple issues, but I didn't see an easy way to group them, other than just referencing the "parent" incident in the text ?

Thank you for this report/issue @robaho!
Kindly paging @hyangah @rakyll @dvyukov @aclements

Issue 4 is incorrect. When you trace into a Go routine there are entries for each routine. (Graphs,etc)
The problem is things are too low level. It could be helped by libraries and applications putting user events everywhere, but even then the analysis is manual.
I am interested in developing something more macro that understands the event dependencies and provides and eadier to understand pergirmance profile.

The tracer is a work in progress. Progress has been slow recently. It's not clear when we will get to runtime/trace improvements.
We do already record the place where a goroutine was created (it shows up in panic crash output, for example). If that can be added to the trace format easily, that seems worthwhile. The larger issues around good summaries and digest presentations are difficult.

@rsc Btw, I added some of the aggregate work in already in #29103 and going through the code I can think of lots of very useful presentations for this data, even a live streaming events processor for analysis. The tracing system is very well designed.


POP and PUSH is 1 byte but they increment PC by 2

solved in https://github.com/NullMember/VIRTUAL16/commit/76d301c6b4712163cd2e1bf6af83032afea51a01


Fixed NPE if arg is null

Hi! This is great, thank you! I'll accept this PR if you add a test that exercises the code you added :)


exclude managedclusterset crd from backup

Summary
cherry pick from https://github.com/stolostron/registration-operator/pull/67
Related issue(s)
Fixes #

/assign @zhiweiyin318 @elgnay
/cc @qiujian16
/hold

/approve
/lgtm

/retest

/test e2e


make entry page responsive using Bootstrap

Make entry page responsive using Bootstrap.
Steps to reproduce: resize the webpage.

I'd like to work on this.
Please let me know if there's any expected UI view after bootstrap usage for the home page.

@kots14 not anything specific. Make a PR and then we can discuss if that matches with theme of the app. And if you want to work upon this then don't forget to claim this issue by commenting @kpbot claim.

@kpbot claim
Comment in order to claim this issue. I'll prepare the PR.

@kpbot claim

Fixed in #87.


Can't override doDestroy method

I should be able to override this method, but an error results.
export default Ext.define('Boilerplate.PTOChart', {
    extend: 'Ext.chart.PolarChart',
    ...
    doDestroy: function() {
        debugger;
        this.callParent();
    }
});

Let me reword this in another issue.

I'm going to reopen this issues.  The doDestroy method is marked as public in the modern toolkit, so I should be able to override it.
http://docs.sencha.com/extjs/6.2.1/modern/Ext.Component.html#method-doDestroy

This works fine in Sencha fiddle, so I think there's an issues with the extjs-reactor(?)
this.callParent.caller is null, and it should not be.

I see the code is running in strict mode, so I can't access caller.

Mark, do you see the issue which I reported as a problem?

It seems that babel automatically puts all code in strict mode.  You can either use the following instead of callParent...
this.self.superclass.doDestroy.apply(this, arguments);

...or try this babel plugin to remove strict mode: https://www.npmjs.com/package/babel-plugin-transform-remove-strict-mode

Thank you!

I just tried both options, and they worked for me.


Unit tests for LeaseTaskList

What changed?

Unit tests for LeaseTaskList
Added types for constants to avoid manual conversion in tests
Fixed but where the wrong error was returned

Why?
Increase coverage

How did you test it?

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018fa9e9-e31c-40b5-97ac-941c9c147468
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
55 unchanged lines in 18 files lost coverage.
Overall coverage decreased (-0.01%) to 69.42%

Files with Coverage Reduction
New Missed Lines
%

service/history/task/transfer_standby_task_executor.go
2
86.21%

common/task/weighted_round_robin_task_scheduler.go
2
88.06%

common/task/parallel_task_processor.go
2
93.06%

service/matching/tasklist/db.go
2
73.23%

common/peerprovider/ringpopprovider/config.go
2
81.58%

service/matching/tasklist/task_list_manager.go
2
76.48%

common/persistence/sql/sqlplugin/mysql/task.go
2
73.68%

service/history/execution/mutable_state_util.go
2
78.52%

common/membership/hashring.go
2
84.69%

common/persistence/sql/sqlplugin/mysql/db.go
2
79.49%

Totals

Change from base Build 018fa9d1-f951-43c8-8e3e-3538fa7befdb:
-0.01%

Covered Lines:
102338

Relevant Lines:
147418

💛  - Coveralls


Unknown option --config

Can we specify a config file path via CLI? By the wiki, it is possible to do using --config option, but it does not work with error: Unknown option --config .
$ bundle exec broadside bootstrap --target app --config config/deploy/development.yml
error: Unknown option --config

By default, the CLI will assume the existence of a config/broadside.conf.rb file in your application root directory. You can also manually specify a config file for an individual execution with --config config/to/my/other/broadside.conf.rb.
https://github.com/lumoslabs/broadside/wiki/Configuration#configuring-broadside

Or this option is removed?
broadside ver 3.3.2

I've found out it is a kind of the global options, so we must use the option between broadside and bootstrap like bundle exec broadside --config XXX bootstrap ... .
Sorry my poor issue 😥

Glad you figured it out, @jagaapple :)


New line fix

The missing new line makes the page less nicer in app-insights-monitor-web-app-availability.md
"Alert on availability metrics" title is getting into the note well.

@olcay : Thanks for your contribution! The author, @mrbullwinkle, has been notified to review your proposed change.

#sign-off


如何从零开始train

No description provided.

I am facing the same problem. How did you solve this problem?


Feature/openjdk11

This finally gets the build and most tests working with openjdk11.
Note that the CLI will still spit out many warning messages and the webservice also does on startup.
Developers will need to update to (OpenJDK) Java 11 and (likely) their Maven version.
Will need a follow-up issue to rework TokenResourceIT without mocking
Note when testing,  TokenResourceIT will work on its own. It only fails when run with other tests as well even if they don't include mocking (bizarre I know). The minimal failure I got to recreate the issue was
mvn clean install jacoco:report-integration jacoco:report-aggregate coveralls:report -Pother-integration-tests,coverage -DskipClientITs=true -Dit.test=SearchResourceIT,TokenResourceIT,UserResourceIT -DfailIfNoTests=false -rf :dockstore-integration-testing

to create a message like (note here TokenResourceIT is failing after UserResourceIT without printing out its name
[INFO] Running io.dockstore.webservice.UserResourceIT
Starting test: testChangingNameFail2
Starting test: testChangingNameFail
Starting test: testSelfDestruct
Starting test: testChangingNameSuccess
Starting test: testChangeUsernameAfterOrgCreation
<IP_ADDRESS> - - [04/Apr/2019:20:48:36 +0000] "GET /users/user/extended HTTP/1.1" 200 27 "-" "Swagger-Codegen/1.0.0/java" 57
...
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
java.lang.IllegalStateException: Failed to generate accessor class 'io.dockstore.webservice.DockstoreWebserviceConfiguration$Access4JacksonDeserializer3fb0be06': class io.dockstore.webservice.DockstoreWebserviceConfiguration$Access4JacksonDeserializer3fb0be06 cannot be cast to class com.fasterxml.jackson.module.afterburner.deser.BeanPropertyMutator (io.dockstore.webservice.DockstoreWebserviceConfiguration$Access4JacksonDeserializer3fb0be06 is in unnamed module of loader 'app'; com.fasterxml.jackson.module.afterburner.deser.BeanPropertyMutator is in unnamed module of loader org.powermock.core.classloader.javassist.JavassistMockClassLoader @3f5dfe69)
	at com.fasterxml.jackson.module.afterburner.deser.PropertyMutatorCollector.buildMutator(PropertyMutatorCollector.java:106)

Coverage decreased (-1.04%) to 75.303% when pulling 511563c625707a31b69354ab094ae794edcf90eb on feature/openjdk11 into be1f537a79769f9a6e9599e7789bb2ce570a9497 on develop.

Coverage decreased (-1.04%) to 75.303% when pulling 511563c625707a31b69354ab094ae794edcf90eb on feature/openjdk11 into be1f537a79769f9a6e9599e7789bb2ce570a9497 on develop.

Only developers OpenJDK 11 or users too?

Developers immediately, users in several months if they want to use the new CLI?


Note that sending email can be optional.

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


fix(default-flatpaks): Module does not add flathub remote when not explicitly specified

I run a custom image, (https://github.com/Oakleafknight06/startingleaf), installed on two systems, my main desktop and a second test "desktop" intel nuc.
On the main pc, default-flatpaks works correctly. On the second one, with the current install (from iso made from ublueos/isogenerator) it doesnt seem to have run at all, and on the previous install showed the notification but didnt seem to do anything.
The previous install was from fedora silverblue iso, and a rebase to my own image.
On both that install and this current one, I found flathub (nor any other flatpak remote) seem to be enabled by default. On the first time installing I manually added flathub, on the second install I have not.
This is the output of systemctl status system-flatpak-setup on my main pc
○ system-flatpak-setup.service - Manage system flatpaks
     Loaded: loaded (/usr/lib/systemd/system/system-flatpak-setup.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: inactive (dead) since Sat 2024-03-16 08:01:53 CST; 12h ago
    Process: 6094 ExecStart=/usr/bin/system-flatpak-setup (code=exited, status=0/SUCCESS)
   Main PID: 6094 (code=exited, status=0/SUCCESS)
        CPU: 195ms

Mar 16 08:01:53 silverbird system-flatpak-setup[6094]: Adding system-wide remote  from
Mar 16 08:01:53 silverbird system-flatpak-setup[6108]: error: Remote "" not found in the system installation
Mar 16 08:01:53 silverbird system-flatpak-setup[6094]: Setting title  for remote
Mar 16 08:01:53 silverbird sudo[6160]:     root : PWD=/ ; USER=gdm ; ENV=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/42/bus DISPLAY= ; COMMAND=/usr/bin/notify-send 'Flatpak Installer' 'Started install of system flatpaks' '--app-name=Flatpak Installer' -u NORMAL
Mar 16 08:01:53 silverbird system-flatpak-setup[6170]: F: An error was encountered searching remote ‘flathub’ for ‘’: Unable to load summary from remote flathub: While fetching https://dl.flathub.org/repo/summary.idx: [6] Couldn't resolve host name
Mar 16 08:01:53 silverbird system-flatpak-setup[6170]: F: An error was encountered searching remote ‘gnome-nightly’ for ‘’: Unable to load summary from remote gnome-nightly: While fetching https://nightly.gnome.org/repo/summary.idx: [6] Couldn't resolve host name
Mar 16 08:01:53 silverbird system-flatpak-setup[6170]: error: No remote refs found for ‘’
Mar 16 08:01:53 silverbird sudo[6212]:     root : PWD=/ ; USER=gdm ; ENV=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/42/bus DISPLAY= ; COMMAND=/usr/bin/notify-send 'Flatpak Installer' 'Finished install of system flatpaks:\\norg.gnome.TextEditor#012org.gnome.World.PikaBackup#012org.mozilla.Firefox' '--app-name=Flatpak Installer' -u NORMAL
Mar 16 08:01:53 silverbird systemd[1]: system-flatpak-setup.service: Deactivated successfully.
Mar 16 08:01:53 silverbird systemd[1]: Finished system-flatpak-setup.service - Manage system flatpaks.

versus on the second pc
○ system-flatpak-setup.service - Manage system flatpaks
     Loaded: loaded (/usr/lib/systemd/system/system-flatpak-setup.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: inactive (dead) since Sat 2024-03-16 19:28:25 CST; 1h 0min ago
    Process: 4725 ExecStart=/usr/bin/system-flatpak-setup (code=exited, status=0/SUCCESS)
   Main PID: 4725 (code=exited, status=0/SUCCESS)
        CPU: 424ms

Mar 16 19:28:25 butterfly system-flatpak-setup[4805]: sudo: unknown user darin
Mar 16 19:28:25 butterfly system-flatpak-setup[4805]: gdm
Mar 16 19:28:25 butterfly system-flatpak-setup[4805]: sudo: error initializing audit plugin sudoers_audit
Mar 16 19:28:25 butterfly system-flatpak-setup[4812]: error: No remote refs found for ‘’
Mar 16 19:28:25 butterfly sudo[4836]:     root : unknown user darin#012gdm ; PWD=/ ; USER=darin#012gdm ;
Mar 16 19:28:25 butterfly system-flatpak-setup[4836]: sudo: unknown user darin
Mar 16 19:28:25 butterfly system-flatpak-setup[4836]: gdm
Mar 16 19:28:25 butterfly system-flatpak-setup[4836]: sudo: error initializing audit plugin sudoers_audit
Mar 16 19:28:25 butterfly systemd[1]: system-flatpak-setup.service: Deactivated successfully.
Mar 16 19:28:25 butterfly systemd[1]: Finished system-flatpak-setup.service - Manage system flatpaks.

I wonder if manually adding flathub remote to recipe fixes this error.
It is indeed noted in docs that flathub will be used by default if not specified, but maybe that function is broken?
I remember 1 user that also had this issue.
Sudo errors are for notify-send, which can't function on login screen (gdm), so that's normal.

How would I manually add flathub remote to the recipe?

How would I manually add flathub remote to the recipe?

You would add remote like this in recipe:
repo-url: https://dl.flathub.org/repo/flathub.flatpakrepo
repo-name: flathub

And this would add it as a system remote, yes?

And this would add it as a system remote, yes?

You add it in system section in your recipe, yes.

How would I manually add flathub remote to the recipe?

You would add remote like this in recipe:
repo-url: https://dl.flathub.org/repo/flathub.flatpakrepo
repo-name: flathub

Also add repo-title: Flathub (system).

Added that into the image now. First without the repo-title, then with. (though it shouldn't change things as far as i'm aware). Now (after each of those) the output of systemctl status system-flatpak-setup looks the same as it does on the main pc.
(ie, this)
○ system-flatpak-setup.service - Manage system flatpaks
     Loaded: loaded (/usr/lib/systemd/system/system-flatpak-setup.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: inactive (dead) since Sun 2024-03-17 20:54:53 CST; 3min 34s ago
    Process: 4615 ExecStart=/usr/bin/system-flatpak-setup (code=exited, status=0/SUCCESS)
   Main PID: 4615 (code=exited, status=0/SUCCESS)
        CPU: 379ms

Mar 17 20:54:53 butterfly system-flatpak-setup[4626]: /usr/bin/system-flatpak-setup: line 23: yq: command not found
Mar 17 20:54:53 butterfly system-flatpak-setup[4627]: error: Invalid remote name
Mar 17 20:54:53 butterfly system-flatpak-setup[4615]: Adding system-wide remote  from
Mar 17 20:54:53 butterfly system-flatpak-setup[4631]: error: Remote "" not found in the system installation
Mar 17 20:54:53 butterfly system-flatpak-setup[4615]: Setting title  for remote
Mar 17 20:54:53 butterfly sudo[4676]:     root : PWD=/ ; USER=gdm ; ENV=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/42/bus DISPLAY= ; COMMAND=/usr/bin/notify-send 'Flatpak Installer' 'Started install of system flatpaks' '--app-name=Flatpak Installer' -u NORMAL
Mar 17 20:54:53 butterfly system-flatpak-setup[4696]: error: No remote refs found for ‘’
Mar 17 20:54:53 butterfly sudo[4725]:     root : PWD=/ ; USER=gdm ; ENV=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/42/bus DISPLAY= ; COMMAND=/usr/bin/notify-send 'Flatpak Installer' 'Finished install of system flatpaks:\\ncom.raggesilver.BlackBox#012org.gnome.TextEditor#012org.gnome.World.PikaBackup#012org.mozilla.Firefox' '--app-name=Flatpak Installer' -u NORMAL
Mar 17 20:54:53 butterfly systemd[1]: system-flatpak-setup.service: Deactivated successfully.
Mar 17 20:54:53 butterfly systemd[1]: Finished system-flatpak-setup.service - Manage system flatpaks.

Nevertheless, flatpak remotes still shows nothing and there are no flatpaks installed.

Not seeing the notifications either btw

Oh, I know what is the issue.
yq was not copied to the system on Build Action on 1.1.0 & below.
Please update Build Action yml to latest 1.2.0 & issue will be solved.

okay. (makes sense theres an error about yq). How would I do that?

Okay so its in .github/workflows/build.yml (I'm still new to this). Should dependabot keep that up to date?
Regardless, if I manually edit uses<EMAIL_ADDRESS>to uses<EMAIL_ADDRESS>that will fix this issue right?

Okay so its in .github/workflows/build.yml (I'm still new to this). Should dependabot keep that up to date? Regardless, if I manually edit uses<EMAIL_ADDRESS>to uses<EMAIL_ADDRESS>that will fix this issue right?

It should. If dependabot somehow didn't notify you of the new release, go to repo Insights, Dependency graph, Dependabot, Recent update jobs & check the status of what happened there.
That's correct way to manually edit.

Had already bumped the version number by editing the file, but I'll give that a look and do that next time

Also, with that change, it still doesn't seem to work properly. On reboot the service might not have run? I didn't see a notification. Ran it manually with systemctl and it showed the notification as if it ran and completed successfully but no flatpaks are installed

Okay so its in .github/workflows/build.yml (I'm still new to this). Should dependabot keep that up to date? Regardless, if I manually edit uses<EMAIL_ADDRESS>to uses<EMAIL_ADDRESS>that will fix this issue right?

It should. If dependabot somehow didn't notify you of the new release, go to repo Insights, Dependency graph, Dependabot, Recent update jobs & check the status of what happened there.
That's correct way to manually edit.

Dependabot wasn't enabled, now it is. should work in the future. thanks!

I'll try in a bit adding another default to see if it installs on my main system, as well as reinstall from iso with the new image and see what each of those do

After some testing and typo fixing, it now works when I run it manually. (with systemctl start system-flatpak-setup.service' ) The issue seems to be with network I think. It fails to download the flatpaks and then stops. I suspect this might be related to the vpn autoconnecting at login. Secondly, there doesn't seem to be an obvious place it tells you if you typoed the name of the flatpak. I did, and only realized while troubleshooting by running systemctl status system-flatpak-setup`. So perhaps that could be improved somehow

Secondly, there doesn't seem to be an obvious place it tells you if you typoed the name of the flatpak.

Automatically checking whether the Flatpak ID exists in the repo would require interfacing with the repository, not sure if that would be hard...

Automatically checking whether the Flatpak ID exists in the repo would require interfacing with the repository, not sure if that would be hard...

If he means the verification of flatpak IDs themself, there was a talk about this a while back about having this integrated in the build-time, since Bluefin had the mistake in pre-installing Pods due to wrong ID, which caused constant retry of the service & unnecessary CPU usage.
However, it can happen that flathub repo could be down for maintenance reasons sometimes, so builds would falsely fail.

If he means on simplifying flatpak list to use direct names instead of IDs, I'm afraid that wouldn't be possible without making a mess.

I'm noting that it seems easy to make a typo in the id of the flatpak and somewhat harder to notice that was the error, making troubleshooting perhaps more difficult. And as you said it's a separate topic, just something I noticed troubleshooting for this issue

That's possible. I never used VPN, so I didn't test how the module behaves with it. It also depends on how VPN is implemented.

Yea I think this is the issue, from further testing. Otherwise it seems it works now

So to fix one could just not have a vpn autostart, or maybe default-flatpaks could start on a longer delay or retry in a minute or two if it fails

So to fix one could just not have a vpn autostart, or maybe default-flatpaks could start on a longer delay or retry in a minute or two if it fails

Maybe systemd service unit could be optimized a bit better in some areas.
If you can test how the default-flatpaks module behaves with different unit settings, it would be good to know the feedback.

Maybe systemd service unit could be optimized a bit better in some areas.
If you can test how the default-flatpaks module behaves with different unit settings, it would be good to know the feedback & if there is a potential fix for your VPN scenario.

Sure I could do that. Might be a while between tests as I'm somewhat busy but i'd love to help improve the project if I can

Still being very unreliable with additional testing, even running manually. However, I have run into what seems to be an additional issue. When I add a second instance of the default-flatpaks module, in order to add a second repo (gnome-nightly specifically), that takes precedence over the previous instance and no longer adds flathub or any of the packages to the install list.
In the second instance of default-flatpaks I did not list any flatpaks to install, only the repo.

Okay, looking at the systemd unit file now. It says Restart=on-failure . What is the failure condition? This could be near the core of the problem, as it runs the service and reports a success without actually installing the desired flatpaks

When I add a second instance of the default-flatpaks module, in order to add a second repo (gnome-nightly specifically), that takes precedence over the previous instance and no longer adds flathub or any of the packages to the install list.

This is a known issue, where default-flatpaks module would need a refactor:
https://github.com/blue-build/modules/issues/146

Okay, looking at the systemd unit file now. It says Restart=on-failure . What is the failure condition?

Failure is usually triggered when repo instance is down or because of some local network issue.

Before refactoring the module, we need to form bash module code guidelines, where all modules would be refactored to conform those. So that would be a chance to address some existing issues like yours & possibly add some better functionality to the modules.
https://github.com/blue-build/modules/issues/157

Failure is usually triggered when repo instance is down or because of some local network issue.

It seems like it might not be doing this quite right. I'll look at it further sometime soon.
Otherwise it seems like everything should be fixable with a refactor when that comes about. 👍🏼

This is a known issue, where default-flatpaks module would need a refactor:
#146

Should this be updated in the docs then? As currently the docs imply that multiple repos work

Should this be updated in the docs then? As currently the docs imply that multiple repos work

I updated it as soon as you mentioned it, it's available on website now.
https://github.com/blue-build/modules/commit/2f304f0d7133b77048b210fbcd80a6ed85d46dd2

I'll close this issue, because it's very fragmented & it seems that the main problem report of this issue is network connection issue (while previously, it was a combination of both problems, yq not being present at the time, which is fixed + network connection problem).
I got the network connection problems also in 1 PC, so I recommend to watch for the issue #346 instead, which I created.


trouble: bundle with r.js not works

Your build_example/r.js example not works.
In console there is error:
Uncaught Error: Mismatched anonymous define() module: function (__WEBPACK_EXTERNAL_MODULE_1__) {

Unfortunately in my project there is same error after create bundle((
I know, errors is in
if(typeof define === 'function' && define.amd)
		define(["angular"], factory);

For bundled file requirejs expected this syntax:
define('/path/to/angular-cache/dist/angular-cache', ['angular'], factory)

I just did:

clone git@github.com:jmdobry/angular-cache.git && cd angular-cache
npm install
grunt build
cd build_examples/r.js
r.js -o require.config.js

and it worked, including opening index.html and running the code. So...closing because I’m not sure this is an issue, if you are convinced that this is really a bug, please feel free to re-open the issue and add more information:

good - Your versions of Angular, Angular-cache, etc, relevant console logs/error, code examples that revealed the issue
better - A plnkr, fiddle, or bin that demonstrates the issue
best - A Pull Request that fixes the issue, including test coverage for the issue and the fix

Otherwise support is done via the mailing list.

Please open index.html and switch to use production version (bundled).
Just this way:
<head>
  <title>My App</title>
  <!-- load scripts dynamically -->
  <!-- <script data-main="main" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.17/require.min.js"></script> -->

  <!-- load bundled scripts -->
<script data-main="bundle" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.17/require.min.js"></script>
</head>

I've run into this before, which is why I filed webpack/webpack#989, but I thought I fixed it...


Fix errors in webpack sample

This PR fixes a number of errors with the webpack sample related to loading fonts, css and sourcemaps.

Can you add this to the config?
    new webpack.ContextReplacementPlugin(
      /\/@arcgis\/core\//, // I think this is right regex
      (data) => {
        delete data.dependencies[0].critical;
        return data;
      },
    ),

To suppress the expression warning. Just so people can see how it's done.

Can you add this to the config?
    new webpack.ContextReplacementPlugin(
      /\/@arcgis\/core\//, // I think this is right regex
      (data) => {
        delete data.dependencies[0].critical;
        return data;
      },
    ),

To suppress the expression warning. Just so people can see how it's done.

@odoe Added ContextReplacementPlugin. Good to merge?

@odoe Added ContextReplacementPlugin. Good to merge?


⚠ Bofrost.es has degraded performance

In 36d161e, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1501 ms

Resolved: Bofrost.es performance has improved in c93170a after 3 hours, 18 minutes.


Blue bar full width layout

What
Add a new template for Browse page headers on the collection application. Update the gem_base with new attributes that have been added to the public_layout.
Why
There are instances of pages on collections that have a coloured background in the heading section. This meant that the the blue bar (which is rendered in the public_layout) had to be rendered by collections otherwise it would result in a gap between the blue bar and coloured section. This solution seemed fine until we had a recent deployment of the global bar. As the global bar includes a blue bar, it meant that the Browse pages had two blue bars. They therefore needed to be removed while the global bar was present and then added back again when the global bar was removed.
To avoid this needing to happen the next time the bar is deployed, this new template has been implemented. It means that if a page has a coloured background heading it can be specified in the template and then it will be applied to the blue bar. This means the blue bar can be rendered in public_layout and so applications don't need to render the blue bar if they have a heading section with a background colour.
Follow these steps if you are doing a Rails upgrade.

https://github.com/alphagov/govuk_publishing_components/pull/3380 depends on this being merged in first


Document API

Would be appreciated to have the methods and options :D

I am going to write it but I haven't had time... Look at plunks, there are selfdescribed examples

Significant documentation examples have been added since this was originally opened.  If there is a specific documentation example that would be useful, please feel free to open a new request and I'll be happy to add it :).

Awesome! :)


CSSStyleSheet.insertRule returning undefined if index argument not provided

Suggested fix:
CSSStyleSheet.js:39
CSSOM.CSSStyleSheet.prototype.insertRule = function(rule, index = this.cssRules.length) {

PR? code is in the esm folder, thanks!

To be honest I don't personally have use cases around CSS API ... for SSR that's not common (but for SSR only I am also moving to uhtml/dom) but time-wise I have no idea and I haven't asked myself that question. If there is a CSSOM alternative (usually when one is dead another one comes up?) I would rather consider that alternative and call it a day ... otherwise monkey patching always worked in the JS world.


CityGML Should be Use-Case Driven

We need those features that support the use cases that CityGML addresses. There is one sketch of high-level use cases in the (October 2018) version of the repo readme file. These were developed from some actual market research and a focus group at ESRI in 2014. We need a target list.

No further discussion and general agreement in meetings indicate that this is resolved.


Search paths for fonts on Apple platforms

Currently, the CoreText source is searching in "/System/Library/Fonts/" for fonts, but it should probably be searching in more than that.
Fonts can be found in:

The user's home directory library, but this one is tricky.
"/Library/Fonts"
"/System/Library/Fonts"
"/Network/Library/Fonts"

The user's home directory might be tricky due to sandboxing and so we shouldn't just put together the paths ourselves, but use the system APIs for this instead. (In sandboxed applications, one doesn't have direct access to ~/Library/ but has access to something in ~/Library/Containers/<application id>/data/Library which contains a symlink to the Fonts directory.)
I think the right thing to do would be to use NSSearchPathForDirectoriesInDomains (https://developer.apple.com/documentation/foundation/1414224-nssearchpathfordirectoriesindoma?language=objc) with NSLibraryDirectory or (NSAllLibrariesDirectory, I don't know which) and a mask of NSAllDomainsMask. We should be able to get this from objc2_foundation (https://docs.rs/objc2-foundation/latest/objc2_foundation/fn.NSSearchPathForDirectoriesInDomains.html)
And finally ... there are ALSO fonts in /System/Library/Fonts/Supplemental which should be scanned.

Ends up: /System/Library/Fonts/Supplemental is already scanned while scanning /System/Library/Fonts ... but the rest remains true!


Update pyproject.toml

Related to this issue https://github.com/python-poetry/poetry/issues/6741

Ran into this today. Would love to see this merged. Thanks!

I also ran into this and had to fork this repo to change master to main.  Can you approve this PR please?

Thanks for the PR; apologies for not checking this repo for a while now!
I have switched to using the default requires = ["poetry-core>=1.0.0"] now. There also has been an issue with one of the tests; nominatim / openstreetmap can be kind of unreliable at times. Keep that in mind when using the code ;-)


Add test for fsPromises.lstat()

I found no test for fs.promises.lstat() for these two cases: "should be a function" and "should return an error if path does not exist", I would like you to assign me this issue.

@qwang135 @Janice0218 you two filed the same issue #514. Maybe the two of you can work together?


Fix Usability issues: add mirage as dependency and robustness to datetime formatting

Fix Usability issues:

add mirage as dependency (to setup.cfg when installing to ensure all the packages are installed)
add robustness to datetime formatting (i.e: support ISO formatting)

I have a fix for this and will create a pull request


AlertDialog Button Not Submit on:keydown

Current Behavior
When I use the Tab to select any button on the dialog, if I press enter nothing is working yet onclick event is firing correctly.
Expected Behavior
When I use the tab key for selection, on Enter keydown I expect the button to execute a function.
Steps To Reproduce
<AlertDialog.Footer>
<AlertDialog.Cancel>Cancel</AlertDialog.Cancel>
<AlertDialog.Action on:click={() => console.log('button clicked')} on:keydown={e=>e.key==='Enter' && console.log('button clicked')}>
Continue
</AlertDialog.Action>
</AlertDialog.Footer>
Link to Reproduction / Stackblitz
No response
More Information
No response

Hi there, this is still happening to me on:
"bits-ui": "^0.18.0"
"svelte": "^4.2.7",
"@sveltejs/kit": "^2.0.0",
AlertDialog action on:click is triggered properly when using the mouse but navigating with TAB and pressing enter does close the dialog but it doesn't trigger the click event.

Hello
I have the same issue.
I'm using:
"bits-ui": "^0.21.13",
"svelte": "^4.2.18",
I found a workaround, but it doesn't feel right to use it like this.
<AlertDialog.Action asChild let:builder>
    <div use:builder.action {...builder}>
        <Button
            {...builder}
            on:click={onSaveComment}
            on:keydown={(e) => e.key === "Enter" && onSaveComment(e)}
            >Save
        </Button>
    </div>
</AlertDialog.Action>

Isn't it meant to work like this?
<AlertDialog.Action
    on:confirm={onSaveComment}
    on:click={onSaveComment}
    on:keydown={(e) => e.key === "Enter" && onSaveComment(e)}
    >Save
</AlertDialog.Action>

Or a custom event would be even better, in order to not forget about one of the 2 events:
<AlertDialog.Action
    on:confirm={onSaveComment}
    >Save
</AlertDialog.Action>