Can we expose active route matching logic as a public utility?

We are using a 3rd party icon component to build a navigation bar for our application. The icon component supports a property selected that when set to true will highlight the icon. We would like to set this property to be true, under the same conditions that vue-router uses internally when determining whether or not to add .router-link-active.
The logic that I would like to use can be seen in the source code here.
A utility function such as isCurrentRouteActive(exact?) would help us out. We could use that to invoke the same logic that vue-router uses internally and pass the result to the 3rd party icon component.
As a workaround we are currently using:
const isActive = this.$route.name === this.nameOption;

But, this will fail for us when either:

There is a unnamed route in the system
There are nested routes in the system (as we essentially want exact = false)

Thank you for your time.

Up \o/
It's can be usefull since "v-link-active" is out and document structure doesn't provide syntax for vue router (active class out of li tag) :
<router-link>

</router-link>

@corsen2000 Revisiting the issue. Isn't the matched array what you were looking for? https://router.vuejs.org/en/api/route-object.html
It allows you to perform custom matches between routes

@posva I think the matched array may be useful in general for this, but unfortunately it can not help my use case. I am using Nuxt.js which does not generate nested routes. For example the router generated looks something like this, when using logically nested routes.
{
  path: "/about",
  component: _42eecee8,
  name: "about"
},
{
  path: "/about/location",
  component: _fab57be6,
  name: "about-location"
},

Because of this my matched away will only ever contain a single route.
If this what not the case and it used nested routes in the router configuration, I could iterate over each of the matches looking for the route that my link refers to and I think it would be helpful. Although I think that would help a couple concerns remain.

It's still may not the exact same logic being used for .router-link-active. I think it would be nice since this feature exists to execute the identical logic in a more flexible way.
Though easier it's more work than a simple function call,

That said, I am unsure that I would have filed this issue in the first place if Nuxt generated nested routes and I knew about the matched technique. I'll consider following up with Nuxt about the route generation.
A few others are active on this issue. Maybe they can comment on whether or not the matched strategy is suitable for them. I unfortunately can't test it fully in my application due to the above Nuxt issue.

+1

How would using $route.matched work as a workaround for this? Something like this?
function isActive(toRoute) {
  for (let match in $route.matched) {
    if (toRoute.path === match.path) {
      return true;
    }
  return false;
}

What would the downsides of using the $route.matched technique be - would there be false positives? False negatives? Issues with params?

As a workaround we are currently using:
const isActive = this.$route.name === this.nameOption;

Where do you put this and how do you check it in Vue/HTML?
I'm using Nuxt for the first time and have big difficulties finding some problems I am facing.

This is now doable with the v-slot api exposed by router-link

I think we're looking for a simple utility that takes a path and returns the matched route(s) as if we were AT that path.
Like a manual version of the standard router initialization. Something like:
router.getMatches(path)


[Chore] Update copyright year

Summary of the Pull Request
Update copyright year to 2024 and added the year of the first PowerToys release.
PR Checklist

[ ] Closes: #xxx
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected

Closing in favor of https://github.com/microsoft/PowerToys/pull/30718. We have a script that checks for exact year, not a range. We can discuss adding 2019- as a follow up. Thanks!

Hi @Aaron-Junker , thanks for opening the PR.
I'm fast tracking this one first:
https://github.com/microsoft/PowerToys/pull/30718
Main reason is that we have a check in Dart CI that would fail with the initial year addition: https://github.com/microsoft/PowerToys/blob/6ea1c039dc6d96d09ee4d96723de5fcd7e449852/.pipelines/versionAndSignCheck.ps1#L70-L74
So I guess that can be discussed later. I do need the 2024 in there to make release builds succeed right now, though ;)

Reopening, since the addition of the beginning year is still a valid request for reviewing.

This is not in conformity with other products. What we could do is removing the copyright altogether (like Terminal) or leave the date out (like Windows binaries)
cc: @crutkas

Uniform it to "Copyright Microsoft Corporation. All rights reserved."

/azp run

/azp run

@crutkas Ready for review

This looks good to me from a copy stance.  @jaimecbernardo PowerShell looks ok as well but would want someone to verify

Merged main in and triggered Dart against this PR, since that's where the script will build. Will merge if all succeeds.
Thank you for the contribution 😉

I updated the description and title to match the final change :)


Can you please upload this to maven?

It's much better to have it as a gradle dependency. Thanks!

@ticofab I plan on adding video picker functionality as well, thought of uploading it to maven after that. But yeah, you're right. If this takes long, I'll upload it soon.

Hi!
Perhaps this will be useful in the meantime. It's available as a Gradle dependency from:
https://jitpack.io/#darsh2/MultipleImageSelect/9aa3325c0b
Would be also nice to have a GitHub release.

@jitpack-io Thank you for making this project to be available as a Gradle dependency! I was busy the past couple of weeks and hence couldn't work on this.

@darsh2 You're welcome! That's what we do:)

Added gradle dependency and github release. Closing this issue.


Life is Strange

Life is Strange is a MacOS compatible game, but when I change the search to Mac only, it disappears from the list.
https://steamdb.info/sub/56692/

Can you give an exact url to the search?

This link shows Life is Strange:  https://steamdb.info/sales/?min_discount=0&min_rating=95
This link, with Mac filter, does not:  https://steamdb.info/sales/?min_discount=0&min_rating=95&category=998
BTW, your site is awesome!  I'm on it everyday, and has saved me a ton of money!!

From: Pavel Djundik<EMAIL_ADDRESS>Sent: March 5, 2018 8:33 AM
To: SteamDatabase/steamdb.info
Cc: tom526; Author
Subject: Re: [SteamDatabase/steamdb.info] Life is Strange (#562)
Can you give an exact url to the search?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/SteamDatabase/steamdb.info/issues/562#issuecomment-370456874, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AdCCWz1XmgGFWovMDCGIYd5csIck2omJks5tbVp5gaJpZM4Scdse.

If you mean sales filtering, then that's expected. Packages don't have an OS defined, apps do, and unfortunately we can't filter packages like that.

Makes sense.
Thanks for the quick reply!

From: Pavel Djundik<EMAIL_ADDRESS>Sent: March 5, 2018 8:49 AM
To: SteamDatabase/steamdb.info
Cc: tom526; Author
Subject: Re: [SteamDatabase/steamdb.info] Life is Strange (#562)
If you mean sales filtering, then that's expected. Packages don't have an OS defined, apps do, and unfortunately we can't filter packages like that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/SteamDatabase/steamdb.info/issues/562#issuecomment-370462861, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AdCCW31UMuoafZ-3PyZxdXweTM72peHNks5tbV5ngaJpZM4Scdse.


Latest commit adds s.el dependency (s-chomp)

After upgrading add-node-modules-path to the latest repo commit (i.e. https://github.com/codesuki/add-node-modules-path/pull/16), Emacs 27.2 now throws an error: File mode specification error: (void-function s-chomp) when opening a file inside a project with a node_modules directory.
The error appears to stem from this line which was added in the latest commit — s-chomp comes from s.el which is not yet bundled with Emacs.

That is true! I guess adding ;; Package-Requires: header will fix this. s.el seems to have a lot of dependents already.
https://melpa.org/#/s

https://github.com/codesuki/add-node-modules-path/releases/tag/1.3.1
Feel free to re-open if it does not work.


panel is not openning\closing when there is icon with html caption

I am using HTML for the caption with icon  , and the problem I am facing is that the panel is not openning and closing while clicking  on the caption.
When clicking the '+' sign or the icon or any white space (where there is no text) the panel responding and openning and closing as expected but when clicking the text caption it does not respond.

This is how I use it:

Hi @yinon111, thanks for reporting this issue.
Looks like the problem is with the icon and not caption as html. I'll be releasing a new version shortly.

Thank you so much for the fast fix !


Fix #14194

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14262/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14262/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14262/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14262/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14262/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14262/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14262/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14262/merge#BCU1XR#0


Restrictions: An user should not be able to delete their own account

When a user tries to delete any account using the Data API, if the target account is their own, the action should be denied.

Hi @bglamadrid ,
I'm interested in this feature. Could you please assign this to me?

Okay @trangntt-016 I'm assigning to you. Have fun! And don't hesitate to ask any questions you may have.

Hi @bglamadrid
Thanks for giving me a chance. To solve this issue, I think Im going to add a Principal to the delete public void delete(Principal principal, @PathVariable String name) and then check if name is the current user. However, adding Principal will affect delete () in other classes such as Seller. I wonder if there are any better approach to make fewer changes.
Also, I see there are some getters and setters, do you mind if I replace them with @Data?

However, adding Principal will affect delete () in other classes such as Seller. I wonder if there are any better approach to make fewer changes.
In the DataUsersController, you can try creating that method as-new, let it do its checks and then call the former method when all checks are passed. You'll also have to move relevant annotations to the new method, so that the REST API is mapped and restricted accordingly.

Also, I see there are some getters and setters, do you mind if I replace them with @DaTa?
I'm not sure which ones are you referring to, can you elaborate please?

@bglamadrid

In the DataUsersController, you can try creating that method as-new, let it do its checks and then call the former method when all checks are passed. You'll also have to move relevant annotations to the new method, so that the REST API is mapped and restricted accordingly.
Thank you for your instruction. I think it's a good solution 😄 . However, one question came into my mind is that is it still okay to throw an exception (User cannot delete herself) in the controller (because we cannot modify the crudService.delete(String name), right?)

I'm not sure which ones are you referring to, can you elaborate please?

public class UserRole
  implements Serializable {

  private static final long serialVersionUID = 1L;

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Basic(optional = false)
  @Column(name = "user_role_id")
  private Long id;
  @Basic(optional = false)
  @Size(min = 1, max = 50)
  @Column(name = "user_role_name")
  private String name;

  public UserRole(UserRole source) {
    this.id = source.id;
    this.name = source.name;
  }

  public UserRole() { }

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

Not sure but I think all those getters() and setters() can be done with @Data 💭 🤔 ❔

@bglamadrid

In the DataUsersController, you can try creating that method as-new, let it do its checks and then call the former method when all checks are passed. You'll also have to move relevant annotations to the new method, so that the REST API is mapped and restricted accordingly.

Thank you for your instruction. I think it's a good solution 😄 . However, one question came into my mind is that is it still okay to throw an exception (User cannot delete herself) in the controller (because we cannot modify the crudService.delete(String name), right?)

I'm not sure which ones are you referring to, can you elaborate please?

public class UserRole
  implements Serializable {

  private static final long serialVersionUID = 1L;

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Basic(optional = false)
  @Column(name = "user_role_id")
  private Long id;
  @Basic(optional = false)
  @Size(min = 1, max = 50)
  @Column(name = "user_role_name")
  private String name;

  public UserRole(UserRole source) {
    this.id = source.id;
    this.name = source.name;
  }

  public UserRole() { }

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

Not sure but I think all those getters() and setters() can be done with @DaTa 💭 🤔 ❔

Oh I see what you mean by @Data now; the lombok project's annotation-based code generation. I had forgotten it existed!
I can raise an issue for this. And if you wish to, I can assign you to it.

While it does help a lot to reduce lines of code, I'm not sure it's a good moment to add it since the API, and for instance, this backend, are subject to change in the foreseeable future. And it will include changes in some of these classes. Plus, I'm not sure how lombok abides when it comes to navigating method calls for one of those getters/setters.

Yeah thanks for your insight @bglamadrid, I need to think about this before using @Data in the future


Add Gitpod configuration

Motivation:
Gitpod is a good starting point for new users.

Link pattern: https://gitpod.io/env1=foo/git-repo-url
Point a directory: https://gitpod.io/#project=annotated-http-service/https://github.com/ikhoon/armeria-examples/tree/create-dynamic-pages/pages
Badge:
Example workspace: https://gitpod.io/#project=annotated-http-service/https://github.com/ikhoon/armeria-examples

Modifications:

Add Gitpod configuration

Result:
You can run Armeria server with zero configuration and installation.

Thank you, @ikhoon :+1:


function calls documentation -> functions are "deprecated" and replaced by tools

Hey  everyone,
I tried to implement function calls and it took me some time to figure out, that your documentation about that is a little bit outdated.
You're refering to "functions" but functions will now be handled by "tools" -> https://platform.openai.com/docs/assistants/tools/function-calling

probably worth submitting a PR and updating it


Added drf_ujson.parsers.UJSONParser

I'm added ujson based parser and tests to it. It was checked by CPython 3.4 and 2.7. All tests are green.

cool! If you could just add a mention of how to use the parser under "Installation" in the Readme I'll be happy to merge this

Done


Move grpcc from cmd/ to core/

The gobindclient uses grpcc, meaning that it should now be in core.
This allows the core directory to be a complete unit.

Codecov Report

Merging #824 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #824   +/-   ##
=======================================
  Coverage   45.03%   45.03%
=======================================
  Files          34       34
  Lines        2727     2727
=======================================
  Hits         1228     1228
  Misses       1309     1309
  Partials      190      190

Impacted Files
Coverage Δ

integration/testutil.go
66.16% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


miniconda install fails on self hosted runner

I have a new windows 10 installation which I would like to use for performance tests with a custom github actions runner.
Unfortunately, the miniconda installation fails as, to my understanding, the installation cannot be found.
I used a very simple action:
name: performance testing

on:
  workflow_dispatch:

env:
  TEST_DATA_DIR: ../_data/

jobs:
  loose_installation:
    name: Performance testing
    runs-on: self-hosted

    steps:
      - uses: actions/checkout@v3
      - uses: conda-incubator/setup-miniconda@v2
        with:
          miniconda-version: "latest"
      - name: Conda info
        run: |
          conda info

When run, the conda-incubator/setup-miniconda@v2 fails with the following error:
Run conda-incubator/setup-miniconda@v2
Gathering Inputs...
Creating bootstrap condarc file in C:\Windows\ServiceProfiles\NetworkService\.condarc...
Ensuring installer...
Running installer...
  C:\actions-runner\_work\_temp\03d89d[27](https://github.com/org/repo/actions/runs/3761861196/jobs/6394006782#step:3:31)-fe9c-4186-a441-ca7c0ed5858b.exe /InstallationType=JustMe /RegisterPython=0 /S /D=3
...
miniconda is succesfullyinstalled
...
No installed conda 'base' environment found at 3!If you are using this action in a self-hosted runner that already provides its own Miniconda installation, please specify its location with a `CONDA` environment variable. If you want us to download and install Miniconda or Miniforge for you, add `miniconda-version: "latest"` or `miniforge-version: "latest"`, respectively, to the parameters for this action.

For some reason the instalation path is set to /D=3 although C:\Windows\ServiceProfiles\NetworkService\miniconda3 is used during miniconda installation. Please let me know if you need more information or logs.

Workaround for future reference for users which encounter the same error:
Initially I decided to run the self hosted runner as a service which executed code as NT AUTHORITY\NETWORK SERVICE user. Instead, I now use an already existing account and installed conda manually which works fine.
Nevertheless, having a workflow which install conda automatically my setup-miniconda would be great!

Hi @GeorgWa thanks for reporting the issue. We still have not properly set testing for self hosted runners, and without more details of your exact environment we cannot fully debug this.
If you can provide what your setup is and the system details, we can take a look at it when setting up testing on a self hosted runner.
Cheers!


Update macro_params.py

This PR updates the brackets in macro_params.py and updates the name of the g_y_annual variable to be compliant with ogcore for multiple industries.

@sarvonz. I am closing this PR per our discussion yesterday.


Support LightGBM for multiple class classification

Currently, LGB in mmlspark only supports binary classification. When will you consider supporting the multiple class classification?

I saw you marked it as TODO in
https://github.com/Azure/mmlspark/blob/master/src/lightgbm/src/test/scala/VerifyLightGBMClassifier.scala
I hope this part will be updated soon.

Is this planned for version 0.14? This is an important feature that "plain" LightGBM supports, but we can't use it in mmlspark

closing this issue as fix has been merged as part of https://github.com/Azure/mmlspark/pull/461
FYI @ekerazha @ericwang915


tf.metrics doesn't include cross_entropy.

In tensorflow estimator, I want to use cross entropy as the evaluation metrics (eval_metric_ops parameter of EstimatorSpec)
However, tf.metrics doesn't have this function. Also, tensorflow estimator doesn't allow me to use tf.nn.sigmoid_cross_entropy_with_logits as the eval_metric_ops.

Let's make it clear, do you expect this?

where p is label, and q is prediction for binary classification.

There is a slightly difference: cross_entropy expects (labels, logits), while tf.metrics expects (labels, predictions).

@facaiy I see. But I was still a bit curious why there is no cross_entropy for tf.metrics..

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Added the API review to consider whether adding cross entropy to tf.metrics makes sense.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


Solving N+1 Problem and Adding Capybara Integration Tests

Description
This pull request addresses two main aspects of the project requirements:

Solving N+1 Problem: The N+1 problem was causing performance issues when fetching all posts and their comments for a user. To solve this problem, we have refactored the code to use eager loading for fetching posts and comments, significantly improving the application's performance. We have analyzed the logs following the guidelines in the article provided and ensured that the N+1 problem is resolved.

Integration Tests using Capybara: We have added integration tests using Capybara to ensure that the user interface behaves as expected for each view in the project. The tests are grouped logically to cover different functionalities and interactions with the application. Each test verifies specific elements and interactions on the respective pages, ensuring that the app's UI functions correctly.

Changes Made
N+1 Problem Fix:

Refactored the code to use eager loading for fetching posts and their comments for a user.
Analyzed logs before and after the fix to demonstrate the performance improvement.

Capybara Integration Tests:

User Index Page:

Test to verify the presence of usernames of all other users.
Test to verify the display of profile pictures for each user.
Test to check the correct number of posts written by each user.
Test to ensure clicking on a user redirects to their show page.

User Show Page:

Test to verify the presence of the user's profile picture.
Test to check the display of the user's username.
Test to ensure the correct number of posts written by the user.
Test to verify the display of the user's bio.
Test to ensure the display of the user's first 3 posts.
Test to check the functionality of the button to view all posts.
Test to ensure clicking on a user's post redirects to the post's show page.
Test to verify that clicking on the "view all posts" button redirects to the user's post index page.

User Post Index Page:

Test to verify the presence of the user's profile picture.
Test to check the display of the user's username.
Test to ensure the correct number of posts written by the user.
Test to verify the display of a post's title.
Test to check the display of some of the post's body.
Test to ensure the display of the first comments on a post.
Test to verify the number of comments a post has.
Test to verify the number of likes a post has.
Test to check the presence of a pagination section if there are more posts than fit on the view.
Test to ensure clicking on a post redirects to the post's show page.

Post Show Page:

Test to verify the presence of the post's title.
Test to check the display of the post's author.
Test to ensure the correct number of comments on the post.
Test to verify the number of likes on the post.
Test to check the display of the post body.
Test to ensure the display of the usernames of each commenter.
Test to verify the display of the comments left by each commenter.

Screenshots
Please find attached the screenshots of the app's logs before

and after the N+1 problem fix.

Testing
All integration tests have been created using Capybara, and RSpec has been used to run the test suite. The tests cover the specified functionalities and interactions as per the project requirements.
Please review the changes and test results and give us your feeback
Thank you for your time and consideration!
Best regards,
@christianonoh & @ellyboi

Thank you! @codepantha


Postgres subscription does not automatically reconnect after database server restart

I have an issue when my subscription drops when the postgres server restarts (during scaling in azure), and does not reconnect when the server comes back online. It seems that the EventStoreDB-subscription has code to handle dropped connections, but that the Postgres subscriptions are just rethrowing the exception:
            try {
               // ...
            }
               // ...
            catch (Exception e) {
                IsDropped = true;
                Log.WarnLog?.Log(e, "Dropped");
                throw;
            }

Couldn't the postgres subscription utilize the same handler in the base class? Something like this:
            catch (Exception e) {
                Dropped(PostgresMappings.AsDropReason(e), e);
                break;
            }

I tried my proposed solution and it works great! :) I'll see if I can create a PR.


Test for nested audience filters

Current dependencies on/for this PR:

main

PR #204   👈

This comment was auto-generated by Graphite.


Request to host package - dartlib

https://github.com/kevmoo/dartlib

This issue has been moved to dart-lang/pub#146.


Code Format with object spread in JavaScript files breaks

VSCode Version:
1.7.1
OS Version:
*OSX 10.12.1
Steps to Reproduce:

userReducer.spec.js
import {
    expect
} from "chai";
import * as actionTypes from "../actions/actionTypes";
import reducer from "./userReducer";

describe("Reducer::User", () => {
    const getInitialState = () => {
        return {};
    };
    const retrievedResponse = {
        data: {
            username: "testUser",
            firstName: "Foo",
            lastName: "Bar",
            customData: {
                permissions: {
                    inventory: true
                }
            }
        }
    };

    it("should retrieve the initial state if the action type is not registered with the reducer", () => {
        const action = {
            type: "UNKNOWN"
        };

        const expected = getInitialState();
        const actual = reducer(undefined, action); //eslint-disable-line no-undefined

        expect(actual).to.deep.equal(expected);
    });

    it("should retrieve the customData and persist it to the user object", () => {

        const action = {
            type: actionTypes.USER_SET,
            options: retrievedResponse
        };

        const user = reducer(undefined, action); //eslint-disable-line no-undefined
        const actual = user.permissions;

        expect(actual).to.exist; //eslint-disable-line no-unused-expressions

    });

    it("should replace the current state of the user object when USER_SET is dispatched", () => {
        const previousState = {
            permissions: {
                inventory: false
            }
        };

        const futureUserState = {...retrievedResponse,
        permissions: { inventory: true } };

        const action = {
            type: actionTypes.USER_SET,
            options: futureUserState
        };

        const expected = futureUserState.permissions.inventory;

        const user = reducer(previousState, action);
        const actual = user.permissions.inventory;

        expect(actual).to.equal(expected);

            });

        it("should return an empty user object if the data is null", () => {

            const futureUserState = {
                data: null
            };

            const action = {
                type: actionTypes.USER_SET,
                options: futureUserState
            };
            const expected = getInitialState();
            const actual = reducer(undefined, action); //eslint-disable-line no-undefined

            expect(actual).to.deep.equal(expected);

        });

    });

Thats what it looks like unformatted.  If I hit the auto format the code will look like this:
import {
    expect
} from "chai";
import * as actionTypes from "../actions/actionTypes";
import reducer from "./userReducer";

describe("Reducer::User", () => {
    const getInitialState = () => {
        return {};
    };
    const retrievedResponse = {
        data: {
            username: "testUser",
            firstName: "Foo",
            lastName: "Bar",
            customData: {
                permissions: {
                    inventory: true
                }
            }
        }
    };

    it("should retrieve the initial state if the action type is not registered with the reducer", () => {
        const action = {
            type: "UNKNOWN"
        };

        const expected = getInitialState();
        const actual = reducer(undefined, action); //eslint-disable-line no-undefined

        expect(actual).to.deep.equal(expected);
    });

    it("should retrieve the customData and persist it to the user object", () => {

        const action = {
            type: actionTypes.USER_SET,
            options: retrievedResponse
        };

        const user = reducer(undefined, action); //eslint-disable-line no-undefined
        const actual = user.permissions;

        expect(actual).to.exist; //eslint-disable-line no-unused-expressions

    });

    it("should replace the current state of the user object when USER_SET is dispatched", () => {
        const previousState = {
            permissions: {
                inventory: false
            }
        };

        const futureUserState = {...retrievedResponse,
        permissions: { inventory: true } };

const action = {
    type: actionTypes.USER_SET,
    options: futureUserState
};

const expected = futureUserState.permissions.inventory;

const user = reducer(previousState, action);
const actual = user.permissions.inventory;

expect(actual).to.equal(expected);

            });

it("should return an empty user object if the data is null", () => {

    const futureUserState = {
        data: null
    };

    const action = {
        type: actionTypes.USER_SET,
        options: futureUserState
    };
    const expected = getInitialState();
    const actual = reducer(undefined, action); //eslint-disable-line no-undefined

    expect(actual).to.deep.equal(expected);

});

    });

Notice that after the object spread is used, everything goes sideways
        const futureUserState = {...retrievedResponse,
        permissions: { inventory: true } };

TS Version
2.1.0-dev.20161103
Trace:
[Trace - 10:17:56 AM] Sending request: format (1249). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/admin/dev/myProject/client/reducers/userReducer.spec.js",
    "line": 1,
    "offset": 1,
    "endLine": 91,
    "endOffset": 8
}
[Trace - 10:17:56 AM] Response received: format (1249). Request took 5 ms.  Response expected: no. Current queue length: 0
Arguments: {
    "file": "/Users/admin/dev/myproject/client/reducers/userReducer.spec.js",
    "line": 89,
    "offset": 1,
    "endLine": 89,
    "endOffset": 9,
    "insertString": ""
}
[Trace - 10:17:56 AM] Sending request: change (1251). Response expected: no. Current queue length: 0
Arguments: {
    "file": "/Users/admin/dev/myproject/client/reducers/userReducer.spec.js",
    "line": 87,
    "offset": 5,
    "endLine": 87,
    "endOffset": 13,
    "insertString": ""
}
[Trace - 10:17:56 AM] Sending request: change (1252). Response expected: no. Current queue length: 0
Arguments: {
    "file": "/Users/admin/dev/myproject/client/reducers/userReducer.spec.js",
    "line": 85,
    "offset": 5,
    "endLine": 85,
    "endOffset": 13,
    "insertString": ""
}
[Trace - 10:17:56 AM] Sending request: change (1253). Response expected: no. Current queue length: 0
Arguments: {
    "file": "/Users/admin/dev/myproject/client/reducers/userReducer.spec.js",
    "line": 84,
    "offset": 5,
    "endLine": 84,
    "endOffset": 13,
    "insertString": ""
}
[Trace - 10:17:56 AM] Sending request: change (1254). Response expected: no. Current queue length: 0
Arguments: {
    "file": "/Users/admin/dev/myproject/client/reducers/userReducer.spec.js",
    "line": 83,
    "offset": 5,
    "endLine": 83,
    "endOffset": 13,
    "insertString": ""
}
[Trace - 10:17:56 AM] Sending request: change (1255). Response expected: no. Current queue length: 0
Arguments: {
    "file": "/Users/admin/dev/myproject/client/reducers/userReducer.spec.js",
    "line": 82,
    "offset": 9,
    "endLine": 82,
    "endOffset": 17,
    "insertString": ""
}

Thank you for opening this issue. Moving this to TypeScript language service repo.

This issue was moved to Microsoft/TypeScript#12084


[BUG] Add plugin modal not working after migration

Description
We have a Django codebase that's able to run two different sites (one in English, the other one in Spanish) using different settings. We're currently on Django CMS 3.11.5 and are migrating to 4.1.0.
I was able to migrate using djangocms-4-migration and the English site configuration works well enough.
But we found an issue on the Spanish site when editing a page: clicking on the "+" button from the structure slideout to add a plugin doesn't work.
Upon closer inspection it seems to be a problem in the Javascript side of things, when a the modal needs to be opened.
What's odd is opening the "Add Plugin" modal using the "+" button works perfectly when loading the structure page on its own (/admin/cms/placeholder/object//structure//)
Steps to reproduce
I'm not sure if there's an easy way to reproduce the issue since it's happening on a specific migrated site. But I can try to create a test site with a similar configuration and see if the issue happens there if that helps.
Expected behaviour
Pressing the "+" button from the structure slideout when editing a page should open the modal to add a plugin.
Actual behaviour
Nothing happens when I click the button. Not even a Javascript error log in the browser console.
Additional information (CMS/Python/Django versions)
I'm running Django 4.2 and Python 3.11
Do you want to help fix this issue?

[ ] Yes, I want to help fix this issue and I will join #workgroup-pr-review on Slack to confirm with the community that a PR is welcome.
[X] No, I only want to report the issue.

@gonzalodelgado Thanks for reporting this!
It might be a double of https://github.com/django-cms/django-cms/issues/7841 . You could check by installing the develop-4 branch on a test system.

This turned out to be happening because of a custom middleware we have that deactivates translations on the admin, not a Django CMS issue.


adding new user

first thing i want to thank your time and effort, after adding new user, after im done exit the app or switching window, try to come back to install nothing shows up no user, please help
thank you

Kreddad, I'm having this same issue. Were you able to gather any information on why it is happening?


"Unable to deserialize to object" on POST /myaccount/_apis/UserEntitlements

I want to create entitlements with azure.devops.v5_1.member_entitlement_management. That works fine except when the platform/Azure DevOps returns a certain type of error. Then the library is not able to deserialize the response:
I bumped up the logging level to DEBUG and found this in the logs:
DEBUG:urllib3.connectionpool:https://vsaex.dev.azure.com:443 "POST /myaccount/_apis/UserEntitlements HTTP/1.1" 200 315
DEBUG:azure.devops.client:Response content: b'{"operationResult":{"isSuccess":false,"errors":[{"key":5015,"value":"You need 1 additional Basic + Test Plans access level for this permission."}],"userId":"7703b750-85bd-6993-8942-db9c076aa356","result":null},"isSuccess":false,"userEntitlement":null}'
DEBUG:msrest.exceptions:Unable to deserialize to object: type, KeyError: ' key: int; value: str '

not relevant for me anymore


text is not selectable

text is not selectable in any terminal emulator

Thank you for your bug report/feature request!
Currently, text selection isn't implemented as a feature in wiki-tui. I'll mark this as a feature request and implement it as soon as I have time!

Hey, @Aneeqasif good news!
I stumbled upon this issue in the cursive repository. There it says that you can (at least in most terminal emulators) press shift to be able to select text. Tested it on alacritty and I can select/copy text.
Please let me know if that works for you!

Hey, @Aneeqasif good news! I stumbled upon this issue in the cursive repository. There it says that you can (at least in most terminal emulators) press shift to be able to select text. Tested it on alacritty and I can select/copy text.
Please let me know if that works for you!

Yes this works by pressing the shift key but it selects text of all interfaces like i cant select text in just the relevant pane

Yes, selecting text with shift will also select the interface.
I don't know if a quick way to fix this (here is an issue asking for the same thing)
If you want I can implement a selection system in wiki-tui, however this will take quite a while

any update on this?

Hey @Aneeqasif,
because this issue was stale and I need additional information, I haven't worked on the text selection
See the last comment on this issue:

If you want I can implement a selection system in wiki-tui,)

If you want a selection system in wiki-tui please let me know and I'll create a feature request (you can also make one if you want)


Indian comma for any number printed

Thank you for brainstorming
You are welcome. Thank you too, for making this.
Is your feature request related to a problem? Please describe.
It is always difficult to gauge how many lakh, crore people are affected.  Say  533088
Describe the solution you'd like
Ensure Indian style commas. For example, write  533088  as  5,33,088
Describe alternatives you've considered
If not possible  533,088 American style numbering would be bearable too.
Additional context
Not necessary

Yeah that might be a very good idea, in turn in enhancing reading capability.
Thank You!


Update README.md

Okay, this looks scary! :-)
I think this is a really important change. People visiting the REPO today does not really get an introduction to what Baobab is and especially why you would want to use it. The README has become too big.
So I created a WIKI that has a more "how to use" perspective, than a "how it is built" perspective. I think that is important to give developers a good intro. I also expand on this to give introductions to patterns and how to solve specific scenarios.
I also included the article I wrote as it has gotten really good feedback, even dailyjs mentioned it being a good introduction to Baobab.
To me this LIB has been as big as the React JS release itself. It truly is the "next generation" of application architecture and we have to make it easy for other developers to understand what this is all about :-)
I have also reworked a lot of the examples to be more app related. I hope you like :-)

First of all, thank you for the amazing library!
I really think the concept of a centralized state object simplifies a lot the app architecture. Simplify in the powerful way described by Rich Hickey. We are using in production on a big project, and we can easily fell the benefits. So I agree that you should "sell" the library as an architecture solution!
I even wrote a post about this in my blog (first post :) ), in which I use a more naive implementation of a unique State object.
All the frameworks/libraries I found were based on React, and Baobab is the first that is framework-agnostic. This is a good thing, since we use Angular :) I'll try to implement the same sample app using Baobab, and I can come back with the experience.
One more time, thank you very much for the awesome work!

Hi @lucasmreis ,
Thanks for sharing that video, really inspiring stuff :-)
It would actually be great to have a similar "Angular practices" on the wiki, like the "React JS practices" now. Maybe you want to share your experiences there? I have not personally used Baobab with Angular, but I have been working on flux-angular and have the experience that FLUX like architectures does indeed help out Angular developers :-)

:+1: as soon as I have something to share with you I come back!

I disagree with the premise for this PR. I was introduced to Baobab from a co-worker posting a link straight to the readme. It wasn't hard for me to quickly realize how useful the library is for global state management. It would be a shame to take such well written documentation off the front page.

@jondlm Good thing we got an other perspective on this :-) Yeah, removing the readme content is a bit drastic, though I think it is important to acknowledge that developers comes to the repo with different from different angles. Like you I instantly recognized how I could use Baobab with my React JS application, it was the missing piece, though did I not have that experience it might have been difficult to understand why I would need the lib. From that angle I think the readme is more confusing than helpful.
So maybe a good compromise here is to just link to the Wiki on the existing readme?

@christianalfoni, this is probably what I will do soon. I will keep the README upfront and link to the wiki (thanks for it by the way :) )for more specific matters. I need some time however to read the wiki and adjust things if needed.

:+1:

That seems like a great way to proceed. Thanks for the hard work all around!

I am closing this but this does not mean I finished reading the wiki :). You guys did a huge work on it and now with the v1 I shall peruse it and update it so it can remain a fine tool.


Fix for PSR4 Composer warning

Error form composer after the autoload generation
Deprecation Notice: Class ZendDeveloperTools\MatchInterface located in ./vendor/zendframework/zend-developer-tools/src/Match/MatchInterface.php does not comply with psr-4 autoloading standard. It will not autoload anymore in Composer v1.11+. in phar:///usr/local/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:185
Deprecation Notice: Class ZendDeveloperTools\Controller\IndexController located in ./vendor/zendframework/zend-developer-tools/src/Controller/DeveloperToolsController.php does not comply with psr-4 autoloading standard. It will not autoload anymore in Composer v1.11+. in phar:///usr/local/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:185

run curl -LO https://getcomposer.org/composer.phar && php composer.phar install -o to get this error
the message will be only display on the latest version, not on the stable released version.

[x] Is this related to documentation?
dont think so

I rebased this against the develop branch as it includes file renames (even though classes are not renamed). I also changed the test file related to the ConfigCollector to reflect that name. WIll go out with a new minor release shortly.
Thanks @kokspflanze !


[QUESTION] why chunking import xlsx doesn't help in production server

i want to import an excel with only 500 rows of data just like in the screenshot. in local, this import function works fine.
\Excel::filter('chunk')->load(storage_path('app/imported/mentee/' .  $filename))->chunk(50, function($results)
        {
            $skip = 0;
            $insert = 0;

            foreach($results as $item)
            {
                if ($item) {
                    $mentee = User::where('email', $item->email)->first();

                    try
                    {
                        if ($mentee) {
                            continue;
                        }
                        else
                        {
                            $user = User::create([
                                        'username'  => strtok($item->email,'@'),
                                        'email'     => $item->email,
                                        'password'  => bcrypt($item->nim),
                                    ]);

                            $user->profile()->save(
                                Profile::create([
                                    'user_id'   => $user->id,
                                    'name'      => $item->nama,
                                    'nim'       => $item->nim,
                                    'faculty'   => Profile::getFakultas($item->nim),
                                    'major'     => Profile::getProdi($item->nim),
                                    'batch'     => Profile::getAngkatan($item->nim),
                                    'gender'    => $item->jenis_kelamin,
                                    'religion'  => strtolower($item->agama),
                                    'phone'     => $item->no_hp,
                                    'line_id'   => $item->id_line,
                                ]));

                            $user->assignRole('mentee');

                            $user->notify(new UserRegistered($user, $item->nim));

                            $insert++;
                        }
                    }
                    catch (Exception $e)
                    {
                        continue;
                        $skip++;
                    }
                }
            }
        });

but when i do it at production server, it only import 20 data in 2-3 minutes and then the browser gives me :

This site can’t be reached
The webpage at https://simentor.net/organizer/mentee/import might be temporarily down or it may have moved permanently to a new web address.
ERR_SPDY_PROTOCOL_ERROR

i've used set_time_limit(0) but still no luck
i also provide the logs
Package version, Laravel version
Package : 2.1.0, Laravel : 5.3
Expected behaviour
it should be able to import more than just 20 data in 3 minutes and not aborting right?
Actual behaviour
import only 20 data and browser give "This site can't be reached"
Exception stack trace
nothing related to the import in logs
Screenshot of Excel file

sorry, it seems that it was happened because i used "sync" for QUEUE_DRIVER in .env. but changing into "database" made the import fail/skipped. is there something wrong with my code?


adding verbose option for error display

In the future (#28) this will be added for command output also. For now, just error display is more verbose.

Command description example

In action

Build and Integration tests successful.


Configurable code window font size and minor fixes

This PR implements #669, which can be triggered by holding down Ctrl and then scrolling to change the font size in a code window.
Additionally, the following minor issues were fixed:

Scrolling with a mouse wheel in a UI panel caused the panel to scroll all the way up or down, instead of scrolling by a reasonable amount. This has been fixed.

I'm still unsure what caused this, though. I fixed it by setting the scroll delta per scroll input to a much lower amount, but they weren't changed before, so the issue had to originate from somewhere else.

The LSP graph provider now works again. It previously failed due to exceptions related to resolving the OmniSharp dependencies.
Unity was updated to 2022.3.52f1.

And the test image is failing again due to a missing CI docker image. This should be resolved within 48h (the issue in game-ci about Unity images not being generated correctly has been fixed some time ago).


Fix ament dependency

Related to https://github.com/micro-ROS/micro_ros_setup/issues/204 and https://github.com/ament/ament_cmake/issues/285

More information: https://github.com/ament/ament_cmake/issues/285


Bank API - Update documentation on website to match the actual responses

Documentation on Bank API page https://thenewboston.com/bank-api/accounts does not match actual responses from django rest framework.
To see actual responses go to:
<IP_ADDRESS> - Bank IP or
<IP_ADDRESS> - Validators IP
This needs to be updated for all endpoints

Closing, creating standardized issues for all doc updates


New version: 7S2P.Effie version 4.0.3

Created by 🥟 Dumplings in workflow run #7864.

Log
Updated: 4.0.1 → 4.0.3
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

@wingetbot run


What is my "NRDB Deck ID"?

Looking to import deck from NRDB using Jinteki.net "Import Deck" button (rather than, say, a copy/paste text method).
It asks for "NRDB Deck ID". How do I discern what this ID might be, when viewing my deck on NRDB?
Intuitively, I would think to find it in the string from the URL.
For instance, when viewing a deck of mine at this address: https://netrunnerdb.com/en/deck/view/7e591fe9-5863-425e-897b-14afc4659103
I would think the DeckID would be the "7e591fe9-5863-425e-897b-14afc4659103" portion.
But this yields no joy, so I'm not seeing something obvious.

you should be able to paste the full url for your deck into jnet.
If your settings don't allow the decks to be viewed, that won't work.
-jason
On Sat, Dec 10, 2022 at 1:01 PM Scott Saccenti @.***>
wrote:

Looking to import deck from NRDB using Jinteki.net "Import Deck" button
(rather than, say, a copy/paste text method).
It asks for "NRDB Deck ID". How do I discern what this ID might be, when
viewing my deck on NRDB?
Intuitively, I would think to find it in the string from the URL.
For instance, when viewing a deck of mine at this address:
https://netrunnerdb.com/en/deck/view/7e591fe9-5863-425e-897b-14afc4659103
I would think the DeckID would be the
"7e591fe9-5863-425e-897b-14afc4659103" portion.
But this yields no joy, so I'm not seeing something obvious.
—
Reply to this email directly, view it on GitHub
https://github.com/NetrunnerDB/netrunnerdb/issues/717, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADA2ERFUA3LQWSDHP33HZ3WMTHPDANCNFSM6AAAAAAS2N2TCI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


cpu run exhaust

When I run code filex.txt,the cpu will run to 98%,then I found that it will trverse the whole /home/$USER directory,because the directory have too many files,so cpu will run exhaust.

VSCode Version:
OS Version:
版本 1.22.2
提交 3aeede733d9a3098f7b4bdc1f66b63b0f48c1ef9
日期 2018-04-12T16:34:44.222Z
Shell 1.7.12
渲染器 58.0.3029.110
Node 7.9.0
架构 x64
Steps to Reproduce:

1.When I run code filex.txt,the cpu will run to 98%,then I found that it will trverse the whole /home/$USER directory,because the directory have too many files,so cpu will run exhaust.
2.

Does this issue occur when all extensions are disabled?: Yes/No
yes

Can you follow this wiki and post the results back here to understand more about why performance is so bad for you: https://github.com/Microsoft/vscode/wiki/Performance-Issues
Thanks!


docker compose装完以后一直这样

报错log
gpw-manticoresearch  | Still waiting for Web (Count: 20).
gpw-manticoresearch  | Still waiting for Web (Count: 40).
gpw-manticoresearch  | Still waiting for Web (Count: 60).
gpw-manticoresearch  | Still waiting for Web (Count: 80).
gpw-manticoresearch  | Still waiting for Web (Count: 100).
gpw-manticoresearch  | Still waiting for Web (Count: 120).
gpw-manticoresearch  | Still waiting for Web (Count: 140).
gpw-manticoresearch  | Still waiting for Web (Count: 160).
gpw-manticoresearch  | Still waiting for Web (Count: 180).
gpw-manticoresearch  | Still waiting for Web (Count: 200).
gpw-manticoresearch  | Still waiting for Web (Count: 220).
gpw-manticoresearch  | Still waiting for Web (Count: 240).
gpw-manticoresearch  | Still waiting for Web (Count: 260).
gpw-manticoresearch  | Still waiting for Web (Count: 280).
gpw-manticoresearch  | Still waiting for Web (Count: 300).
gpw-manticoresearch  | Still waiting for Web (Count: 320).
gpw-manticoresearch  | Still waiting for Web (Count: 340).
gpw-manticoresearch  | Still waiting for Web (Count: 360).
gpw-manticoresearch  | Still waiting for Web (Count: 380).
gpw-manticoresearch  | Still waiting for Web (Count: 400).
gpw-manticoresearch  | Still waiting for Web (Count: 420).
gpw-manticoresearch  | Still waiting for Web (Count: 440).
gpw-manticoresearch  | Still waiting for Web (Count: 460).
gpw-manticoresearch  | Still waiting for Web (Count: 480).
gpw-manticoresearch  | Still waiting for Web (Count: 500).
gpw-manticoresearch  | Still waiting for Web (Count: 520).
gpw-manticoresearch  | Still waiting for Web (Count: 540).
gpw-manticoresearch  | Still waiting for Web (Count: 560).
gpw-manticoresearch  | Still waiting for Web (Count: 580).
gpw-manticoresearch  | Still waiting for Web (Count: 600).
gpw-manticoresearch  | Still waiting for Web (Count: 620).
gpw-manticoresearch  | Still waiting for Web (Count: 640).
gpw-manticoresearch  | Still waiting for Web (Count: 660).
gpw-manticoresearch  | Still waiting for Web (Count: 680).
gpw-manticoresearch  | Still waiting for Web (Count: 700).
gpw-manticoresearch  | Still waiting for Web (Count: 720).
gpw-manticoresearch  | Still waiting for Web (Count: 740).
gpw-manticoresearch  | Still waiting for Web (Count: 760).
gpw-manticoresearch  | Still waiting for Web (Count: 780).
gpw-manticoresearch  | Still waiting for Web (Count: 800).
gpw-manticoresearch  | Still waiting for Web (Count: 820).
gpw-manticoresearch  | Still waiting for Web (Count: 840).
gpw-manticoresearch  | Still waiting for Web (Count: 860).
gpw-manticoresearch  | Still waiting for Web (Count: 880).
gpw-manticoresearch  | Still waiting for Web (Count: 900).
gpw-manticoresearch  | Still waiting for Web (Count: 920).
gpw-manticoresearch  | Still waiting for Web (Count: 940).
gpw-manticoresearch  | Still waiting for Web (Count: 960).
gpw-manticoresearch  | Still waiting for Web (Count: 980).
gpw-manticoresearch  | Still waiting for Web (Count: 1000).
gpw-manticoresearch  | Still waiting for Web (Count: 1020).
gpw-manticoresearch  | Still waiting for Web (Count: 1040).
gpw-manticoresearch  | Still waiting for Web (Count: 1060).
gpw-manticoresearch  | Still waiting for Web (Count: 1080).
gpw-manticoresearch  | Still waiting for Web (Count: 1100).
gpw-manticoresearch  | Still waiting for Web (Count: 1120).
gpw-manticoresearch  | Still waiting for Web (Count: 1140).
gpw-manticoresearch  | Still waiting for Web (Count: 1160).
gpw-manticoresearch  | Still waiting for Web (Count: 1180).
gpw-manticoresearch  | Still waiting for Web (Count: 1200).
gpw-manticoresearch  | Still waiting for Web (Count: 1220).
gpw-mysql            | 2024-02-26 03:22:02+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.3.39+maria~ubu2004 started.
gpw-web              | ====== Composer Install ======
gpw-web              | Composer version 2.7.1 2024-02-09 15:26:28
gpw-web              | Installing dependencies from lock file (including require-dev)
gpw-web              | Verifying lock file contents can be installed on current platform.
gpw-web              | Package operations: 92 installs, 0 updates, 0 removals
gpw-web              |
gpw-web              | In Filesystem.php line 260:
gpw-web              |
gpw-web              |   /var/www/vendor does not exist and could not be created:
gpw-web              |
gpw-web              |
gpw-web              | install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--download-only] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-progress] [--no-install] [--audit] [--audit-format AUDIT-FORMAT] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [...]
gpw-web              |
gpw-web              |
gpw-mysql            | 2024-02-26 03:22:03+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
gpw-mysql            | 2024-02-26 03:22:03+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.3.39+maria~ubu2004 started.
gpw-mysql            | 2024-02-26 03:22:03+00:00 [Note] [Entrypoint]: Initializing database files
gpw-mysql            |
gpw-mysql            |
gpw-phpmyadmin       | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
gpw-phpmyadmin       | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
gpw-phpmyadmin       | [Mon Feb 26 03:22:04.492563 2024] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.57 (Debian) PHP/8.2.8 configured -- resuming normal operations
gpw-phpmyadmin       | [Mon Feb 26 03:22:04.492812 2024] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
gpw-web              | ====== Yarn Install ======
gpw-web              | yarn install v1.22.19
gpw-web              | [1/4] Resolving packages...
gpw-web              | [2/4] Fetching packages...
gpw-web              | [3/4] Linking dependencies...
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^17.0.0 || ^18.0.0".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^17.0.0 || ^18.0.0".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "react@>=16".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "rollup@>=2".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-mysql            | PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
gpw-mysql            | To do so, start the server, then issue the following command:
gpw-mysql            |
gpw-mysql            | '/usr/bin/mysql_secure_installation'
gpw-mysql            |
gpw-mysql            | which will also give you the option of removing the test
gpw-mysql            | databases and anonymous user created by default.  This is
gpw-mysql            | strongly recommended for production servers.
gpw-mysql            |
gpw-mysql            | See the MariaDB Knowledgebase at http://mariadb.com/kb
gpw-mysql            |
gpw-mysql            | Please report any problems at http://mariadb.org/jira
gpw-mysql            |
gpw-mysql            | The latest information about MariaDB is available at http://mariadb.org/.
gpw-mysql            |
gpw-mysql            | Consider joining MariaDB's strong and vibrant community:
gpw-mysql            | https://mariadb.org/get-involved/
gpw-mysql            |
gpw-mysql            | 2024-02-26 03:22:06+00:00 [Note] [Entrypoint]: Database files initialized
gpw-mysql            | 2024-02-26 03:22:06+00:00 [Note] [Entrypoint]: Starting temporary server
gpw-mysql            | 2024-02-26 03:22:06+00:00 [Note] [Entrypoint]: Waiting for server startup
gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite > @babel/plugin-transform-react-jsx ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
gpw-web              | warning "@rollup/plugin-yaml ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "alias-hq ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-mysql            | 2024-02-26  3:22:06 0 [Note] Starting MariaDB 10.3.39-MariaDB-1:10.3.39+maria~ubu2004 source revision ca001cf2048f0152689e1895e2dc15486dd0b1af as process 108
gpw-mysql            | 2024-02-26  3:22:06 0 [Warning] option 'innodb-strict-mode': boolean value '0;' wasn't recognized. Set to OFF.
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Using Linux native AIO
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Uses event mutexes
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Number of pools: 1
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Using SSE2 crc32 instructions
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Completed initialization of buffer pool
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Creating shared tablespace for temporary tables
gpw-web              | warning "eslint-plugin-jest > @typescript-eslint/experimental-utils > @typescript-eslint/typescript-estree ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | error Could not write file "/var/www/yarn-error.log": "EACCES: permission denied, open '/var/www/yarn-error.log'"
gpw-web              | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
gpw-web              | error An unexpected error occurred: "EACCES: permission denied, mkdir '/var/www/node_modules'".
gpw-web              |
gpw-web              | ====== Yarn Start ======
gpw-web              | Run migrations...
gpw-web              | /var/www/.docker/web/entrypoint.sh: line 30: /var/www/vendor/bin/phinx: No such file or directory
gpw-web              | PHINX FAILED TO RUN MIGRATIONS
gpw-web              | ====== Composer Install ======
gpw-web              | Composer version 2.7.1 2024-02-09 15:26:28
gpw-web              | Installing dependencies from lock file (including require-dev)
gpw-web              | Verifying lock file contents can be installed on current platform.
gpw-web              | Package operations: 92 installs, 0 updates, 0 removals
gpw-web              |
gpw-web              | In Filesystem.php line 260:
gpw-web              |
gpw-web              |   /var/www/vendor does not exist and could not be created:
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
gpw-mysql            | 2024-02-26  3:22:06 0 [Note] InnoDB: Waiting for purge to start
gpw-web              |
gpw-web              |
gpw-mysql            | 2024-02-26  3:22:07 0 [Note] InnoDB: 10.3.39 started; log sequence number 1625419; transaction id 20
gpw-mysql            | 2024-02-26  3:22:07 0 [Note] Plugin 'FEEDBACK' is disabled.
gpw-mysql            | 2024-02-26  3:22:07 0 [Warning] 'user' entry 'root@76e1c3d0a797' ignored in --skip-name-resolve mode.
gpw-mysql            | 2024-02-26  3:22:07 0 [Warning] 'proxies_priv' entry '@% root@76e1c3d0a797' ignored in --skip-name-resolve mode.
gpw-mysql            | 2024-02-26  3:22:07 0 [Note] Reading of all Master_info entries succeeded
gpw-mysql            | 2024-02-26  3:22:07 0 [Note] Added new Master_info '' to hash table
gpw-mysql            | 2024-02-26  3:22:07 0 [Note] mysqld: ready for connections.
gpw-web              | install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--download-only] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-progress] [--no-install] [--audit] [--audit-format AUDIT-FORMAT] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [...]
gpw-web              |
gpw-web              |
gpw-mysql            | Version: '10.3.39-MariaDB-1:10.3.39+maria~ubu2004'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
gpw-mysql            | 2024-02-26 03:22:07+00:00 [Note] [Entrypoint]: Temporary server started.
gpw-mysql            | 2024-02-26 03:22:10+00:00 [Note] [Entrypoint]: Creating database gazelle
gpw-mysql            | 2024-02-26 03:22:10+00:00 [Note] [Entrypoint]: Creating user gazelle
gpw-mysql            | 2024-02-26 03:22:10+00:00 [Note] [Entrypoint]: Giving user gazelle access to schema gazelle
gpw-mysql            | 2024-02-26 03:22:10+00:00 [Note] [Entrypoint]: Securing system users (equivalent to running mysql_secure_installation)
gpw-mysql            |
gpw-mysql            | 2024-02-26 03:22:10+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/gazelle.sql
gpw-mysql            |
gpw-mysql            |
gpw-mysql            | 2024-02-26 03:22:12+00:00 [Note] [Entrypoint]: Stopping temporary server
gpw-mysql            | 2024-02-26  3:22:12 0 [Note] mysqld (initiated by: unknown): Normal shutdown
gpw-mysql            | 2024-02-26  3:22:12 0 [Note] InnoDB: FTS optimize thread exiting.
gpw-mysql            | 2024-02-26  3:22:12 0 [Note] Event Scheduler: Purging the queue. 0 events
gpw-mysql            | 2024-02-26  3:22:12 0 [Note] InnoDB: Starting shutdown...
gpw-mysql            | 2024-02-26  3:22:12 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
gpw-mysql            | 2024-02-26  3:22:12 0 [Note] InnoDB: Buffer pool(s) dump completed at 240226  3:22:12
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Shutdown completed; log sequence number 3501354; transaction id 1279
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] mysqld: Shutdown complete
gpw-mysql            |
gpw-mysql            | 2024-02-26 03:22:14+00:00 [Note] [Entrypoint]: Temporary server stopped
gpw-mysql            |
gpw-mysql            | 2024-02-26 03:22:14+00:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up.
gpw-mysql            |
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] Starting MariaDB 10.3.39-MariaDB-1:10.3.39+maria~ubu2004 source revision ca001cf2048f0152689e1895e2dc15486dd0b1af as process 1
gpw-mysql            | 2024-02-26  3:22:14 0 [Warning] option 'innodb-strict-mode': boolean value '0;' wasn't recognized. Set to OFF.
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Using Linux native AIO
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Uses event mutexes
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Number of pools: 1
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Using SSE2 crc32 instructions
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Completed initialization of buffer pool
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Creating shared tablespace for temporary tables
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Waiting for purge to start
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: 10.3.39 started; log sequence number 3501354; transaction id 1280
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] Plugin 'FEEDBACK' is disabled.
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] Server socket created on IP: '::'.
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] Reading of all Master_info entries succeeded
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] Added new Master_info '' to hash table
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] mysqld: ready for connections.
gpw-mysql            | Version: '10.3.39-MariaDB-1:10.3.39+maria~ubu2004'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
gpw-mysql            | 2024-02-26  3:22:14 0 [Note] InnoDB: Buffer pool(s) load completed at 240226  3:22:14
gpw-web              | ====== Yarn Install ======
gpw-web              | yarn install v1.22.19
gpw-web              | [1/4] Resolving packages...
gpw-web              | [2/4] Fetching packages...
gpw-web              | [3/4] Linking dependencies...
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^17.0.0 || ^18.0.0".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^17.0.0 || ^18.0.0".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "react@>=16".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "rollup@>=2".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite > @babel/plugin-transform-react-jsx ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
gpw-web              | warning "@rollup/plugin-yaml ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "alias-hq ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "eslint-plugin-jest > @typescript-eslint/experimental-utils > @typescript-eslint/typescript-estree ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | error Could not write file "/var/www/yarn-error.log": "EACCES: permission denied, open '/var/www/yarn-error.log'"
gpw-web              | error An unexpected error occurred: "EACCES: permission denied, mkdir '/var/www/node_modules'".
gpw-web              | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
gpw-web              |
gpw-web              | ====== Yarn Start ======
gpw-web              | Run migrations...
gpw-web              | /var/www/.docker/web/entrypoint.sh: line 30: /var/www/vendor/bin/phinx: No such file or directory
gpw-web              | PHINX FAILED TO RUN MIGRATIONS
gpw-web              | ====== Composer Install ======
gpw-web              | Composer version 2.7.1 2024-02-09 15:26:28
gpw-web              | Installing dependencies from lock file (including require-dev)
gpw-web              | Verifying lock file contents can be installed on current platform.
gpw-web              | Package operations: 92 installs, 0 updates, 0 removals
gpw-web              |
gpw-web              | In Filesystem.php line 260:
gpw-web              |
gpw-web              |   /var/www/vendor does not exist and could not be created:
gpw-web              |
gpw-web              |
gpw-web              | install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--download-only] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-progress] [--no-install] [--audit] [--audit-format AUDIT-FORMAT] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [...]
gpw-web              |
gpw-web              |
gpw-web              | ====== Yarn Install ======
gpw-web              | yarn install v1.22.19
gpw-web              | [1/4] Resolving packages...
gpw-web              | [2/4] Fetching packages...
gpw-web              | [3/4] Linking dependencies...
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^17.0.0 || ^18.0.0".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^17.0.0 || ^18.0.0".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "react@>=16".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "rollup@>=2".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "@preact/preset-vite > @babel/plugin-transform-react-jsx ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^2.0.0".
gpw-web              | warning "@rollup/plugin-yaml ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "alias-hq ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>gpw-web              | warning "eslint-plugin-jest > @typescript-eslint/experimental-utils > @typescript-eslint/typescript-estree ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | warning "remark-extended-table ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>gpw-web              | error Could not write file "/var/www/yarn-error.log": "EACCES: permission denied, open '/var/www/yarn-error.log'"
gpw-web              | error An unexpected error occurred: "EACCES: permission denied, mkdir '/var/www/node_modules'".
gpw-web              | info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
gpw-web              |
gpw-web              | ====== Yarn Start ======
gpw-web              | Run migrations...
gpw-web              | /var/www/.docker/web/entrypoint.sh: line 30: /var/www/vendor/bin/phinx: No such file or directory
gpw-web              | PHINX FAILED TO RUN MIGRATIONS

老哥你解决了没,我和你问题一样
没，不用了。

gpw-web | error Could not write file "/var/www/yarn-error.log": "EACCES: permission denied, open '/var/www/yarn-error.log'"
gpw-web | error An unexpected error occurred: "EACCES: permission denied, mkdir '/var/www/node_modules'".

看起来是目录权限问题，


[HOLD] [New Feature] Implement URL Previews

Coming from https://github.com/Expensify/Expensify/issues/149670
cc @wojtus7
Proposal
Implement Link Previews in New Expensify
Problem:
When a user shares a traditional “blue link” URL with chat participants in New Expensify they require an additional interaction from the participants to figure out whether the content is relevant to them. This is a drag on productivity and also forces the user to leave the app or switch context. When presented with links like these users might not feel a strong urge to interact with them at all.
Solution:
A common solution for this is to include some form of an expandable “link preview” as a convenience (no need to leave the chat) while providing quick context and increasing the likelihood that people will interact with the content.
Slack thread:
https://expensify.slack.com/archives/C01GTK53T8Q/p1676052871304119
Slack:

iMessage:

WhatsApp:

Tasks

[x] Post Proposal (full Problem/Solution statement) in #expensify-open-source
[x] Wait at least one full business day, and until the post has a majority (2/3) of positive reactions (👍)
[x] Paste Proposal in the space above with a link to the Slack thread
[ ] Email<EMAIL_ADDRESS>and paste in the Proposal
[x] Fill out the High-level overview of the problem, Timeline, and Terminology sections of the Design Doc
[ ] Email<EMAIL_ADDRESS>(continue the same email chain as before) with the link to your Design Doc
[x] Host a pre-design meeting (example) in #expensify-open-source to discuss any necessary details in public before filling out the High-level of proposed solution section.
[x] Fill out the High-level of proposed solution section
[ ] Email<EMAIL_ADDRESS>again with links to the doc and pre-design conversation in Slack
[ ] Add the DesignDocReview label to get the High-level of proposed solution section reviewed
[ ] Respond to any questions or concerns and bring up blockers in Slack to get a consensus if necessary
[ ] Confirm that the doc has the minimum necessary number of reviews before proceeding
[ ] Host another pre-design meeting in #expensify-open-source to ask for engineering feedback on the technical solution.
[ ] Fill out the Detailed implementation of the solution and related sections.
[ ] Re-add the DesignDocReview label to this issue
[ ] Respond to any questions or concerns and bring up blockers in Slack to get consensus if necessary
[ ] Confirm that the doc has the minimum necessary number of reviews before proceeding
[ ] Email<EMAIL_ADDRESS>one last time to let them know the Design Doc is moving into the implementation phase
[ ] Implement the changes
[ ] Send out a follow up email to<EMAIL_ADDRESS>once everything has been implemented and do a Project Wrap-Up retrospective that provides:

Summary of what we accomplished with this project
What went well?
What could we have done better?
What did we learn?

We've already got some of the scaffolding in the API endpoint set up to fetch the metadata itself, but I think the original MVP design was pretty underwhelming so gonna think about a new solution...
Basic high level design...

I think we'd want to support multiple links...
The metadata should be returned in the reportAction.message, but not necessarily stored on it.
We can resolve it and return it when syncing reportActions or pushing them to clients.
We should get the metadata itself from a cache or create and cache url metadata when a comment is created that has a link in it.
We can then cache the url metadata with a key of url? If someone shares the same URL we won't have to get the metadata again. [url]: {metadata: {...}, lastFetched: <timestamp>} (maybe just use nvps for this?)
If a new comment is created with the same url we will check to see when it was lastFetched and maybe re-fetch it or else just return the cached version. And we can have some kind of reasonable default length of time (1 week) to trigger the re-fetch.

Later improvements

Clients could technically end up with previews that are out of date and cached locally at some point. This doesn't seem too important to fix yet. But we could future proof this by including the lastFetched in every link meta data preview. If a client tries to render the preview then we trigger it an update in the server then push out the new metadata (if it has changed) or just update the lastFetched.

Started a predesign here: https://expensify.slack.com/archives/C01GTK53T8Q/p1676659234489209
Looks like we are going to work with SWM on this one and most likely use a 3rd party API so our internal team can prioritize road map features over this "nice to have" feature.

Going to do this one a bit looser and jump straight into the detailed design based on the predesign.
Why? The conversations were relatively uncontroversial, the feature is relatively simple, and alternatives (in the above comments) were dismissed during the predesign when we settled on a 3rd party API path. Additionally, people are quite busy at the moment with more important docs and ECX. So, to make this "worth it" I'm following the process slightly more loosely than usual and working with Software Mansion on the implementation.
What does it mean exactly? We're still going to use the Design Doc template to plan this project. But possibly will jump to the implementation if there's no major pushback on the general plan.

Currently looking into the https://microlink.io API service.
Going to start by setting up a free endpoint for @wojtus7 to test with.

Endpoint is on production now. Going to reach out via Slack with more details.

@wojtus7 from SWM left a status update here and is working on this. It's looking pretty good.

Triggered auto assignment to @strepanier03 (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero process steps for feature requests for more details.

Will start working on this tomorrow, missed it in my k2.

Oh actually @strepanier03 we are well underway with the feature. I added the label for posterity, but we are good on the triage front! 🙇

This is still in development

We've got a PR up now where we are exploring this addition
https://github.com/Expensify/App/pull/17288

I have read and reviewed this Design Doc!

I think the latest update is here: https://expensify.slack.com/archives/C04878MDF34/p1683241460982269
I saw the PR was recently updated by @wojtus7 so perhaps we will make some progress there soon?

Just a heads up, I'm going to be OOO from May 23rd to May 30th. I noticed that @AndrewGable is also assigned to the review though so feel free to proceed without me if you have time in your schedule - otherwise, I'll review when I get back!

Quickly chiming in on that last comment, I think this one is fine to let this one go while you're on vacay. This is primarily a polish item within the app.

@sakluger - I am heading out on sabbatical and this GH won't be resolved and ready for any BZ action until after I'm already gone.
Thank you for taking it over. For now it's just monitoring and waiting for this to be ready for a BZ to take any action.

Hi
Since Link Preview was merged I think much needed follow up is feature to hide previews. But hiding them only in the component itself seems strange since user would need to hide unwanted preview every single time when entering the chat.
@marcaaron do you think we can create some API call with reportActionID and links that shouldn't be returned in preview info response? That way we can hide it for everyone in conversation.
But that also create problem of who can hide previews etc.
Or should I hide them for now locally using something like async storage?

@strepanier03 @marcaaron just confirming that I don't need to take any action here, right? Do you anticipate me needing to take any action at any point?

Gonna drop this to a weekly. I won't be able to prioritize it at a Daily frequency until sometime next week.

FYI this PR https://github.com/Expensify/App/pull/17288 had this bug https://github.com/Expensify/App/issues/21368 (I already sent a PR for it)

Thanks for assigning @iwiznia

Adding the API keys here -> https://github.com/Expensify/Web-Expensify/pull/38045/files
This should fix the rate limiting. And then we can move on to the CSP issues - which are unexpected and I am not entirely sure how to solve yet.

Link previews are live now 🎉  But we still need to:

[ ] Figure out the CSP issues on web
[ ] Implement a new command to hide the link preview
[ ] Hook up the front end for hiding the link preview

@marcaaron what's the latest on this one?

Don't have much to report other than...

We have slowly been bumping up the rate limit for the Microlink API to handle the current capacity
Web is still broken because of CSP issues I haven't had time to look into
We are discussing implementing a "hide" feature
Overall this is a lower priority project that is blocked on a couple of Internal issues that I'll get to whenever I get to them.

This is probably more of a monthly for me than a weekly at this point.

This is kind of on perpetual HOLD at the moment. The feature was not useful enough and annoyed people. So, we disabled it temporarily to prioritize some more valuable features. We will probably return to improve it at some point in the future. But not yet.

Cool. I see the issue also mentions that it is disabled. So, we can fix it if/when we re-enable it. I maybe wouldn't spend much time on this.

In order to roll back out, I think we'll need some more design discussions and rework of the feature. With our current focus on N5-9, should we close the issue and revisit at a later date, or should we leave the issue open and on hold indefinitely?

Yes, let's be honest. This was a bit of a failure to pre-design some things. But we have some code in hand - which ain't the worst situation to be in 😄
Could end up in a vip, but unlikely a wave. I am fine with holding it until we decide it doesn't belong in any waves or VIPs.
That said, we know we will need it. It needs a design doc so we can properly plan hiding link previews and other edge cases (I am happy to help write that eventually or help someone else write it). It feels like a "must have" for vsb chat adoption to me.

Actually let's just close this. It's distracting. We can reopen this conversation later. I'm going to keep the Project with all the issues open for now.


Add create milestone

Add milestone create functionality
Detailed Description

https://developer.github.com/v3/issues/milestones/#create-a-milestone
Context

automate milestone creation

Possible Implementation

use same free algebra as other api resources

this was done in #391, closing.


refactor: Generalise the rearrangement inequality

[x] depends on: #13950
[x] depends on: #15813
[x] depends on: #15814
[x] depends on: #16940

Please also make sure your title follows our community convention: https://leanprover-community.github.io/contribute/commit.html

bors merge


Cannot use variables in .code-workspace files

VSCode Version: 1.37.1
OS Version: Windows 10 (10.0.18362)

Does this issue occur when all extensions are disabled?: Yes
I am trying to make my .code-workspace file agnostic of the PC on which I open it. I wanted to use %USERPROFILE%\.ssh that should resolve to C:\Users\myusername\.ssh, but it doesn't work.
VSCode says %USERPROFILE%\.ssh - Can not resolve workspace folder
I tried using ${env:USERPROFILE} as described here
I tried lower case, tried upper case.
I tried escaping \%
I tried other variable names that would have a single value (rather than path), like ${env:USERNAME}
Nothing seems to work

Variables are just not supported in workspace files.

Variables are just not supported in workspace files.

Is there a way to change this to a feature request then?


couldn't find the libiridescence.so file

Hello, thank you for open-sourcing this amazing work. I have been studying your algorithms recently, and I have a few questions:

When I run the command sh mias_lcec.sh, I encountered the following error:
/home/ros2/lcec_ws/src/MIAS-LCEC/bin/C/zvision: error while loading shared libraries: libiridescence.so: cannot open shared object file: No such file or directory.
I tried searching, but I couldn't find the libiridescence.so file anywhere.

When studying the C3M and zvision parts, I noticed that the underlying code for these parts is not available for viewing. Decompiling the .so files is quite cumbersome, but I am eager to understand how the algorithms are implemented in these parts.

Looking forward to your reply.

如果报错libgtsam.so.4或iridescene.so找不到。原因是gtsam库装在了/usr/local/lib中，而软件只会去/usr/lib中寻找。按如下方式解决
1）用vim打开ld.so.conf, 按i进入插入模式，再最后增加/usr/local/lib,按esc退出编辑，并按“：wq”保存并退出。
sudo vim /etc/ld.so.conf

把新共享库目录加入到共享库配置文件/etc/ld.so.conf中

sudo /sbin/ldconfig -v

发件人: liangpenglin0604 @.>
发送时间: 2024年11月24日 12:28
收件人: ZWhuang666/MIAS-LCEC @.>
抄送: Subscribed @.***>
主题: [ZWhuang666/MIAS-LCEC] couldn't find the libiridescence.so file (Issue #4)
Hello, thank you for open-sourcing this amazing work. I have been studying your algorithms recently, and I have a few questions:

When I run the command sh mias_lcec.sh, I encountered the following error:
/home/ros2/lcec_ws/src/MIAS-LCEC/bin/C/zvision: error while loading shared libraries: libiridescence.so: cannot open shared object file: No such file or directory.
I tried searching, but I couldn't find the libiridescence.so file anywhere.

When studying the C3M and zvision parts, I noticed that the underlying code for these parts is not available for viewing. Decompiling the .so files is quite cumbersome, but I am eager to understand how the algorithms are implemented in these parts.

Looking forward to your reply.
―
Reply to this email directly, view it on GitHubhttps://github.com/ZWhuang666/MIAS-LCEC/issues/4, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3YGXAOQS3A2JJY7ZWTGGJT2CHA7NAVCNFSM6AAAAABSMFVUGSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGY4DONRWGQZDKMQ.
You are receiving this because you are subscribed to this thread.


print chinese

Excuse me, I use Chinese to print, the result is scrambled code, how to solve?

i have the same problem，please give me help

自己改插件改好了，关了


migration to new OIDCOP ver 2.x

updated proxy.conf for new frontend
updated frontend configurazion
update run.sh for docker configuration

Hi @scolagreco , I have updated run.sh, you can check the docker configuration work fine?

@MdreW I think that's time to drop my forks here
https://github.com/italia/Satosa-Saml2Spid/blob/master/requirements.txt
it seems to me that both satosa and pysaml2 can now be used as they are release in the mainline. this requires tests anyway but spid-sp-test would help in CI for that
I'd also suggest to put the versions of the packages if you agree.
hint: don't use == but always >= and/or <= like >=2.1.0,<=2.2.0

Ok, @peppelinux , I try to remove your fork and we try to make a single new version :+1:

Hi @peppelinux , I have moved Satosa requirement to official package and I have removed pysaml requirements because si part of Satosa requirements.

Minimum satosa version is set to 8.2.0
Minimum oidcop version is set to 2.0.0

@peppelinux, what do you think? Is time for a new release?


Delete /api/domain doesn't work

Received a 200 but the domain wasn't deleted in the postgres DB. No exception

Does not delete users either. No exception thrown

Fixed in c74ea5c


Changes to use special writeUTF and readUTF to handle strings larger …

…than 64k. Fixes GetFileAsString api call if file is larger than 64k

I think a cleaner way to fix this that avoids duplicating more of the writeUTF/readUTF logic is to just use the MyDataOutput class that already exists in this file where the writing is done in place of the 'new java.io.DataOutputStream' calls. And then take the anonymous class at line 188 and make that MyDataInput and then use that in place of all the 'new java.io.DataInputStream calls'.
Or maybe there's some reason why I didn't do that before....but if there is I can't remember why right now. :)  Let me know what you think.

I thought so too but MyDataOutput and the code at 188 seem to change a lot more than just write/readUTF and I have NO familiarity with this type of byte code so I was not sure if it may break more than I was aiming to fix.  I could give it a try if you think that the risk is worth it as I am not sure what all uses this code nor what tests to perform to validate I did not break other things.
Thoughts?

I just compared those two classes in the SageTVConnection class to what is in the JDK source code and they're doing the exact same thing except for the modified techniques we have for read/writeUTF. So I think it's totally safe to do what I was suggesting. :)  I know this code very well, so I'd be able to spot anything wrong in the code review (although, please run a test by executing it after you build it to make sure it does actually work fine and fixes the original problem). Sound good?

Sounds good.  I will take another shot at it and test then post the results.
Thanks

I have tested this with a windows client connected to a windows server as well as a linux server as well as tested the specific case in Gemstone that was failing previously with larger than 64k files and all those tests pass.


Recursion in abstract clafers results in additonal spurious instances.

Bug Report
Consider the following abstract clafer:
abstract A
    elems -> A *

Note that the abstract clafer A is defined recursively: elems references a set of elements from A.
How many instances do we expect  coming out of the following concrete clafer definitions?
C1 : A
    [elems = C2, C3]

C2 : A
    [no elems]

C3 : A
    [no elems]

Since we do not care about the order of elements in a set, the answer is one. However, chocosolver generates two instances:
Compiling the Clafer model...
Instantiating...
=== Instance 1 Begin ===

c0_C1 : c0_A
  c0_elems -> c0_A = c0_C2
  c0_elems$1 -> c0_A = c0_C3
c0_C2 : c0_A
c0_C3 : c0_A

--- Instance 1 End ---

=== Instance 2 Begin ===

c0_C1 : c0_A
  c0_elems -> c0_A = c0_C3
  c0_elems$1 -> c0_A = c0_C2
c0_C2 : c0_A
c0_C3 : c0_A

--- Instance 2 End ---

Generated 2 instance(s) within the scope

Indeed, it turns out that an instance is generated for each permutation of elements within elems. I.e., if we assumed a similar constraint [elems = C2, C3, C4, C5], 24 instances would be generated (factorial of 4).
We note that this behavior is not observed if we move the recursion into the concrete clafer(s) C<N>:
abstract A

C1 : A
  elems -> A *
  [elems = C2, C3]
C2 : A
C3 : A

Here, we obtain only one single instance, as expected:
Compiling the Clafer model...
Instantiating...
=== Instance 1 Begin ===

c0_C1 : c0_A
  c0_elems -> c0_A = c0_C2
  c0_elems$1 -> c0_A = c0_C3
c0_C2 : c0_A
c0_C3 : c0_A

--- Instance 1 End ---

Generated 1 instance(s) within the scope

My hunch is that chocosovler somehow fails to establish means to order and canonically represent sets when recursion is present in abstract clafers, as exemplified above. The key problem due to this bug/glitch is that we may end up with a lot of redundant instances depending on the model, causing imminent scalability issues that can effectively make chocosolver unusable.
A current work-around is to refactor any such model to avoid recursion in abstract clafer definitions (i.e., moving them into concrete subclafers). But this creates verbosity and also prevents us from generically specifying properties and constraints at the abstract level that we may otherwise like to capture, so it is not a satisfactory solution.

It seems to me that symmetry breaking works correctly in the "concrete" case but not in the "abstract" case.
This case works correctly:
abstract A
  elems -> B *

abstract B

b1 : B
b2 : B

@Frank-Zeyda  unfortunately, I have no clue how to fix this bug in the solver. The only person who might help would be the original developer Jimmy Liang @JLiangWaterloo
If you're trying to fix it yourselves, look into the symmetry breaking parts of the code.


Console launch --logout-first fails on first command

First, thanks for this tool! It makes shortcuts into the various AWS consoles MUCH better!
I have setup shortcuts / aliases for all the accounts I regularly log into, and they look like this:
aws-sso-util console launch --sso-start-url https://<my url> --sso-region us-east-1 --account-id <my account id> --role-name <my role> --region us-east-1 --logout-first

I have also tried it with the environment variable, but the same is true.
However, the first time i run this (if I am already logged into another account), it takes me to the "you have to logout first" page.  If I then run it again, it works, but it always fails the first time.
Thanks!

It also appears that every time it DOES work, my browser opens up a second tab to this page: https://aws.amazon.com/premiumsupport/knowledge-center/sign-out-account/